Neujemanje potrdila SSTP: ime, ki ga mora vaš strežnik predstaviti
Odjemalec primerja ime gostitelja iz profila s potrdilom, nato preveri verigo in namen. Popravite profil ali potrdilo, nikoli preverjanja.
SSTP odjemalec sprejme strežnik šele po uspešnem preverjanju TLS, in to preverjanje primerja ime, verigo in namen. Ime prihaja iz profila povezave, ne iz naslova, ki ga slučajno lahko pingate. Ko se ena od treh stvari ne ujema, odjemalec sporoči težavo s potrdilom in nikoli ne doseže poziva za prijavo.
Ime v profilu odloča, kaj se preverja
SSTP izvaja TLS prek TCP 443, zato se odjemalec obnaša kot vsak drug odjemalec TLS: vzame ime gostitelja iz profila, zahteva to ime in primerja potrdilo z njim. Če v profil vpišete naslov IP, primerjava postane primerjava naslovov IP, ki ji večina strežniških potrdil ne ustreza.
Zato lahko preizkus v brskalniku uspe, medtem ko VPN ne uspe, ker je brskalnik uporabil drugo ime od tistega v profilu. Ista delitev se pojavi, ko split-horizon DNS razreši ime gostitelja VPN v notranji naslov, medtem ko je brskalnik dosegel javnega. Najprej uskladite profil z dokumentiranim imenom gostitelja, nato primerjajte potrdila. Vse drugo, kar spremenite pred tem, je ugibanje.
Kaj mora vsebovati potrdilo strežnika
Sodobni odjemalci primerjajo z razširitvijo alternativnih imen subjekta, zato mora biti ime gostitelja tam kot vnos DNS. Samo skupno ime ne zadostuje za današnje sklade preverjanja, nadomestni znak pa pokriva eno oznako, ne poljubne poddomene, ki si jo izmislite. Tri potrdila kažejo mejo: pravilno ime z napačnim namenom potrdi identiteto in nato spodleti pri preverjanju namena, pravilna ime in namen z manjkajočim vmesnim potrdilom spodletita na verigi, ime, ki je le v skupnem imenu, pa spodleti, preden karkoli od tistih dveh sploh šteje.
Potrdilo potrebuje tudi namen preverjanja pristnosti strežnika, vrednost razširjene uporabe ključa, navedeno v specifikaciji SSTP podjetja Microsoft, to je serverAuth z identifikatorjem objekta 1.3.6.1.5.5.7.3.1. Uporaba ključa in veljavna veriga dopolnita nabor. Potrdilo, ki obstaja na strežniku, je izdano za pravilno ime, a le za preverjanje pristnosti odjemalca, še vedno spodleti.
Preverite verigo in uro pred poverilnicami
Odpovedi časa in zaupanja dajejo enak viden rezultat kot neujemanje imena, in oboje je ceneje diagnosticirati kot težavo z geslom. Preverite uro strežnika in uro odjemalca, nato preberite verigo tako, kot jo vidi odjemalec:
# from the client, or any host that runs openssl
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts </dev/null 2>/dev/null | openssl x509 -noout -subject -dates -ext subjectAltName
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -verify_return_error </dev/null
# on the Windows server that holds the SSTP listener
w32tm /query /statusPrvi ukaz izpiše ime, obdobje veljavnosti in alternativna imena, s katerimi bo odjemalec primerjal. Drugi sporoča napake preverjanja skupaj s predstavljeno verigo in prav tam se pojavi manjkajoče vmesno potrdilo. V sistemu Windows vam poizvedba časovne storitve pove, ali se ura popravlja ali je preprosto zbežala.
Notranji CA doda še en pogoj: odjemalec mora zaupati temu CA. Namestite organizacijsko korenino po odobrenem distribucijskem kanalu, ne s strani, ki ponuja nadomestno potrdilo, ker je ta odločitev celoten model zaupanja v malem.
Preverjanje strežnika in preverjanje pristnosti uporabnika sta zaporedni stopnji z različnimi odpovedmi. Napaka potrdila pomeni, da odjemalec strežniku ni nikoli zaupal, zavrnjeno geslo pa pomeni, da mu je zaupal in so bile poverilnice napačne. Izklop preverjanja potrdila, da bi dosegli poziv za geslo, odpravi jamstvo, namesto da bi ga popravil. Da bi dokazali, da preostanek poti deluje, preizkusite isto ime gostitelja in ista vrata z odjemalca, ki verigi že zaupa, in nameščen profil pustite pri miru.
Popravite ime ali potrdilo in znova preizkusite
Popravilo določajo trije pogoji. Če je ime v profilu napačno, popravite profil ali dodajte manjkajoče ime v potrdilo. Če je veriga nepopolna, namestite vmesno potrdilo na strežnik. Če je namen napačen, izdajte novo, namesto da bi ga zakrpali okoli.
Po spremembi se znova povežite s podprtim odjemalcem in potrdite, da se pojavi poziv za prijavo in nato da se tunel dvigne. V zahtevek zapišite uporabljeno ime gostitelja, izdajatelja in datum poteka. Ta zapis je tisto, kar naslednjo obnovitev spremeni v načrtovano opravilo namesto v novo prekinitev, in tudi pokaže naslednji osebi, kateri od treh pogojev je bil v resnici kršen.