இந்த இடுகையில், வன்பொருள் பாதுகாப்பு விசைகளை ஆஃப்லைனில் பயன்படுத்தி SSH ஹோஸ்ட்களுக்கான அவசர அணுகலுக்கான செயல்முறையை நாங்கள் உருவாக்குவோம். இது ஒரு அணுகுமுறை மட்டுமே, உங்கள் தேவைகளுக்கு ஏற்ப அதை மாற்றிக்கொள்ளலாம். எங்கள் ஹோஸ்ட்களுக்கான SSH சான்றிதழ் அதிகாரத்தை வன்பொருள் பாதுகாப்பு விசையில் சேமிப்போம். ஒற்றை உள்நுழைவுடன் கூடிய SSH உட்பட, ஏறக்குறைய எந்த OpenSSH இலும் இந்தத் திட்டம் செயல்படும்.
இதெல்லாம் எதற்கு? சரி, இது ஒரு கடைசி ரிசார்ட் விருப்பம். இது ஒரு பின்கதவாகும், இது சில காரணங்களால் வேறு எதுவும் செயல்படாதபோது உங்கள் சேவையகத்திற்கான அணுகலைப் பெற உங்களை அனுமதிக்கும்.
அவசரகால அணுகலுக்கு பொது/தனியார் விசைகளுக்குப் பதிலாக சான்றிதழ்களை ஏன் பயன்படுத்த வேண்டும்?
- பொது விசைகளைப் போலன்றி, சான்றிதழ்கள் மிகக் குறுகிய ஆயுளைக் கொண்டிருக்கும். நீங்கள் 1 நிமிடம் அல்லது 5 வினாடிகளுக்கு செல்லுபடியாகும் சான்றிதழை உருவாக்கலாம். இந்த காலத்திற்குப் பிறகு, புதிய இணைப்புகளுக்கு சான்றிதழ் பயன்படுத்த முடியாததாகிவிடும். அவசரகால அணுகலுக்கு இது சிறந்தது.
- உங்கள் ஹோஸ்ட்களில் உள்ள எந்தவொரு கணக்கிற்கும் நீங்கள் ஒரு சான்றிதழை உருவாக்கலாம் மற்றும் தேவைப்பட்டால், அத்தகைய "ஒரு முறை" சான்றிதழ்களை சக ஊழியர்களுக்கு அனுப்பலாம்.
உங்களுக்கு என்ன தேவை
- குடியிருப்பு விசைகளை ஆதரிக்கும் வன்பொருள் பாதுகாப்பு விசைகள்.
ரெசிடென்ட் கீகள் என்பது கிரிப்டோகிராஃபிக் விசைகள், அவை முழுவதுமாக பாதுகாப்பு விசையில் சேமிக்கப்படும். சில நேரங்களில் அவை எண்ணெழுத்து PIN மூலம் பாதுகாக்கப்படும். பாதுகாப்பு விசையின் பொதுப் பகுதியை தனிப்பட்ட விசை கைப்பிடியுடன் சேர்த்து, பாதுகாப்பு விசையிலிருந்து ஏற்றுமதி செய்யலாம். எடுத்துக்காட்டாக, யூபிகே 5 சீரிஸ் யூ.எஸ்.பி விசைகள் குடியுரிமை விசைகளை ஆதரிக்கின்றன. அவை ஹோஸ்டுக்கான அவசர அணுகலுக்காக மட்டுமே பயன்படுத்தப்படுவது நல்லது. இந்த இடுகைக்கு நான் ஒரு விசையை மட்டுமே பயன்படுத்துவேன், ஆனால் காப்புப்பிரதிக்கு நீங்கள் கூடுதலாக ஒன்றை வைத்திருக்க வேண்டும். - அந்த விசைகளை சேமிக்க ஒரு பாதுகாப்பான இடம்.
- OpenSSH பதிப்பு 8.2 அல்லது அதற்கு மேற்பட்டது உங்கள் உள்ளூர் கணினியிலும், நீங்கள் அவசரகால அணுகலைப் பெற விரும்பும் சேவையகங்களிலும். உபுண்டு 20.04 OpenSSH 8.2 உடன் அனுப்பப்படுகிறது.
- (விரும்பினால், ஆனால் பரிந்துரைக்கப்படுகிறது) சான்றிதழ்களைச் சரிபார்ப்பதற்கான CLI கருவி.
பயிற்சி
முதலில், வன்பொருள் பாதுகாப்பு விசையில் அமைந்துள்ள ஒரு சான்றிதழ் அதிகாரத்தை நீங்கள் உருவாக்க வேண்டும். விசையைச் செருகவும் மற்றும் இயக்கவும்:
$ ssh-keygen -t ecdsa-sk -f sk-user-ca -O resident -C [security key ID]
ஒரு கருத்து (-C) என நான் குறிப்பிட்டேன் [மின்னஞ்சல் பாதுகாக்கப்பட்டது]இந்தச் சான்றிதழ் அதிகாரம் எந்தப் பாதுகாப்புச் சாவியைச் சேர்ந்தது என்பதை நீங்கள் மறந்துவிடாதீர்கள்.
Yubikey இல் விசையைச் சேர்ப்பதுடன், இரண்டு கோப்புகள் உள்நாட்டில் உருவாக்கப்படும்:
- sk-user-ca, பாதுகாப்பு விசையில் சேமிக்கப்பட்ட தனிப்பட்ட விசையைக் குறிக்கும் ஒரு முக்கிய கைப்பிடி,
- sk-user-ca.pub, இது உங்கள் சான்றிதழ் அதிகாரத்திற்கான பொது விசையாக இருக்கும்.
ஆனால் கவலைப்பட வேண்டாம், மீட்டெடுக்க முடியாத மற்றொரு தனிப்பட்ட விசையை Yubikey சேமிக்கிறது. எனவே, இங்கே எல்லாம் நம்பகமானது.
ஹோஸ்ட்களில், ரூட்டாக, உங்கள் SSHD உள்ளமைவில் (/etc/ssh/sshd_config) பின்வருவனவற்றைச் சேர்க்கவும் (ஏற்கனவே இல்லை என்றால்):
TrustedUserCAKeys /etc/ssh/ca.pub
பின்னர் ஹோஸ்டில், பொது விசையை (sk-user-ca.pub) /etc/ssh/ca.pub இல் சேர்க்கவும்
டீமனை மீண்டும் தொடங்கவும்:
# /etc/init.d/ssh restart
இப்போது நாம் ஹோஸ்டை அணுக முயற்சி செய்யலாம். ஆனால் முதலில் எங்களுக்கு ஒரு சான்றிதழ் தேவை. சான்றிதழுடன் தொடர்புடைய ஒரு முக்கிய ஜோடியை உருவாக்கவும்:
$ ssh-keygen -t ecdsa -f emergency
சான்றிதழ்கள் மற்றும் SSH ஜோடிகள்
சில நேரங்களில் பொது/தனியார் விசை ஜோடிக்கு மாற்றாக சான்றிதழைப் பயன்படுத்தத் தூண்டுகிறது. ஆனால் ஒரு பயனரை அங்கீகரிக்க ஒரு சான்றிதழ் மட்டும் போதாது. ஒவ்வொரு சான்றிதழும் அதனுடன் தொடர்புடைய தனிப்பட்ட விசையையும் கொண்டுள்ளது. இதனால்தான் சான்றிதழை வழங்குவதற்கு முன் இந்த "அவசர" விசை ஜோடியை உருவாக்க வேண்டும். முக்கியமான விஷயம் என்னவென்றால், நாங்கள் கையொப்பமிடப்பட்ட சான்றிதழை சேவையகத்திற்குக் காண்பிப்போம், இது எங்களிடம் தனிப்பட்ட விசையை வைத்திருக்கும் முக்கிய ஜோடியைக் குறிக்கிறது.எனவே பொது விசை பரிமாற்றம் இன்னும் உயிருடன் உள்ளது. இது சான்றிதழ்களுடன் கூட வேலை செய்கிறது. சர்வர் பொது விசைகளை சேமிப்பதற்கான தேவையை சான்றிதழ்கள் நீக்குகின்றன.
அடுத்து, சான்றிதழை உருவாக்கவும். எனக்கு 10 நிமிட இடைவெளியில் உபுண்டு பயனர் அங்கீகாரம் தேவை. நீங்கள் அதை உங்கள் வழியில் செய்யலாம்.
$ ssh-keygen -s sk-user-ca -I test-key -n ubuntu -V -5m:+5m emergency
உங்கள் கைரேகையைப் பயன்படுத்தி சான்றிதழில் கையொப்பமிடும்படி கேட்கப்படுவீர்கள். காற்புள்ளிகளால் பிரிக்கப்பட்ட கூடுதல் பயனர்பெயர்களைச் சேர்க்கலாம், எடுத்துக்காட்டாக -n ubuntu,carl,ec2-user
அவ்வளவுதான், இப்போது உங்களிடம் ஒரு சான்றிதழ்! அடுத்து நீங்கள் சரியான அனுமதிகளைக் குறிப்பிட வேண்டும்:
$ chmod 600 emergency-cert.pub
இதற்குப் பிறகு, உங்கள் சான்றிதழின் உள்ளடக்கங்களை நீங்கள் பார்க்கலாம்:
$ step ssh inspect emergency-cert.pub
என்னுடையது இது போல் தெரிகிறது:
emergency-cert.pub
Type: [email protected] user certificate
Public key: ECDSA-CERT SHA256:EJSfzfQv1UK44/LOKhBbuh5oRMqxXGBSr+UAzA7cork
Signing CA: SK-ECDSA SHA256:kLJ7xfTTPQN0G/IF2cq5TB3EitaV4k3XczcBZcLPQ0E
Key ID: "test-key"
Serial: 0
Valid: from 2020-06-24T16:53:03 to 2020-06-24T17:03:03
Principals:
ubuntu
Critical Options: (none)
Extensions:
permit-X11-forwarding
permit-agent-forwarding
permit-port-forwarding
permit-pty
permit-user-rc
இங்கே பொது விசை என்பது நாங்கள் உருவாக்கிய அவசர விசையாகும், மேலும் sk-user-ca என்பது சான்றிதழ் அதிகாரத்துடன் தொடர்புடையது.
இறுதியாக SSH கட்டளையை இயக்க தயாராக உள்ளோம்:
$ ssh -i emergency ubuntu@my-hostname
ubuntu@my-hostname:~$
- உங்கள் சான்றிதழ் அதிகாரத்தை நம்பும் ஹோஸ்டில் உள்ள எந்தவொரு பயனருக்கும் இப்போது நீங்கள் சான்றிதழ்களை உருவாக்கலாம்.
- நீங்கள் அவசரநிலையை அகற்றலாம். நீங்கள் sk-user-ca ஐச் சேமிக்கலாம், ஆனால் அது பாதுகாப்பு விசையில் இருப்பதால் நீங்கள் அதைச் சேமிக்க வேண்டியதில்லை. நீங்கள் அவசரகால அணுகலுக்குப் பயன்படுத்தினால், அசல் PEM பொது விசையை உங்கள் ஹோஸ்ட்களில் இருந்து அகற்ற விரும்பலாம் (உதாரணமாக உபுண்டு பயனருக்கான ~/.ssh/authorized_keys இல்).
அவசர அணுகல்: செயல் திட்டம்
பாதுகாப்பு விசையை ஒட்டவும் மற்றும் கட்டளையை இயக்கவும்:
$ ssh-add -K
இது சான்றிதழ் ஆணையத்தின் பொது விசை மற்றும் முக்கிய விளக்கத்தை SSH முகவருடன் சேர்க்கும்.
இப்போது சான்றிதழை உருவாக்க பொது விசையை ஏற்றுமதி செய்யவும்:
$ ssh-add -L | tail -1 > sk-user-ca.pub
காலாவதி தேதியுடன் ஒரு சான்றிதழை உருவாக்கவும், எடுத்துக்காட்டாக, ஒரு மணி நேரத்திற்கு மேல் இல்லை:
$ ssh-keygen -t ecdsa -f emergency
$ ssh-keygen -Us sk-user-ca.pub -I test-key -n [username] -V -5m:+60m emergency
$ chmod 600 emergency-cert.pub
இப்போது மீண்டும் SSH:
$ ssh -i emergency username@host
உங்கள் .ssh/config கோப்பு இணைக்கும்போது சில சிக்கல்களை ஏற்படுத்தினால், அதைத் தவிர்க்க -F none விருப்பத்துடன் ssh ஐ இயக்கலாம். நீங்கள் ஒரு சக ஊழியருக்கு சான்றிதழை அனுப்ப வேண்டும் என்றால், எளிதான மற்றும் பாதுகாப்பான விருப்பம்
இந்த அணுகுமுறையில் நான் விரும்புவது வன்பொருள் ஆதரவு. உங்கள் பாதுகாப்பு விசைகளை பாதுகாப்பாக வைக்கலாம், அவை எங்கும் செல்லாது.
விளம்பரம் உரிமைகள் மீது
காவிய சேவையகங்கள் - அது
ஆதாரம்: www.habr.com