tls-auth key-direction: 0 மற்றும் 1 வேறுபட வேண்டும், ஒன்றாக இருக்கக்கூடாது
tls-auth உடன் இரு முனைகளுக்கும் எதிர் திசைகள் தேவை, 0 மற்றும் 1, இல்லையேல் இரண்டும் அமைப்பை விட்டுவிட வேண்டும். அதே எண் தோல்வியடைகிறது, tls-crypt அதை ஒருபோதும் பயன்படுத்துவதில்லை.
சுரங்கப்பாதையின் ஒரு பக்கம் மறுபக்கம் ஒருபோதும் சரிபார்க்காத ஒரு விசை இடத்தால் கட்டுப்பாட்டு சேனலில் கையொப்பமிடுகிறது, ஒரு சான்றிதழ் கூட பரிமாறப்படுவதற்கு முன் இணைப்பு அங்கீகாரப் பிழையுடன் இறக்கிறது. tls-auth இன் திசை பொருந்தாமை இப்படித்தான் தெரிகிறது, அது உறுதியானது: அதே இரண்டு கோப்புகளும் ஒவ்வொரு முயற்சியிலும், எந்த நெட்வொர்க்கிலிருந்தும் தோல்வியடைகின்றன. பதிவில் நீங்கள் தேடும் விருப்பத்தின் பெயர் இல்லை, அதனால் மக்கள் ஒருபோதும் உடையாத விசைகளை மீண்டும் உருவாக்கி சான்றிதழ்களை மீண்டும் வழங்குகிறார்கள். தீர்வு இரு முனைகளையும் நிரப்பாக்குவது, அல்லது இரண்டையும் இரு திசையாக விடுவது, சரிபார்ப்பை பலவீனப்படுத்துவது அல்ல.
தோல்வி சான்றிதழ்களுக்கு முன்பே நிகழ்கிறது
tls-auth உடன் இரு சகாக்களும் ஒரே பகிரப்பட்ட விசையை வைத்திருக்கின்றன, ஒவ்வொன்றும் அதிலிருந்து பெறப்பட்ட இரண்டு இடங்களில் ஒன்றைப் பயன்படுத்துகிறது: ஒரு இடம் வெளிச்செல்லும் கட்டுப்பாட்டுப் பொதிகளில் கையொப்பமிடுகிறது, மற்றது உள்வரும் பொதிகளைச் சரிபார்க்கிறது. திசை 0 மற்றும் திசை 1 இந்தப் பாத்திரங்களை எதிர் வரிசையில் ஒதுக்குகின்றன, எனவே HMAC சரிபார்ப்புகள் பொருந்த இணை நிரப்பாக இருக்க வேண்டும். ஒரு பக்கத்தில் ஒதுக்கீடு தலைகீழாகும்போது, பெறுநர் தவறான இடத்தில் கையொப்பத்தைத் தேடி பொதியை நிராகரிக்கிறார். அங்கே அமர்வு முடிகிறது, அதனால் பிழை பொதி அங்கீகாரம் தொடர்பானது, சான்றிதழ்க் கிடங்கு உருவாக்கும் எதையும் பற்றியது அல்ல.
உறுதித்தன்மை நோயறிதலுக்கு முக்கியம், ஏனெனில் நேரம் அல்லது பாதை சிக்கல் வேறு அடையாளத்தை விட்டுச் செல்கிறது: இடைவிடாத துண்டிப்புகள், ஒரு திசை தோல்வியடைவது, அல்லது ஒரு குறிப்பிட்ட நெட்வொர்க்கில் மட்டும் இறக்கும் அமர்வு. திசை பொருந்தாமை ஒவ்வொரு முறையும் முதல் கைகுலுக்கலில் தோல்வியடைகிறது, அதே இரண்டு கோப்புகளைக் கொண்ட மற்றொரு இயந்திரத்திலும் அதேபோல் தோல்வியடைகிறது. --verb 4 இல் பதிவைப் படித்து கடைசி வரிக்குப் பதிலாக முதல் நிராகரிக்கப்பட்ட பொதியைக் கண்டறியுங்கள். அந்த நிராகரிப்பு எந்தச் சான்றிதழ் பரிமாற்றத்திற்கும் முன் நிகழ்ந்தால், பகிரப்பட்ட விசையும் அதன் திசையும் சரிபார்க்கத் தகுந்த இரண்டு விஷயங்கள்.
| What you see | What it rules out | Next check |
|---|---|---|
| Authentication error before any certificate is sent | The data channel is irrelevant; the control channel never authenticated | Compare tls-auth and its direction on both ends |
| Certificate or handshake failure after the control channel authenticates | The shared key and its direction already agree | Check the CA, the certificate dates and the hostname |
| Session completes but throughput or cipher warnings appear | Direction was never the problem | Compare the data-channel cipher settings |
| Startup stops on an options error | The number itself is not the issue | Re-read the inline versus external directive syntax |
எண் எங்கே வாழ்கிறது
OpenVPN 2.6 கையேடு திசைக்கு இரண்டு இடங்களைப் பதிவு செய்கிறது: விசை தனிக் கோப்பில் இருக்கும்போது tls-auth இன் இரண்டாவது வாதம், விசை சுயவிவரத்தில் உள்ளமைக்கப்பட்டிருக்கும்போது தனி key-direction வரி. இரண்டும் ஒரே மதிப்பை அமைக்கின்றன, எனவே சுயவிவரம் ஒரு வடிவத்தை அல்லது மற்றதைப் பயன்படுத்த வேண்டும், ஒருபோதும் இரண்டையும் அல்ல. விட்டுவிடுவதும் ஒரு தேர்வு, அது இரு சகாக்களையும் இரு திசை ஏற்பாட்டில் வைக்கிறது, எந்தப் பக்கமும் திசையைக் குறிப்பிடாதபோது அது வேலை செய்கிறது. ஒரே எண்ணைக் கொண்ட இரு சகாக்கள் அந்த ஏற்பாட்டில் இல்லை: ஒவ்வொன்றும் ஒரு இடத்தில் கையொப்பமிட்டு மற்றதில் சரிபார்க்க எதிர்பார்க்கிறது, இரண்டும் அதை ஒரே வழியில் செய்கின்றன.
# server.conf, external key tls-auth ta.key 0 # client.ovpn, external key tls-auth ta.key 1 # client.ovpn, inline key key-direction 1
உள்ளமைக்கப்பட்ட வடிவம் அதன் சொந்த வரியில் ஒரு வழிமுறை, விசைத் தொகுதியின் திறப்புக் குறியில் ஒரு பண்பு அல்ல, அந்தக் குறியில் வாதம் சேர்ப்பது பிழை, திசை மாற்றம் அல்ல. இடமும் முக்கியம்: வழிமுறை அது சேர்ந்த தொகுதிக்கு வெளியே உள்ளது, எனவே தொகுதிக்குள் எழுதப்பட்ட மதிப்பு விசைப் பொருளாகப் படிக்கப்படுகிறது. சுயவிவரத்தின் விநியோகஸ்தர் நோக்கிய ஏற்பாட்டை நகலெடுங்கள், இணையைக் கற்பனை செய்வதற்குப் பதிலாக, ஏனெனில் ஒரு சேவையகத்திற்கு எதிராக வேலை செய்யும் சுயவிவரம் ஏற்கனவே மறுபக்கத்தில் பிரதிபலிக்கப்பட்டிருக்கலாம்.
விருப்பம் எதைத் தொடாது
இது பயன்பாட்டு இயக்கத்தை மறையாக்காது. tls-auth கட்டுப்பாட்டு சேனலின் பொதிகளைச் சுற்றி HMAC வைக்கிறது, தரவுச் சேனல் கைகுலுக்கலின் போது பேச்சுவார்த்தை செய்யப்பட்ட அமர்வு விசைகளால் பாதுகாக்கப்படுகிறது, எனவே செயல்திறன் அல்லது மறையாக்கம் பற்றிய கேள்விக்கும் திசை எண்ணுக்கும் எந்தத் தொடர்பும் இல்லை. அமைப்பு இரண்டாவது மறையாக்க அடுக்கையும் சேர்க்காது, நீண்ட விசையைத் தேடச் செல்ல மக்களை அனுப்புவது அந்த அனுமானமே.
இது tls-crypt க்கு பொருந்தாது, அதன் சொந்த விருப்பங்களும் விசைக் கையாளுதலும் கொண்ட மற்றொரு கட்டுப்பாட்டு சேனல் முறை, மேலும் எந்தச் சகாவின் சான்றிதழ் அடையாளம் பற்றியும் எதுவும் கூறாது. எனவே வேலை செய்யும் திசைப் பொருத்தம் இரு முனைகளும் கட்டுப்பாட்டு சேனலை எவ்வாறு அங்கீகரிப்பது என்பதில் உடன்படுகின்றன என்பதை மட்டுமே நிரூபிக்கிறது, நம்பிக்கைச் சங்கிலி சரிபார்க்கப்பட்டது என்பதை அல்ல.
இணையைச் சீரமைத்து மீண்டும் இணைக்கவும்
எதையும் மாற்றுவதற்கு முன் இரண்டு உள்ளமைவுகளையும் ஒப்பிடுங்கள், ஏனெனில் ஏற்கனவே சரியான பக்கத்தைத் திருத்துவது வேலையை இரட்டிப்பாக்குகிறது. கீழே உள்ள grep ஒவ்வொரு கோப்பும் எந்த முறையைத் தேர்ந்தெடுக்கிறது என்பதைக் காட்டுகிறது; விரிவான இயக்கம் கட்டுப்பாட்டு சேனல் அங்கீகரிக்கப்பட்டதா என்பதைக் காட்டுகிறது. இரண்டு வெளியீடுகளையும் வைத்திருங்கள், அடுத்த மாற்றத்தை அறியப்பட்ட நிலையுடன் ஒப்பிடலாம்.
grep -n -E 'tls-auth|tls-crypt|key-direction' server.conf client.ovpn openvpn --config client.ovpn --verb 4 2>&1 | grep -i -E 'hmac|tls error|control channel'
எந்த மாற்றத்திற்கும் பிறகு இரு சகாக்களையும் மீண்டும் தொடங்குங்கள், ஏனெனில் இந்த விருப்பங்கள் தொடக்கத்தில் ஒருமுறை படிக்கப்படுகின்றன, ஒரு பக்கத்தை மீண்டும் ஏற்றுவது பழைய அமர்வின் முழு ஆயுட்காலத்திலும் இணையை சீரற்றதாக விடுகிறது. பயன்பாடு இப்போது திசை உள்ளமைக்கப்படாமல் வேலை செய்தால், ஒரு சகாவில் அமைப்பைச் சேர்ப்பது நீங்கள் தொடங்கிய தோல்வியை மீண்டும் உருவாக்குகிறது; இரண்டையும் விடுங்கள் அல்லது இரண்டையும் உள்ளமைக்கவும். ஒரு நேரத்தில் ஒரு முனையை மாற்றி முந்தைய கோப்பை வைத்திருங்கள், பின்னடைவு மறுகட்டமைப்பு அல்ல, இரண்டு நிமிட மீட்பாக இருக்கட்டும்.
ஒவ்வொரு முனைக்கும் முறை, விசைக் கோப்பு மற்றும் திசையை பயன்பாட்டுக் குறிப்புகளில் பதிவு செய்யுங்கள், இல்லையேல் அடுத்த நபர் ஒத்த இரண்டு கோப்புகளைப் படித்து எண்கள் ஒன்றுக்கொன்று பொருந்த வேண்டும் எனக் கருதுவார். திசை ஒருங்கிணைப்பு விவரம், பாதுகாப்பு மேம்பாடு அல்ல: அது கட்டுப்பாட்டு சேனலின் இரு திசைகளைப் பிரிக்கிறது, வேறு எதுவும் செய்யாது.