SSTP klients pieņem serveri tikai pēc tam, kad TLS pārbaude ir veiksmīga, un šī pārbaude salīdzina vārdu, ķēdi un mērķi. Vārds nāk no savienojuma profila, nevis no adreses, kuru jūs nejauši varat pingot. Kad kāds no trim nesakrīt, klients ziņo par sertifikāta problēmu un nekad nenonāk līdz pieteikšanās uzvednei.

Profila vārds nosaka, kas tiek pārbaudīts

SSTP darbina TLS virs TCP 443, tāpēc klients uzvedas kā jebkurš cits TLS klients: tas paņem resursdatora vārdu no profila, pieprasa šo vārdu un salīdzina sertifikātu ar to. Ja profilā ievadāt IP adresi, salīdzinājums kļūst par IP adrešu salīdzinājumu, ko vairums servera sertifikātu neapmierina.

Tāpēc pārlūka tests var izdoties, kamēr VPN neizdodas, jo pārlūks izmantoja citu vārdu nekā profils. Tāda pati šķelšanās parādās, kad split-horizon DNS atrisina VPN resursdatora vārdu uz iekšēju adresi, kamēr pārlūks sasniedza publisku. Vispirms saskaņojiet profilu ar dokumentēto resursdatora vārdu, pēc tam salīdziniet sertifikātus. Viss cits, ko maināt pirms tam, ir minējums.

Kas jābūt servera sertifikātā

Mūsdienu klienti salīdzina ar subjekta alternatīvo nosaukumu paplašinājumu, tāpēc resursdatora vārdam tur jābūt kā DNS ierakstam. Ar vienu parasto nosaukumu mūsdienu validācijas stekiem nepietiek, un aizstājējzīme aptver vienu etiķeti, nevis jebkuru jūsu izdomātu apakšdomēnu. Trīs sertifikāti parāda robežu: pareizais vārds ar nepareizu mērķi apstiprina identitāti un pēc tam neizdodas mērķa pārbaudē, pareizie vārds un mērķis ar trūkstošu starpsertifikātu neizdodas ķēdē, un vārds, kas ir tikai parastajā nosaukumā, neizdodas, pirms kāds no tiem diviem sāk būt nozīmīgs.

Sertifikātam vajadzīgs arī servera autentifikācijas mērķis — paplašinātās atslēgas lietojuma vērtība, kas nosaukta Microsoft SSTP specifikācijā, proti, serverAuth ar objekta identifikatoru 1.3.6.1.5.5.7.3.1. Atslēgas lietojums un derīga ķēde pabeidz kopu. Sertifikāts, kas ir serverī, izsniegts pareizajam vārdam, bet tikai klienta autentifikācijai, tomēr neizdodas.

Pirms pieteikšanās datiem pārbaudiet ķēdi un pulksteni

Laika un uzticēšanās kļūmes dod tādu pašu redzamo rezultātu kā vārda neatbilstība, un abus ir lētāk diagnosticēt nekā paroles problēmu. Pārbaudiet servera pulksteni un klienta pulksteni, pēc tam lasiet ķēdi tā, kā to redz klients:

# 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 /status

Pirmā komanda izdrukā vārdu, derīguma logu un alternatīvos vārdus, ar kuriem klients salīdzinās. Otrā ziņo par verifikācijas kļūdām kopā ar uzrādīto ķēdi, un tieši tur parādās trūkstošais starpsertifikāts. Windows vidē laika servisa vaicājums pasaka, vai pulkstenis tiek koriģēts vai vienkārši aizgājis.

Iekšējais CA pievieno vēl vienu nosacījumu: klientam ir jāuzticas šim CA. Instalējiet organizācijas sakni caur tās apstiprināto izplatīšanas kanālu, nevis no lapas, kas piedāvā aizvietošanas sertifikātu, jo šis lēmums ir viss uzticēšanās modelis sīkā veidā.

Servera validācija un lietotāja autentifikācija ir secīgi posmi ar atšķirīgām kļūmēm. Sertifikāta kļūda nozīmē, ka klients nekad nav uzticējies serverim, kamēr noraidīta parole nozīmē, ka tas uzticējās serverim un dati bija nepareizi. Sertifikāta validācijas izslēgšana, lai sasniegtu paroles uzvedni, noņem garantiju tā vietā, lai to salabotu. Lai pierādītu, ka pārējais ceļš darbojas, pārbaudiet to pašu resursdatora vārdu un portu no klienta, kas jau uzticas ķēdei, un atstājiet izvietoto profilu mierā.

Labojiet vārdu vai sertifikātu un testējiet vēlreiz

Labojumu nosaka trīs nosacījumi. Ja profila vārds ir nepareizs, labojiet profilu vai pievienojiet trūkstošo vārdu sertifikātam. Ja ķēde ir nepilnīga, instalējiet starpsertifikātu serverī. Ja mērķis ir nepareizs, izsniedziet no jauna, nevis lāpiet apkārt.

Pēc izmaiņām atkārtoti piesakieties ar atbalstīto klientu un pārliecinieties, ka parādās pieteikšanās uzvedne un pēc tam ka tuneļa savienojums paceļas. Biļetē ierakstiet izmantoto resursdatora vārdu, izdevēju un derīguma beigu datumu. Šis ieraksts padara nākamo atjaunināšanu par plānotu darbu, nevis vēl vienu pārtraukumu, un parāda nākamajam cilvēkam, kurš no trim nosacījumiem patiešām bija pārkāpts.

Saistītie raksti