Браузердегі HTTPS сәтті болған жерде SSTP сәтсіз аяқталады: неге
SSTP 443 портында TLS ішінде жұмыс істейді, бірақ бұл веб-сұраныс емес. TCP, TLS сәйкестігін, SSTP алмасуын және PPP аутентификациясын бөлек кезеңдер ретінде тексеріңіз.
Браузер VPN хост атауын HTTPS арқылы шағымсыз ашады, ал SSTP клиенті әлі де қосылудан бас тартады. Бұл жұпта қайшылық жоқ. SSTP TLS-ті сыртқы тасымал ретінде пайдаланып, содан кейін сол қосылымның ішінде өз сұранысын және PPP жүктемесін орындайды, сондықтан беттің сәтті жүктелуі тек бір тар нәрсені дәлелдейді: хост 443 портында GET-ке жауап береді. Клиент басқа сұрақ қойып отыр, ал сервер оған нашар жауап беруі мүмкін.
Бет жүктеледі, ал туннель жүктелмейді
Адамдар браузер тестіне жүгіреді, өйткені ол жылдам, содан кейін нәтижені сервердің қолжетімді және конфигурацияланғанының дәлелі ретінде қабылдайды. Бұл мекенжай жолағы ашқан жолға GET туралы дәлел, одан артық емес. VPN әңгімесі сол TLS қол алысуынан кейін басталады, бірақ жібереді веб-бет ешқашан қолданбайтын әдіс пен жол. Сондықтан браузерге берілген 200 жауабы SSTP соңғы нүктесінің бар-жоғы туралы ештеңе айтпайды.
Екі бақылауды бөліңіз, сонда іздеу қысқарады. Тасымал және сертификат тізбегі жұмыс істейді, ал олардың үстіндегі хаттама алмасуында бір нәрсе жұмыс істемейді. Бұл сынған порт немесе мерзімі өткен сертификаттан өзге тергеу және басқа дәлелдерді қажет етеді.
SSTP клиенті шын мәнінде не жібереді
Клиент /sra_{GUID}/ жолына SSTP_DUPLEX_POST әдісімен HTTP сұранысын жібереді, содан кейін қосылым денесін PPP кадрларын тасымалдайтын екі бағытты ағын ретінде ашық ұстайды. Сәйкес сервер HTTP/1.1 200 деп жауап береді және веб-сервер сияқты әрекет етуді тоқтатады. Қалғанының бәрі қолтаңба: 405 немесе 404 соңғы нүктенің жоқтығын, 301 немесе 302 бір нәрсенің сұранысты қайта бағыттап жатқанын, ал дереу FIN прокси немесе сервер ағынды жапқанын білдіреді.
Сондықтан мақсат TLS сертификаты бекітілген веб-сервер емес, SSTP сервері болуы керек. Әдіс, жол және ұзақ өмірлі дене хаттама талаптары, сондықтан кері прокси оларды тек конфигурациямен қоса алмайды. Кәдімгі HTTPS-ті мінсіз жіберетін прокси де өзі танымайтын әдістен бас тартуы мүмкін.
Прокси немесе веб-сервер ағынды қай жерде үзеді
Делдал қандай да бір нәрсені жібермес бұрын HTTP сұраныс жолын тексереді, ал ерекше жолы бар теңшелген әдіс оның ережелерінен өтпей қалуы мүмкін. Кейбір құрылғылар қалыпты бетті ұсынып, туннельді қабылдамайды немесе үзеді, сондықтан клиент таза бас тартудың орнына басталып, кейін өлетін қосылымды хабарлайды. Басқалары сұранысты қабылдап, содан кейін PPP keepalive-тері шыдай алмайтын дене немесе бос тұру тайм-аутын қолданады. Екеуі де клиент жағынан бірдей көрінеді, сондықтан қай кезең сәтсіз болғаны қате мәтінінен маңыздырақ.
443 портын веб-сайт пен SSTP арасында бөлісу маршруттау таңдауы, әр хоп екі әңгімені бірдей өңдейді деген уәде емес. Егер жолда жүктеме теңгерушісі, брандмауэр немесе 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 құпиясөзін қайта орнатпаңыз, өйткені тіркелгі деректері ешқашан сұралмаған.