உலாவியின் HTTPS வெற்றிபெறும் இடத்தில் SSTP தோல்வியடைகிறது: ஏன்
SSTP போர்ட் 443 இல் TLS-க்குள் இயங்குகிறது, ஆனால் அது வலைக் கோரிக்கை அல்ல. TCP, TLS அடையாளம், SSTP பரிமாற்றம் மற்றும் PPP அங்கீகாரம் ஆகியவற்றை தனித்தனி நிலைகளாகச் சோதிக்கவும்.
உலாவி VPN புரவலன் பெயரை HTTPS மூலம் எந்தப் புகாரும் இல்லாமல் திறக்கிறது, ஆனால் SSTP கிளையண்ட் இன்னும் இணைய மறுக்கிறது. அந்த இணையில் எந்த முரண்பாடும் இல்லை. SSTP TLS-ஐ வெளிப்புறப் போக்குவரத்தாகப் பயன்படுத்தி, பின்னர் அதே இணைப்பிற்குள் தனது சொந்தக் கோரிக்கையையும் PPP சுமையையும் இயக்குகிறது, எனவே ஒரு பக்கம் வெற்றிகரமாக ஏற்றப்படுவது ஒரே ஒரு குறுகிய விஷயத்தை மட்டுமே நிரூபிக்கிறது: புரவலன் போர்ட் 443 இல் ஒரு GET-க்கு பதிலளிக்கிறது. கிளையண்ட் வேறு ஒரு கேள்வியைக் கேட்கிறது, சேவையகம் அதற்கு மோசமாகப் பதிலளிக்கக்கூடும்.
பக்கம் ஏற்றப்படுகிறது, சுரங்கப்பாதை இல்லை
மக்கள் உலாவி சோதனைக்கு திரும்புவது அது வேகமானது என்பதால், பின்னர் முடிவை சேவையகம் அணுகக்கூடியது மற்றும் கட்டமைக்கப்பட்டது என்பதற்கான ஆதாரமாக எடுத்துக்கொள்கிறார்கள். அது முகவரிப் பட்டி திறந்த பாதைக்கு GET பற்றிய ஆதாரம், அதற்கு மேல் இல்லை. VPN உரையாடல் அதே TLS கைக்குலுக்கலுக்குப் பிறகு தொடங்குகிறது, ஆனால் அனுப்புவது வலைப்பக்கம் ஒருபோதும் பயன்படுத்தாத ஒரு முறையையும் பாதையையும். எனவே உலாவிக்கான 200 பதில் SSTP முனைப்புள்ளி உள்ளதா என்பதைப் பற்றி எதுவும் கூறுவதில்லை.
இரண்டு அவதானிப்புகளையும் பிரிக்கவும், தேடல் குறுகிறது. போக்குவரத்தும் சான்றிதழ்ச் சங்கிலியும் வேலை செய்கின்றன, அவற்றுக்கு மேலேயுள்ள நெறிமுறைப் பரிமாற்றத்தில் ஏதோ வேலை செய்யவில்லை. இது உடைந்த போர்ட் அல்லது காலாவதியான சான்றிதழை விட வேறுபட்ட விசாரணை, மேலும் வேறுபட்ட ஆதாரங்கள் தேவை.
SSTP கிளையண்ட் உண்மையில் அனுப்புவது என்ன
கிளையண்ட் SSTP_DUPLEX_POST முறையில் /sra_{GUID}/ பாதைக்கு HTTP கோரிக்கையை அனுப்பி, பின்னர் இணைப்பின் உடலை PPP சட்டகங்களைச் சுமக்கும் இருபக்க ஓடையாகத் திறந்து வைக்கிறது. இணங்கும் சேவையகம் HTTP/1.1 200 எனப் பதிலளித்து வலைச் சேவையகம் போல நடந்துகொள்வதை நிறுத்துகிறது. மற்ற எதுவும் ஒரு கையொப்பம்: 405 அல்லது 404 என்றால் முனைப்புள்ளி இல்லை, 301 அல்லது 302 என்றால் ஏதோ கோரிக்கையை மறுவழிப்படுத்துகிறது, உடனடி FIN என்றால் ப்ராக்ஸி அல்லது சேவையகம் ஓடையை மூடியது.
எனவே இலக்கு TLS சான்றிதழ் பொருத்தப்பட்ட வலைச் சேவையகம் அல்ல, SSTP சேவையகமாக இருக்க வேண்டும். முறை, பாதை மற்றும் நீண்டகால உடல் நெறிமுறைத் தேவைகள், எனவே தலைகீழ் ப்ராக்ஸி அவற்றை கட்டமைப்பால் மட்டும் சேர்க்க முடியாது. சாதாரண HTTPS-ஐ சரியாக அனுப்பும் ப்ராக்ஸியும் தனக்குத் தெரியாத முறையை மறுக்கக்கூடும்.
ப்ராக்ஸி அல்லது வலைச் சேவையகம் ஓடையை எங்கே உடைக்கிறது
இடைத்தரகர் எதையும் அனுப்புவதற்கு முன் HTTP கோரிக்கை வரியை ஆய்வு செய்கிறார், அசாதாரண பாதையுடன் கூடிய தனிப்பயன் முறை அவரது விதிகளில் தோல்வியடையலாம். சில சாதனங்கள் சாதாரண பக்கத்தை வழங்கும்போது சுரங்கப்பாதையை மறுக்கின்றன அல்லது தடுக்கின்றன, எனவே கிளையண்ட் தூய்மையான மறுப்புக்குப் பதிலாக தொடங்கி பின்னர் இறக்கும் இணைப்பைப் புகாரளிக்கிறது. மற்றவை கோரிக்கையை ஏற்று, பின்னர் PPP கீப்அலைவ் தாங்கமுடியாத உடல் அல்லது செயலற்ற நேர வரம்பைப் பயன்படுத்துகின்றன. கிளையண்ட் பக்கத்திலிருந்து இரண்டும் ஒரே மாதிரி தெரிகின்றன, எனவே எந்த நிலை தோல்வியடைந்தது என்பது பிழை உரையை விட முக்கியம்.
ஒரு வலைத்தளத்திற்கும் SSTP-க்கும் இடையே போர்ட் 443 பகிர்வது ஒரு வழியமைப்புத் தேர்வு, ஒவ்வொரு தாண்டலும் இரு உரையாடல்களையும் ஒரே விதமாகக் கையாளும் என்பதற்கான உறுதிமொழி அல்ல. பாதையில் சுமை சமன்படுத்தி, தீச்சுவர் அல்லது TLS முடிப்பான் இருந்தால், VPN கட்டமைப்பைத் தொடுவதற்கு முன் அதை சந்தேகப்பட்டவர் பட்டியலில் சேர்க்கவும்.
நிலைகளைத் தனித்தனியாகச் சோதிக்கவும்
சோதனைகளை வரிசையாக இயக்கி முதல் தோல்வியில் நிறுத்தவும், ஏனெனில் ஒவ்வொரு நிலையும் வேறு அடுக்கை நீக்குகிறது. கீழேயுள்ள TLS ஆய்வி சான்றிதழின் அடையாளத்தை SSTP செய்யும் எல்லாவற்றிலிருந்தும் பிரிக்கிறது. புரவலன் பெயரை உங்கள் முனைப்புள்ளியுடன் மாற்றி அது அச்சிடும் subject மற்றும் சங்கிலியைப் படிக்கவும்.
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com
பின்னர் கிளையண்ட் பிழையிலிருந்து ஊகிக்காமல் மீதமுள்ள ஆதாரங்களை நிலைகளுடன் பொருத்தவும். கீழேயுள்ள அட்டவணை டிக்கெட்டில் மேற்கோள் காட்டுவதற்கான சரிபார்ப்புப் பட்டியல், ஒரு தோல்வியை அடுத்ததிலிருந்து பிரிக்கும் கையொப்பத்துடன்.
| Stage | What it proves | Failure signature |
|---|---|---|
| TCP to 443 | A listener exists and the path is open | Timeout or connection refused |
| TLS with SNI | The certificate matches the name you use | Name mismatch or untrusted chain |
| SSTP_DUPLEX_POST exchange | The endpoint is an SSTP server | 405, 404, 301 or an early FIN |
| PPP authentication | The user credential was accepted | Auth failure after a 200 response |
| Inner routing | A permitted destination is reachable | Tunnel up, no reply from the target |
டிக்கெட்டில் "இணைக்க முடியவில்லை" என்று எழுதுவதற்குப் பதிலாக கடைசி வெற்றிகரமான நிலையைப் பதிவு செய்யவும். MS-SSTP விவரக்குறிப்பு TLS கைக்குலுக்கலுக்குப் பின் வரும் கோரிக்கையையும் PPP பரிமாற்றத்தையும் ஆவணப்படுத்துகிறது, உலாவி சோதனை அவற்றில் எதற்கும் மாற்றாக முடியாததற்கான குறிப்பு அதுவே.
முதலில் அடையாளம், பின்னர் PPP
TLS அடையாளமும் PPP அங்கீகாரமும் வரிசையானவை, மாற்றல்ல, அவற்றைக் குழப்புவது மக்களை தவறான சேவையக அமைப்புக்கு அனுப்புகிறது. கிளையண்ட் முதலில் சேவையகச் சான்றிதழையும் அதன் நோக்கத்தையும் சரிபார்த்து, பின்னர் PPP தனது நிலையைப் பேச்சுவார்த்தை செய்து பயனரை சவால்-பதில் முறை அல்லது EAP மூலம் அங்கீகரிக்கிறது. சான்றிதழ் சிக்கல் நிராகரிக்கப்பட்ட கடவுச்சொல்லிலிருந்து வேறுபட்ட பிழையைத் தருகிறது, எந்தப் பிழையும் மற்றொன்று உள்ளடக்கும் நிலையை விவரிக்கவில்லை.
புரவலன் பெயரை முகவரியால் மாற்றுவது, அல்லது சான்றிதழ் எச்சரிக்கையைத் தாண்டி கிளிக் செய்வது, தோல்வியடையும் நிலையை அடையாளம் காணும் சரிபார்ப்பை சரிசெய்வதற்குப் பதிலாக நீக்குகிறது. எச்சரிக்கையை வைத்துக்கொண்டு படிக்கவும். HTTP பரிமாற்றம் ஒருபோதும் SSTP நடத்தையை எட்டாதபோது PPP கடவுச்சொல்லை மீட்டமைக்க வேண்டாம், ஏனெனில் சான்றுகள் ஒருபோதும் கேட்கப்படவில்லை.