OpenVPN username-as-common-name: உங்கள் CN சரிபார்ப்பு ஏன் காலியாக உள்ளது
common_name உடன் username ஐ ஒப்பிடும் client-connect ஸ்கிரிப்ட் ஒரு பெயரை அதனுடனேயே ஒப்பிடலாம். மாற்றீடு இயங்குவதற்கு முன் சான்றிதழைக் கணக்குடன் இணைக்கவும்.
நீங்கள் client-connect ஸ்கிரிப்டைச் சேர்க்கிறீர்கள், அது common_name username இலிருந்து வேறுபடும் எந்த இணைப்பையும் நிராகரிக்கிறது, அது சான்றிதழுக்கும் கணக்குக்கும் இடையிலான பிணைப்பு போலத் தெரிகிறது. username-as-common-name இயங்கும் சேவையகத்தில், ஸ்கிரிப்ட் இயங்கும் நேரத்தில் அந்த ஒப்பீடு ஏற்கனவே அதன் பொருளை இழந்துவிட்டது. இரண்டு மதிப்புகளும் ஒரே சரம், எனவே முற்றிலும் வேறொருவருக்கு வழங்கப்பட்ட சான்றிதழுக்கும் சோதனை வெற்றி பெறுகிறது.
ஸ்கிரிப்ட் மோசமாக எழுதப்பட்டதால் சரிபார்ப்பு தவறானது அல்ல. அது படிக்கும் மதிப்பு அதே இணைப்பில் முன்பே மாற்றப்பட்டதால் அது தவறானது.
ஒப்பீடு என்ன நிரூபிப்பதாகத் தெரிகிறது
சான்றிதழ் அங்கீகாரமும் கடவுச்சொல் அங்கீகாரமும் தனித்தனி சான்றுகள், மேலும் அவை ஒரே நபருக்குரியவை என்று கோராமலேயே சேவையகம் இரண்டையும் கோரலாம். இடைவெளி உண்மையானது: செல்லுபடியாகும் சாதனச் சான்றிதழும் எந்தவொரு செல்லுபடியாகும் கணக்கும் சேர்ந்தது, அதே சான்றிதழும் ஒரு பெயரிடப்பட்ட கணக்கும் சேர்ந்ததிலிருந்து வேறுபட்ட கூற்று. common_name ஐ username உடன் ஒப்பிடும் ஸ்கிரிப்ட் இரண்டுக்கும் இடையிலான காணாமல் போன இணைப்பாகப் படிக்கப்படுகிறது. common_name இன்னும் சான்றிதழ் சொன்னதைக் குறித்தால் அது அவ்வாறே இருக்கும்.
அது அவ்வாறா என்பது ஒரு சேவையக விருப்பத்தைப் பொறுத்தது, அந்த விருப்பம் பொதுவாக தொடர்பில்லாத காரணத்தால் இயக்கப்படுகிறது, உதாரணமாக ஒவ்வொரு பயனரின் உள்ளமைவுக் கோப்புகளுக்குப் பெயரிடுவதை எளிதாக்க.
username-as-common-name பெயருடன் என்ன செய்கிறது
username-as-common-name இயக்கப்பட்டிருக்கும்போது, OpenVPN பயனர்பெயரும் கடவுச்சொல்லும் சரிபார்க்கப்பட்ட பிறகு சான்றிதழின் பொதுப்பெயருக்குப் பதிலாக அங்கீகரிக்கப்பட்ட பயனர்பெயரை இடுகிறது. அந்தச் சரிபார்ப்பின் போது இயங்கும் சரிபார்ப்புக் கொக்கி இன்னும் சான்றிதழின் பொதுப்பெயரைப் பெறுகிறது, ஏனெனில் மாற்றீடு இன்னும் நடக்கவில்லை. அதற்குப் பிறகு அனைத்தும், client-connect உட்பட, பயனர்பெயரைப் பார்க்கிறது. எனவே பிந்தைய அழைப்பு ஒரே அடையாளத்தை இரண்டு முறை பெறுகிறது, வழங்கப்பட்ட சான்றிதழுடன் அதை ஒப்பிட முடியாது.
| Stage | What common_name holds |
|---|---|
| Username and password verification hook | The certificate common name, for example bob-device |
| After the replacement | The authenticated account, alice |
| client-connect callback | The account again, alice |
ஒரு எடுத்துக்காட்டு இணைப்பைப் பின்தொடரவும்: bob-device க்கு வழங்கப்பட்ட சான்றிதழ், alice ஆக வெற்றிகரமான அடைவு உள்நுழைவு, மற்றும் விருப்பம் இயக்கப்பட்டது. சரிபார்ப்பு நிலை இன்னும் இரண்டு வெவ்வேறு சரங்களைப் பார்க்க முடியும். இணைப்பு நிலை alice மற்றும் alice ஐப் பார்க்கிறது.
அந்த எடுத்துக்காட்டு ஒப்பீடு ஏன் காலியாக உள்ளது என்பதைக் காட்டுகிறது. சான்றிதழ் சரிபார்ப்பும் கடவுச்சொல் சரிபார்ப்பும் இன்னும் தனித்தனியாக இயங்குவதால், இணைப்பு வேறு வழியில் ஏற்கப்பட்டிருக்கும் என்பதை அது காட்டவில்லை.
இரு அடையாளங்களும் இன்னும் இருக்கும் இடத்தில் பிணைப்பை வைக்கவும்
சான்றிதழின் அடையாளத்தையும் கணக்கையும் ஒரே நேரத்தில் பார்க்கும் நிலையில் விதி அமல்படுத்தப்பட வேண்டும், அதாவது நடைமுறையில் பயனர்பெயர் மற்றும் கடவுச்சொல் சரிபார்ப்புக் கொக்கி அல்லது அங்கு ஏற்றப்பட்ட செருகி. ஏற்கனவே கடவுச்சொல் சரிபார்ப்பைச் செய்யும் ஆதரவளிக்கப்பட்ட செருகி பொதுவாக இணை விதியைச் சேர்ப்பதற்கான சரியான இடம், ஏனெனில் அதைப் பெயர் ஒப்பீட்டால் மாற்றினால் கடவுச்சொல் சரிபார்ப்பு முழுவதுமாக நீங்கிவிடும்.
குறியீடு எழுதுவதற்கு முன் வரைபடத்தை வரையறுக்கவும், ஏனெனில் சமத்துவம் அரிதாகவே உண்மையான கொள்கையாக இருக்கும். ஒரு சான்றிதழ் பெரும்பாலும் சாதனத்தை அடையாளப்படுத்துகிறது, உள்நுழைவு நபரை அடையாளப்படுத்துகிறது, ஒரு சாதனம் சட்டப்படி பலருக்குச் சேவை செய்யலாம். உறவை நீங்கள் கட்டுப்படுத்தும் வழங்கல் கொண்ட வடிவில் சேமிக்கவும், மறுபெயரிடல், மறுவழங்கல் மற்றும் களப் பெயர் தகுதி பெற்ற பெயர்களில் என்ன நடக்கிறது என்பதைத் தீர்மானிக்கவும். அடைவைப் புரிந்துகொள்ளாமல் சிற்றெழுத்தாக்குவது அல்லது கள முன்னொட்டை நீக்குவது தனித்தனியாக இருக்க வேண்டிய இரண்டு கணக்குகளை இணைக்கலாம்.
விருப்பம் எந்த ஒவ்வொரு வாடிக்கையாளர் உள்ளமைவு பொருந்தும் என்பதையும் மாற்றுகிறது என்பதை நினைவில் கொள்ளுங்கள், ஏனெனில் client-config-dir பொதுப்பெயரால் தீர்மானிக்கப்படுகிறது.
இரண்டு செல்லுபடியாகும் சான்றுகளுடன் இணையைச் சோதிக்கவும்
உங்கள் கொள்கை அனுமதிக்கும் இணையில் தொடங்கி அது இணைக்கிறது என்பதை உறுதிப்படுத்தவும். பின்னர் அதே செல்லுபடியாகும் சான்றிதழை வேறொரு ஆனால் வேறுவிதமாக செல்லுபடியாகும் கணக்குடன் வழங்கவும்: அந்த முயற்சி தோல்வியடைய வேண்டும், தவறாகத் தட்டச்சு செய்யப்பட்ட கடவுச்சொல்லால் அல்ல, இணை விதியால் தோல்வியடைய வேண்டும். தவறான கடவுச்சொல் கடவுச்சொல் சரிபார்ப்பு வேலை செய்கிறது என்பதை நிரூபிக்கிறது, சான்றிதழ்-கணக்கு விதியைப் பற்றி எதுவும் சொல்லவில்லை.
சான்றிதழ் இல்லாத மற்றும் செல்லாத சான்றிதழ் உள்ள பாதைகளையும் சரிபார்க்கவும், ஒவ்வொரு வாடிக்கையாளர் அமைப்புகளுக்கு சேவையகம் எந்த அடையாளத்தைப் பயன்படுத்துகிறது என்பதை உறுதிப்படுத்தவும். ஒப்பீடு வேலை செய்ய ஒரே வழி username-as-common-name ஐ முடக்குவதாக இருந்தால், முதலில் அந்த மாற்றத்தின் செலவை மதிப்பிடுங்கள், ஏனெனில் அது ஒவ்வொரு வாடிக்கையாளரின் உள்ளமைவுத் தேடலைச் சான்றிதழின் பெயருக்குத் திரும்பக் கொண்டு செல்கிறது.