443. ports atbild, bet SSTP joprojām neizdodas: kura stadija salūza?
Kaut kas pieņēma savienojumu, un tunelis tomēr netiek būvēts. Atdaliet transportu, sertifikātu, SSTP sarunas un PPP autentifikāciju.
TCP rokas sasveicināšanās pabeigšana uz portu 443, kamēr tunelis nekad netiek būvēts, pierāda vienu lietu, un tā ir maza lieta. Kaut kas klausās un ir gatavs pieņemt savienojumu šajā adresē. Tas nenosaka pakalpojumu, sertifikātu, kas tiks uzrādīts, vai to, kas notiek pēc pirmajām baitēm.
Starp šo rokas sasveicināšanos un strādājošu tuneli ir četras stadijas, un katra rada citu kļūdu.
Atvērts ports raksturo tikai vienu slāni
Pieņemt TCP savienojumu nozīmē, ka process pieder ligzdu un ceļš pieļauj rokas sasveicināšanos. Tas neko nepasaka par to, vai šis process ir SSTP serveris, vai tam ir derīgs sertifikāts profila nosaukumam, vai tas autorizēs jūsu kontu. Tīmekļa serveris tajā pašā adresē lieliski atbild uz rokas sasveicināšanos un pēc tam atbild uz jūsu SSTP pieprasījumu ar HTTP kļūdu. Viss virs šīs rokas sasveicināšanās paliek nepārbaudīts.
Uztveriet porta testu kā lētāko iespējamo filtru, nevis kā spriedumu. Tā vērtība ir tajā, ka tas noņem veselu kļūdu kategoriju, nevis tajā, ka apstiprina visu virs tā.
Šo divu sajaukšana ir iemesls, kāpēc cilvēki pārinstalē klientus pēc testa, kas nekad nav izpētījis klienta patieso problēmu.
Atdaliet četras stadijas ar pierādījumiem
Stadijas ir transporta sasniedzamība, TLS validācija, SSTP apmaiņa pa HTTPS un PPP autentifikācija tuneļa iekšienē. Ceļam, kas iztur pirmo un neizdodas ceturtajā, nepieciešams akreditācijas datu labojums; tam, kas neizdodas otrajā, nepieciešams sertifikāta vai nosaukuma labojums. Šiem labojumiem nav nekā kopīga, un nepareizā izvēle izšķiež pārtraukumu.
nc -vz vpn.example.net 443
openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -brief
curl -sS -o /dev/null -w '%{http_code}\n' https://vpn.example.net/
Trešo komandu ir vērts uzmanīgi izlasīt. 200 no parastas tīmekļa lapas jums saka, ka tīmekļa pakalpojums pastāv; tas nesaka, ka SSTP pieprasījums tiks saprasts. 404 no tās pašas adreses ir tikpat neinformatīvs par VPN. Tikai klienta žurnāls jums saka, kuru no četrām stadijām tas sasniedza.
Ievērojiet, kādu nosaukumu izmantoja katra komanda. Sertifikāts tiek izvēlēts pēc nosaukuma, ko sūtāt, tāpēc neatbilstība starp profilu un testu ir neatbilstība, ko ieviesāt jūs. Šī nosaukuma pierakstīšana blakus rezultātam vēlāk novērš apjukumu.
Lasiet daļējus panākumus pareizajā virzienā
Starpposms var atļaut parasto pārlūkošanu un atteikt vēlāko apmaiņu, tāpēc starpniekserveris, kas darbojas vietnēm, joprojām var neizdoties tunelim. Tas pats modelis parādās, kad sertifikāts ir derīgs pārlūkprogrammas nosaukumam, bet ne profilā konfigurētajam nosaukumam: pārlūkprogramma ir apmierināta, bet klients nav, un abi ir pareizi par to, ko pārbaudīja.
Diagnostikas laikā turiet servera validāciju ieslēgtu. Tās izslēgšana pārvērš sertifikāta neatbilstību veiksmīgā rokas sasveicināšanās un slēpj vienīgo pierādījumu, kas būtu izskaidrojis kļūdu.
Ja tas pats profils darbojas no cita tīkla, atšķirība ir atkarīga no ceļa. Tas sašaurina meklēšanu līdz starpniekiem, nepasakot kuru, un tas joprojām ir noderīgs solis uz priekšu. Pierakstiet izmantoto tīklu, jo salīdzinājums bez tā ir bezvērtīgs.
Pēc tam pārbaudiet lietojumprogrammu, ne tikai sesiju
Kad sesija pastāv, pārbaudiet paredzēto maršrutu, nosaukumu atrisināšanu un pakalpojuma atļauju no klienta, kuram tās ir vajadzīgas. Pievienotam tunelim joprojām var būt trūkstoša pāradresācija tālajā pusē vai atgriešanās maršruts, kas nekad nav pastāvējis, un šīs kļūdas gaidošajam cilvēkam izskatās tieši kā lietojumprogrammas problēma.
Turiet katru secinājumu piesaistītu stadijai, kas to radīja. Atvērtu portu saukt par strādājošu VPN ir veids, kā piecu minūšu sertifikāta pārbaude pārvēršas dienā, kad programma tiek pārinstalēta.