ஒரு OpenVPN வாடிக்கையாளரை இடைநிறுத்துதல்: ரத்து ஏன் தவறான நெம்புகோல்
அமர்வைக் கொல்வது மீளக்கூடியது; சான்றிதழை ரத்து செய்வது அல்ல. வழக்கிற்கு எந்த நெம்புகோல் தேவை என்பதை முடிவு செய்து, பொருந்தும்போது மட்டும் CRLஐ மீண்டும் உருவாக்குங்கள்.
ஒரு வாடிக்கையாளரின் அணுகலை இடைநிறுத்துவதும் அவரை நிரந்தரமாக நீக்குவதும் ஒரே வேலையாகத் தோன்றும், அவற்றில் ஒன்றை மீட்க முயற்சிக்கும் வரை. சான்றிதழை ரத்து செய்வது சேவையகம் இறுதியானதாகக் கருதும் ஒரு பதிவை எழுதுகிறது, அதை மீட்பது என்பது வழங்குநரின் தரவுத்தளத்தை கையால் திருத்துவதாகும். இயங்கும் சுரங்கத்தை விடுவிப்பது நம்பிக்கையில் எதையும் மாற்றாத நிர்வாகக் கட்டளை. விசை இன்னும் நம்பகமானதா என்று கேட்டு நெம்புகோலைத் தேர்ந்தெடுங்கள், கோரிக்கை எவ்வளவு அவசரமாகத் தோன்றுகிறது என்று கேட்டு அல்ல.
நம்பிக்கை: ரத்து செய்யப்பட்டதும் இடைநிறுத்தப்பட்டதும் ஒன்றே
ஒரு ஒப்பந்தக்காரர் ஒரு வாரம் இடைநிறுத்தப்படுகிறார், முதல் பிரதிபலிப்பு ரத்து செய்வதாக இருக்கிறது, ஏனெனில் ரத்து என்பது ஏதோ ஒன்றை அணைப்பது போலக் கேட்கிறது. அது ஒழுங்காகத் தெரிகிறது, பத்து வினாடிகள் எடுக்கிறது, மீள்வதற்கான ஒரே வழியாக தரவுத்தளத் திருத்தத்தை விட்டுச் செல்கிறது. இந்தப் பிரதிபலிப்பு புரிந்துகொள்ளக்கூடியது, அது கதவை மூடுவதை விட கடவுச்சீட்டை எரிப்பதற்கு நெருக்கமானது. இடைநிறுத்தப்பட்ட சாதனத்திற்கும் வெளிப்பட்ட விசைக்கும் வெவ்வேறு அணுகுமுறை தேவை, அவற்றில் ஒன்றை மட்டுமே மலிவாக மீட்க முடியும்.
வேறுபாடு நபரைப் பற்றியது அல்ல, அடையாளச் சான்றைப் பற்றியது. சரியான கைகளில் இருக்கும் விசையை நம்பிக்கை இழக்காமல் இடைநிறுத்தி மீண்டும் தொடங்கலாம். நகலெடுக்கப்பட்டிருக்கக்கூடிய விசையை ஒருபோதும் மீட்டெடுக்கக் கூடாது, ஏனெனில் மீட்டெடுப்பு நகல் இல்லை என்று கூறுகிறது.
இரண்டு அமைப்புகளில் எதையும் தொடுவதற்கு முன் பதிலை எழுதுங்கள். விசை வெளிப்பட்டதா எனச் சொல்ல முடியாவிட்டால், பழமைவாத பதில் மாற்றீடு.
நிர்வாக இடைமுகத்துடன் இயங்கும் அமர்வை விடுங்கள்
OpenVPN அமர்வுகளைப் பட்டியலிட்டு அவற்றில் ஒன்றை பொதுப் பெயரால் கொல்லக்கூடிய நிர்வாக இடைமுகத்தை வழங்குகிறது. அதை localhost இல் இயக்கி, பொது இடைமுகத்திலிருந்து தள்ளி வைத்து, அமர்வு இப்போதே மறைய வேண்டியிருக்கும்போது கொலைக் கட்டளையை அனுப்புங்கள். கட்டளை அந்தச் சுரங்கத்தை மட்டுமே மூடுகிறது, மற்ற ஒவ்வொரு வாடிக்கையாளரும் தொடர்ந்து செயல்படுகிறார்.
இது செயலில் உள்ள சிக்கலுக்கான பதில், இடைநிறுத்தக் கொள்கை அல்ல. அதே விவரக்குறிப்பு ஒரு நிமிடத்தில் மீண்டும் இணையலாம், ஏனெனில் அதன் அடையாளச் சான்றில் எதுவும் மாறவில்லை. அமர்வு செல்ல வேண்டியிருக்கும் போதும் நீடித்த முடிவு இன்னும் எடுக்கப்பட்டுக்கொண்டிருக்கும் போதும் இதைப் பயன்படுத்துங்கள்.
கொல்வதற்கு முன் அமர்வு இணைக்கப்பட்டிருந்ததை உறுதிப்படுத்துங்கள், ஒருபோதும் இணைக்காத வாடிக்கையாளரைத் தேடாமல் இருக்க. கீழே உள்ள நிலைக் கட்டளை இப்போது இணைக்கப்பட்டிருப்பதை அச்சிடுகிறது.
printf 'status 2\nquit\n' | nc 127.0.0.1 7506
printf 'kill kiosk-14\nquit\n' | nc 127.0.0.1 7506கொலைக் கட்டளை அப்படிப்பட்ட வாடிக்கையாளர் இல்லை என்று தெரிவித்தால், சான்றிதழில் உள்ள பொதுப் பெயர் நீங்கள் தட்டச்சு செய்த சரம் அல்ல. விவரக்குறிப்பு கோப்பின் பெயருக்குப் பதிலாக நிலை வெளியீட்டைப் படியுங்கள்.
CRL உண்மையில் கட்டுப்படுத்துவது என்ன
சேவையகம் சான்றிதழில் சேமிக்கப்பட்ட ரத்து கொடியைப் பார்க்காது. crl-verify இல் பெயரிடப்பட்ட சான்றிதழ் ரத்துப் பட்டியலை ஒவ்வொரு புதிய இணைப்பிலும் படித்து, அந்தப் பட்டியலில் வரிசை எண் உள்ள சான்றிதழை நிராகரிக்கிறது. அதிலிருந்து இரண்டு விளைவுகள் வருகின்றன, இரண்டும் செயல்பாட்டு ரீதியாக முக்கியம். கோப்பு சேவையகம் தன் சிறப்புரிமைகளை விட்டுக்கொடுக்கும் கணக்கிற்குப் படிக்கக்கூடியதாக இருக்க வேண்டும், ஏற்கனவே இணைக்கப்பட்ட வாடிக்கையாளர் மீண்டும் இணையும் வரை தொடர்ந்து இயங்கும்.
இரண்டாவது விளைவு சம்பவங்களின் போது மக்களை வியப்பில் ஆழ்த்துகிறது. சான்றிதழை ரத்து செய்வது இப்போது அதைப் பயன்படுத்தும் சுரங்கத்தை மூடாது. அமர்வு உடனடியாக முடிய வேண்டுமானால் ரத்தை நிர்வாகக் கொலையுடன் இணையுங்கள், இரண்டு செயல்களையும் கையேட்டில் தனித்தனி படிகளாகக் கருதுங்கள்.
சேவையகம் உண்மையில் எதைச் செயல்படுத்தும் என்பதைப் பார்க்க பட்டியலை ஆய்வு செய்யுங்கள், நீங்கள் நகலெடுத்த கடைசி கோப்பின் நேர முத்திரையை நம்புவதற்குப் பதிலாக. முக்கியமான பகுதி வரிசை எண்களின் எண்ணிக்கை.
openssl crl -in /etc/openvpn/server/crl.pem -noout -text | sed -n '1,14p'
ls -l /etc/openvpn/server/crl.pemபதிவுகள் இல்லாத பட்டியலும் சரியான பதிவுகள் உள்ள பட்டியலும் அடைவுப் பட்டியலில் ஒரே மாதிரியாகத் தெரிகின்றன, அதனால் வரிசை எண்களின் எண்ணிக்கையை அச்சிடுவது பயனுள்ளது. அனுமதி வரியும் அதே அளவு முக்கியம், ஏனெனில் டீமன் படிக்க முடியாத கோப்பு நிராகரிக்கப்பட்ட வாடிக்கையாளரைப் போலத் தோன்றும் தோல்வியை உருவாக்குகிறது.
ஒரு பதிவை மீட்டெடுத்தல், கவனமாக
சான்றிதழை மீட்டெடுப்பது என்பது வழங்கல் தரவுத்தளத்தில் ஒரு பதிவைப் புரட்டி புதிய பட்டியலை வெளியிடுவதாகும். easy-rsa 3 அந்தத் தரவுத்தளத்தை PKI அடைவின் கீழ் index.txt ஆக வைத்திருக்கிறது, பழைய ஏற்பாடுகள் வேறு முறையைப் பயன்படுத்தின. ஒரு வரி நிலை எழுத்து மற்றும் காலாவதி தேதியுடன் தொடங்குகிறது. ரத்து செய்யப்பட்ட வரி, வரிசை எண், சான்றிதழ் கோப்பின் பெயர் மற்றும் தனிச்சிறப்புப் பெயருடன் தொடர்வதற்கு முன் ரத்துக்கான நேர முத்திரையைச் செருகுகிறது. வரியைத் திரும்ப வைப்பது என்பது அந்த நேர முத்திரையை நீக்கி எழுத்தைப் புரட்டுவது, மற்ற அனைத்தையும் அப்படியே விடுவது.
முதலில் கோப்பின் காப்புப்பிரதியை எடுத்து, திருத்தத்தை உரை திருத்தியில் தட்டச்சு செய்வதற்குப் பதிலாக ஸ்கிரிப்டாகச் செய்யுங்கள். ஒரு வரியில் எத்தனை புலங்கள் உள்ளன என்பதை மாற்றும் தட்டச்சுப் பிழை பின்னர் சேர்க்கப்படும் ஒவ்வொரு சான்றிதழின் வழங்கலையும் உடைக்கிறது. அதனால்தான் மாற்றத்தை தானியங்குபடுத்தி தொடுவதற்கு முன் கோப்பை நகலெடுக்க வேண்டும்.
அதே பெயரின் இரண்டாவது ரத்தும் பல நேரங்களில் தோல்வியடைகிறது, ஏனெனில் முதல் ஓட்டம் அந்தச் சான்றிதழையும் அதன் விசையையும் கருவி எதிர்பார்க்கும் அடைவுகளுக்கு வெளியே நகர்த்தியது. பின்னர் கருவி ரத்து செய்யச் சொல்லப்பட்டதைக் கண்டுபிடிக்க முடியாது, பிழைச் செய்தி ஏன் என்று எப்போதும் தெளிவாகக் கூறுவதில்லை.
cp /etc/easy-rsa/pki/index.txt /root/index.txt.$(date +%F-%H%M)
grep -c '^R' /etc/easy-rsa/pki/index.txt
easyrsa gen-crlபுதிய பட்டியலை வெளியிடுங்கள், அதன் உரிமையைச் சரிசெய்து, சேவையகம் அதைப் படிக்கச் செய்யுங்கள். பெரும்பாலான நிறுவல்களில் மீள்ஏற்றம் போதும், ஆனால் உறுதிப்படுத்தல் புதிய இணைப்பிலிருந்து வர வேண்டும், ஏனெனில் இருக்கும் அமர்வு எதையும் மீண்டும் சரிபார்க்கவில்லை.
வழக்கு எந்த நெம்புகோலுக்குத் தகுதியானது என்பதைச் சரிபாருங்கள்
முழு கையேட்டையும் தீர்மானிக்கும் ஒரே கேள்வியைக் கேளுங்கள்: தனிப்பட்ட விசை இன்னும் இருக்க வேண்டிய இடத்தில் மட்டுமே உள்ளதா. ஆம் எனில், அமர்வைக் கொல்வதும் ஆவணப்படுத்தப்பட்ட இடைவேளையும் வழக்கை மூடுகின்றன, நிரந்தரப் பதிவை விட்டுச் செல்லவில்லை. இல்லை எனில், ஒரே பாதுகாப்பான பதில் புதிய விசை, பழைய சான்றிதழ் ரத்து செய்யப்பட்ட நிலையில் இருக்கும்.
பின்னர் முடிவை உள்ளமைப்பு வேறுபாட்டால் அல்ல, இணைப்பு முயற்சியால் சரிபாருங்கள். வேறுபாடு நீங்கள் எதை நோக்கியிருந்தீர்கள் என்பதைக் கூறுகிறது, இணைப்பு சேவையகம் எதைச் செயல்படுத்துகிறது என்பதைக் கூறுகிறது.
openssl crl -in /etc/openvpn/server/crl.pem -noout -text | grep -c 'Serial Number'
printf 'status 2\nquit\n' | nc 127.0.0.1 7506மீட்டெடுக்கப்பட்ட வாடிக்கையாளர் இணைந்து நிலை வெளியீட்டில் தோன்றினால், பதிவுத் திருத்தம் வேலை செய்தது. ரத்து செய்யப்பட்ட வாடிக்கையாளர் நிராகரிக்கப்பட்டு பதிவு CRLஐக் குறிப்பிட்டால், ரத்து வேலை செய்தது. இவற்றுக்கு இடையில் உள்ள எதுவும் அனுமதி அல்லது மீள்ஏற்றச் சிக்கல், அடுத்த கோரிக்கை வருவதற்கு முன் அதைச் சரிசெய்வது பயனுள்ளது.