புரோஹோஸ்டர் > Блог > நிர்வாகம் > USB டோக்கனைப் பயன்படுத்தி தளத்தில் இரு காரணி அங்கீகாரம். இப்போது லினக்ஸுக்கும்
USB டோக்கனைப் பயன்படுத்தி தளத்தில் இரு காரணி அங்கீகாரம். இப்போது லினக்ஸுக்கும்
В எங்கள் முந்தைய கட்டுரைகளில் ஒன்று நிறுவனங்களின் கார்ப்பரேட் போர்டல்களில் இரண்டு காரணி அங்கீகாரத்தின் முக்கியத்துவத்தைப் பற்றி நாங்கள் பேசினோம். IIS இணைய சேவையகத்தில் பாதுகாப்பான அங்கீகாரத்தை எவ்வாறு அமைப்பது என்பதை கடந்த முறை நாங்கள் விளக்கினோம்.
கருத்துகளில், Linux - nginx மற்றும் Apache க்கான மிகவும் பொதுவான வலை சேவையகங்களுக்கான வழிமுறைகளை எழுதும்படி கேட்கப்பட்டோம்.
நீங்கள் கேட்டீர்கள் - நாங்கள் எழுதினோம்.
நீங்கள் தொடங்குவதற்கு என்ன தேவை?
எந்த நவீன லினக்ஸ் விநியோகம். நான் MX Linux 18.2_x64 இல் ஒரு சோதனை அமைப்பைச் செய்தேன். இது நிச்சயமாக சர்வர் விநியோகம் அல்ல, ஆனால் டெபியனுக்கு எந்த வித்தியாசமும் இருக்க வாய்ப்பில்லை. மற்ற விநியோகங்களுக்கு, கட்டமைப்பு நூலகங்களுக்கான பாதைகள் சற்று வித்தியாசமாக இருக்கலாம்.
டோக்கன். நாங்கள் தொடர்ந்து மாதிரியைப் பயன்படுத்துகிறோம் Rutoken EDS PKIகார்ப்பரேட் பயன்பாட்டிற்கான வேக பண்புகளின் அடிப்படையில் இது சிறந்தது.
லினக்ஸில் டோக்கனுடன் வேலை செய்ய, நீங்கள் பின்வரும் தொகுப்புகளை நிறுவ வேண்டும்:
libccid libpcsclite1 pcscd pcsc-tools opensc
சான்றிதழ்களை வழங்குதல்
முந்தைய கட்டுரைகளில், Microsoft CA ஐப் பயன்படுத்தி சர்வர் மற்றும் கிளையன்ட் சான்றிதழ்கள் வழங்கப்படும் என்ற உண்மையை நாங்கள் நம்பியிருந்தோம். ஆனால் லினக்ஸில் அனைத்தையும் அமைப்பதால், லினக்ஸை விட்டு வெளியேறாமல் இந்தச் சான்றிதழ்களை வழங்குவதற்கான மாற்று வழியையும் நாங்கள் உங்களுக்குச் சொல்வோம்.
XCA ஐ CA ஆகப் பயன்படுத்துவோம் (https://hohnstaedt.de/xca/), இது எந்த நவீன லினக்ஸ் விநியோகத்திலும் கிடைக்கிறது. XCA இல் நாம் செய்யும் அனைத்து செயல்களும் OpenSSL மற்றும் pkcs11-tool பயன்பாடுகளைப் பயன்படுத்தி கட்டளை வரி பயன்முறையில் செய்யப்படலாம், ஆனால் அதிக எளிமை மற்றும் தெளிவுக்காக, அவற்றை இந்தக் கட்டுரையில் வழங்க மாட்டோம்.
தொடங்குதல்
நிறுவு:
$ apt-get install xca
நாங்கள் ஓடுகிறோம்:
$ xca
CA - /root/CA.xdb க்காக எங்கள் தரவுத்தளத்தை உருவாக்குகிறோம்
நிர்வாகி மட்டுமே அணுகக்கூடிய கோப்புறையில் சான்றிதழ் ஆணைய தரவுத்தளத்தை சேமிக்க பரிந்துரைக்கிறோம். மற்ற எல்லாச் சான்றிதழ்களிலும் கையொப்பமிடப் பயன்படுத்தப்படும் ரூட் சான்றிதழ்களின் தனிப்பட்ட விசைகளைப் பாதுகாக்க இது முக்கியமானது.
விசைகள் மற்றும் ரூட் CA சான்றிதழை உருவாக்கவும்
ஒரு பொது விசை உள்கட்டமைப்பு (PKI) ஒரு படிநிலை அமைப்பை அடிப்படையாகக் கொண்டது. இந்த அமைப்பில் முக்கிய விஷயம் ரூட் சான்றிதழ் அதிகாரம் அல்லது ரூட் CA ஆகும். அதன் சான்றிதழை முதலில் உருவாக்க வேண்டும்.
CA க்காக RSA-2048 தனிப்பட்ட விசையை உருவாக்குகிறோம். இதைச் செய்ய, தாவலில் தனிப்பட்ட விசைகள் ஆ புதிய விசை மற்றும் பொருத்தமான வகையைத் தேர்ந்தெடுக்கவும்.
புதிய விசை ஜோடிக்கு ஒரு பெயரை அமைக்கவும். நான் அதை CA கீ என்று அழைத்தேன்.
உருவாக்கப்பட்ட விசை ஜோடியைப் பயன்படுத்தி CA சான்றிதழை நாங்கள் வழங்குகிறோம். இதைச் செய்ய, தாவலுக்குச் செல்லவும் சான்றிதழ்கள் கிளிக் செய்யவும் புதிய சான்றிதழ்.
தேர்வு செய்ய வேண்டும் எஸ்எச்எ 256, ஏனெனில் SHA-1 ஐப் பயன்படுத்துவது இனி பாதுகாப்பானதாகக் கருதப்படாது.
டெம்ப்ளேட்டாக தேர்வு செய்ய மறக்காதீர்கள் [இயல்புநிலை]CA. கிளிக் செய்ய மறக்க வேண்டாம் அனைத்தையும் விண்ணப்பிக்கவும், இல்லையெனில் டெம்ப்ளேட் பயன்படுத்தப்படாது.
தாவலில் பொருள் எங்கள் முக்கிய ஜோடியைத் தேர்ந்தெடுக்கவும். அங்கு நீங்கள் சான்றிதழின் அனைத்து முக்கிய புலங்களையும் நிரப்பலாம்.
விசைகள் மற்றும் https சர்வர் சான்றிதழை உருவாக்குதல்
இதேபோல், சேவையகத்திற்கான RSA-2048 தனிப்பட்ட விசையை உருவாக்குகிறோம், நான் அதை சர்வர் கீ என்று அழைத்தேன்.
ஒரு சான்றிதழை உருவாக்கும்போது, சர்வர் சான்றிதழில் CA சான்றிதழுடன் கையொப்பமிடப்பட வேண்டும் என்பதைத் தேர்ந்தெடுக்கிறோம்.
தேர்ந்தெடுக்க மறக்காதீர்கள் எஸ்எச்எ 256.
நாங்கள் ஒரு டெம்ப்ளேட்டாக தேர்வு செய்கிறோம் [இயல்புநிலை] HTTPS_server. கிளிக் செய்யவும் அனைத்தையும் விண்ணப்பிக்கவும்.
பின்னர் தாவலில் பொருள் எங்கள் விசையைத் தேர்ந்தெடுத்து தேவையான புலங்களை நிரப்பவும்.
பயனருக்கான விசைகள் மற்றும் சான்றிதழை உருவாக்கவும்
பயனரின் தனிப்பட்ட விசை எங்கள் டோக்கனில் சேமிக்கப்படும். அதனுடன் வேலை செய்ய, நீங்கள் எங்கள் இணையதளத்தில் இருந்து PKCS#11 நூலகத்தை நிறுவ வேண்டும். பிரபலமான விநியோகங்களுக்கு, நாங்கள் ஆயத்த தொகுப்புகளை விநியோகிக்கிறோம், அவை இங்கே அமைந்துள்ளன - https://www.rutoken.ru/support/download/pkcs/. எங்களிடம் arm64, armv7el, armv7hf, e2k, mipso32el ஆகியவற்றுக்கான அசெம்பிளிகளும் உள்ளன, அவற்றை எங்கள் SDK இலிருந்து பதிவிறக்கம் செய்யலாம் - https://www.rutoken.ru/developers/sdk/. Linux க்கான அசெம்பிளிகள் தவிர, macOS, freebsd மற்றும் android க்கான அசெம்பிளிகளும் உள்ளன.
XCA இல் புதிய PKCS#11 வழங்குநரைச் சேர்க்கிறது. இதைச் செய்ய, மெனுவுக்குச் செல்லவும் விருப்பங்கள் தாவலுக்கு PKCS#11 வழங்குநர்.
நாங்கள் அழுத்துகிறோம் கூட்டு மற்றும் PKCS#11 நூலகத்திற்கான பாதையைத் தேர்ந்தெடுக்கவும். என் விஷயத்தில் இது usrliblibrtpkcs11ecp.so.
Rutoken EDS PKIக்கான RSA-2048 விசையை முக்கிய வகையாகத் தேர்ந்தெடுக்கிறோம். நான் இந்த விசையை கிளையண்ட் கீ என்று அழைத்தேன்.
பின் குறியீட்டை உள்ளிடவும். முக்கிய ஜோடியின் வன்பொருள் உருவாக்கம் முடிவடையும் வரை நாங்கள் காத்திருக்கிறோம்
சர்வர் சான்றிதழுடன் ஒப்பிடுவதன் மூலம் பயனருக்கான சான்றிதழை நாங்கள் உருவாக்குகிறோம். இந்த நேரத்தில் நாம் ஒரு டெம்ப்ளேட்டைத் தேர்ந்தெடுக்கிறோம் [இயல்புநிலை] HTTPS_client மற்றும் கிளிக் செய்ய மறக்க வேண்டாம் அனைத்தையும் விண்ணப்பிக்கவும்.
தாவலில் பொருள் பயனர் பற்றிய தகவலை உள்ளிடவும். டோக்கனுக்கான சான்றிதழைச் சேமிப்பதற்கான கோரிக்கைக்கு நாங்கள் உறுதிமொழியாக பதிலளிக்கிறோம்.
இதன் விளைவாக, தாவலில் சான்றிதழ்கள் XCA இல் நீங்கள் இதைப் போன்ற ஒன்றைப் பெற வேண்டும்.
இந்த குறைந்தபட்ச விசைகள் மற்றும் சான்றிதழ்கள் சேவையகங்களை அமைக்கத் தொடங்க போதுமானது.
உள்ளமைக்க, CA சான்றிதழ், சர்வர் சான்றிதழ் மற்றும் சர்வர் பிரைவேட் கீயை ஏற்றுமதி செய்ய வேண்டும்.
இதைச் செய்ய, XCA இல் தொடர்புடைய தாவலில் விரும்பிய உள்ளீட்டைத் தேர்ந்தெடுத்து கிளிக் செய்யவும் ஏற்றுமதி.
nginx
nginx சேவையகத்தை எவ்வாறு நிறுவுவது மற்றும் இயக்குவது என்பதை நான் எழுத மாட்டேன் - இணையத்தில் இந்த தலைப்பில் போதுமான கட்டுரைகள் உள்ளன, அதிகாரப்பூர்வ ஆவணங்களைக் குறிப்பிடவில்லை. டோக்கனைப் பயன்படுத்தி HTTPS மற்றும் இரு-காரணி அங்கீகாரத்தை அமைப்பதற்கு நேராக வருவோம்.
nginx.conf இல் உள்ள சர்வர் பிரிவில் பின்வரும் வரிகளைச் சேர்க்கவும்:
ssl_verify_client - சான்றிதழுக்கான நம்பிக்கைச் சங்கிலி சரிபார்க்கப்பட வேண்டும் என்பதைக் குறிப்பிடுகிறது.
ssl_verify_depth - சங்கிலியில் நம்பகமான ரூட் சான்றிதழுக்கான தேடல் ஆழத்தை வரையறுக்கிறது. எங்கள் கிளையன்ட் சான்றிதழ் ரூட் சான்றிதழில் உடனடியாக கையொப்பமிடப்பட்டதால், ஆழம் 1 ஆக அமைக்கப்பட்டுள்ளது. பயனர் சான்றிதழானது இடைநிலை CA இல் கையொப்பமிடப்பட்டிருந்தால், இந்த அளவுருவில் 2 குறிப்பிடப்பட வேண்டும், மேலும் பல.
ssl_client_certificate - நம்பகமான ரூட் சான்றிதழுக்கான பாதையைக் குறிப்பிடுகிறது, இது பயனரின் சான்றிதழில் நம்பிக்கையை சரிபார்க்கும் போது பயன்படுத்தப்படுகிறது.
ssl_certificate/ssl_certificate_key - சர்வர் சான்றிதழ்/தனியார் விசைக்கான பாதையைக் குறிக்கவும்.
config இல் எழுத்துப் பிழைகள் எதுவும் இல்லை என்பதையும், எல்லா கோப்புகளும் சரியான இடத்தில் உள்ளதா என்பதையும் சரி பார்க்க nginx -t ஐ இயக்க மறக்காதீர்கள்.
அவ்வளவு தான்! நீங்கள் பார்க்க முடியும் என, அமைப்பு மிகவும் எளிது.
இது பயர்பாக்ஸில் வேலை செய்கிறதா என்று சரிபார்க்கிறது
முதலில் டோக்கன் இல்லாமல் உள்நுழைய முயற்சிப்போம். இந்த படத்தைப் பெறுகிறோம்:
நாம் செல்வோம் பற்றி விருப்பத்தேர்வுகள் # தனியுரிமை, மற்றும் நாங்கள் செல்கிறோம் பாதுகாப்பு சாதனங்கள்…
நாங்கள் அழுத்துகிறோம் சுமைபுதிய PKCS#11 சாதன இயக்கியைச் சேர்க்க மற்றும் எங்கள் librtpkcs11ecp.soக்கான பாதையைக் குறிப்பிடவும்.
சான்றிதழ் தெரியும் என்பதைச் சரிபார்க்க, நீங்கள் செல்லலாம் சான்றிதழ் மேலாளர். உங்கள் பின்னை உள்ளிடும்படி கேட்கப்படுவீர்கள். சரியான உள்ளீட்டிற்குப் பிறகு, தாவலில் உள்ளதை நீங்கள் சரிபார்க்கலாம் உங்கள் சான்றிதழ்கள் டோக்கனில் இருந்து எங்கள் சான்றிதழ் தோன்றியது.
இப்போது டோக்கனுடன் செல்லலாம். சேவையகத்திற்குத் தேர்ந்தெடுக்கப்படும் சான்றிதழைத் தேர்ந்தெடுக்க பயர்பாக்ஸ் உங்களைத் தூண்டுகிறது. எங்கள் சான்றிதழைத் தேர்ந்தெடுக்கவும்.
லாபம்!
அமைப்பு ஒரு முறை முடிந்தது, நீங்கள் சான்றிதழ் கோரிக்கை சாளரத்தில் பார்க்க முடியும் என, நாங்கள் எங்கள் தேர்வை சேமிக்க முடியும். இதற்குப் பிறகு, ஒவ்வொரு முறையும் நாம் போர்ட்டலில் உள்நுழையும்போது, ஒரு டோக்கனைச் செருகவும், வடிவமைப்பின் போது குறிப்பிடப்பட்ட பயனர் PIN குறியீட்டை உள்ளிடவும் வேண்டும். அத்தகைய அங்கீகாரத்திற்குப் பிறகு, எந்த பயனர் உள்நுழைந்துள்ளார் என்பதை சேவையகம் ஏற்கனவே அறிந்திருக்கிறது, மேலும் சரிபார்ப்பிற்காக நீங்கள் இனி எந்த கூடுதல் சாளரங்களையும் உருவாக்க முடியாது, ஆனால் உடனடியாக பயனரை அவரது தனிப்பட்ட கணக்கில் அனுமதிக்கவும்.
அப்பாச்சி
nginx ஐப் போலவே, அப்பாச்சியை நிறுவுவதில் யாருக்கும் எந்த பிரச்சனையும் இருக்கக்கூடாது. இந்த இணைய சேவையகத்தை எவ்வாறு நிறுவுவது என்று உங்களுக்குத் தெரியாவிட்டால், அதிகாரப்பூர்வ ஆவணத்தைப் பயன்படுத்தவும்.
நாங்கள் எங்கள் HTTPS மற்றும் இரண்டு காரணி அங்கீகாரத்தை அமைக்கத் தொடங்குகிறோம்:
முதலில் நீங்கள் mod_ssl ஐ செயல்படுத்த வேண்டும்:
$ a2enmod ssl
தளத்தின் இயல்புநிலை HTTPS அமைப்புகளை இயக்கவும்:
$ a2ensite default-ssl
இப்போது உள்ளமைவு கோப்பைத் திருத்துகிறோம்: /etc/apache2/sites-enabled/default-ssl.conf:
SSLEngine on
SSLProtocol all -SSLv2
SSLCertificateFile /etc/apache2/sites-enabled/Server.crt
SSLCertificateKeyFile /etc/apache2/sites-enabled/ServerKey.pem
SSLCACertificateFile /etc/apache2/sites-enabled/CA.crt
SSLVerifyClient require
SSLVerifyDepth 10
நீங்கள் பார்க்க முடியும் என, அளவுருக்களின் பெயர்கள் நடைமுறையில் nginx இல் உள்ள அளவுருக்களின் பெயர்களுடன் ஒத்துப்போகின்றன, எனவே நான் அவற்றை விளக்க மாட்டேன். மீண்டும், விவரங்களில் ஆர்வமுள்ள எவரும் ஆவணங்களுக்கு வரவேற்கப்படுகிறார்கள்.
இப்போது நாங்கள் எங்கள் சேவையகத்தை மறுதொடக்கம் செய்கிறோம்:
$ service apache2 reload
$ service apache2 restart
நீங்கள் பார்க்க முடியும் என, Windows அல்லது Linux இல் எந்த இணைய சேவையகத்திலும் இரு காரணி அங்கீகாரத்தை அமைக்க அதிகபட்சம் ஒரு மணிநேரம் ஆகும். மற்றும் உலாவிகளை அமைக்க சுமார் 5 நிமிடங்கள் ஆகும். இரண்டு காரணி அங்கீகாரத்துடன் அமைப்பதும் வேலை செய்வதும் கடினம் மற்றும் தெளிவற்றது என்று பலர் நினைக்கிறார்கள். எங்கள் கட்டுரை இந்த கட்டுக்கதையை சிறிது சிறிதாக நீக்குகிறது என்று நம்புகிறேன்.
பதிவு செய்த பயனர்கள் மட்டுமே கணக்கெடுப்பில் பங்கேற்க முடியும். உள்நுழையவும், தயவு செய்து.
GOST 34.10-2012 இன் படி சான்றிதழ்களுடன் TLS ஐ அமைப்பதற்கான வழிமுறைகள் தேவையா:
ஆம், TLS-GOST மிகவும் அவசியம்
இல்லை, GOST அல்காரிதம்களுடன் டியூனிங் செய்வது சுவாரஸ்யமானது அல்ல
44 பயனர்கள் வாக்களித்தனர். 9 பயனர்கள் வாக்களிக்கவில்லை.