SSTP sertifikaadi sobimatus: nimi, mille teie server peab esitama
Klient võrdleb profiili hostinime sertifikaadiga ning kontrollib seejärel ahelat ja otstarvet. Parandage profiil või sertifikaat, mitte kunagi valideerimine.
SSTP klient võtab serveri vastu alles pärast TLS-i valideerimise õnnestumist ja see kontroll võrdleb nime, ahelat ja otstarvet. Nimi tuleb ühenduse profiilist, mitte aadressist, mida te juhuslikult pingida saate. Kui üks kolmest ei klapi, teatab klient sertifikaadi probleemist ega jõua kunagi sisselogimisküsimuseni.
Profiili nimi otsustab, mida kontrollitakse
SSTP käitab TLS-i üle TCP 443, seega käitub klient nagu iga teine TLS-klient: võtab hostinime profiilist, küsib seda nime ja võrdleb sertifikaati sellega. Kui sisestate profiili IP-aadressi, muutub võrdlus IP-aadresside võrdluseks, mida enamik serveri sertifikaate ei rahulda.
Seetõttu võib brauseri test õnnestuda, samal ajal kui VPN ebaõnnestub, sest brauser kasutas profiilist erinevat nime. Sama lõhe ilmneb siis, kui split-horizon DNS teisendab VPN-i hostinime sisemiseks aadressiks, samal ajal kui brauser jõudis avalikku. Viige profiil esmalt dokumenteeritud hostinimega kooskõlla ja võrrelge seejärel sertifikaate. Kõik muu, mida te enne seda muudate, on oletus.
Mida serveri sertifikaat peab kandma
Kaasaegsed kliendid võrdlevad subjekti alternatiivsete nimede laiendiga, seega peab hostinimi seal olema DNS-kirjena. Ainult üldnimi ei ole praegustele valideerimispinudele piisav ja metamärk katab ühe sildi, mitte ükskõik millise teie väljamõeldud alamdomeeni. Kolm sertifikaati näitavad piiri: õige nimi vale otstarvega valideerib identiteedi ja ebaõnnestub seejärel otstarbe kontrollis, õiged nimi ja otstarve puuduva vahesertifikaadiga ebaõnnestuvad ahelas ning nimi, mis esineb ainult üldnimes, ebaõnnestub enne, kui kumbki kahest muust loeb.
Sertifikaat vajab ka serveri autentimise otstarvet, laiendatud võtmekasutuse väärtust, mis on nimetatud Microsofti SSTP-spetsifikatsioonis, täpsemalt serverAuth objektitunnusega 1.3.6.1.5.5.7.3.1. Võtmekasutus ja kehtiv ahel täiendavad komplekti. Sertifikaat, mis on serveril olemas, välja antud õige nime jaoks, kuid ainult kliendi autentimiseks, ebaõnnestub ikkagi.
Kontrollige ahelat ja kella enne mandaate
Aja- ja usaldustõrked annavad sama nähtava tulemuse nagu nime sobimatus ja mõlemat on odavam diagnoosida kui parooliprobleemi. Kontrollige serveri kella ja kliendi kella ning seejärel lugege ahelat nii, nagu klient seda näeb:
# 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 /statusEsimene käsk trükib nime, kehtivusakna ja alternatiivsed nimed, millega klient võrdleb. Teine teatab kontrollimise vigadest koos esitatud ahelaga ja just seal ilmub puuduv vahesertifikaat. Windowsis ütleb ajateenuse päring, kas kella parandatakse või on see lihtsalt triivinud.
Sisemine CA lisab veel ühe tingimuse: klient peab seda CA-d usaldama. Paigaldage organisatsiooni juur sertifikaat oma kinnitatud levituskanali kaudu, mitte lehelt, mis pakub asendussertifikaati, sest see otsus on kogu usaldusmudel pisikeses mõõtkavas.
Serveri valideerimine ja kasutaja autentimine on järjestikused etapid erinevate tõrgetega. Sertifikaadi viga tähendab, et klient ei usaldanud serverit kunagi, samas kui tagasilükatud parool tähendab, et ta usaldas serverit ja mandaadid olid valed. Sertifikaadi valideerimise väljalülitamine parooliküsimuseni jõudmiseks eemaldab tagatise, selle asemel et see parandada. Tõestamaks, et ülejäänud tee töötab, testige sama hostinime ja porti kliendist, mis juba usaldab ahelat, ja jätke juurutatud profiil puutumata.
Parandage nimi või sertifikaat ning testige uuesti
Paranduse otsustavad kolm tingimust. Kui profiili nimi on vale, parandage profiil või lisage puuduv nimi sertifikaadile. Kui ahel on puudulik, paigaldage vahesertifikaat serverile. Kui otstarve on vale, andke sertifikaat uuesti välja, selle asemel et seda lappida.
Pärast muudatust ühenduge uuesti toetatud kliendiga ja kinnitage, et sisselogimisküsimus ilmub, ning seejärel et tunnel tõuseb. Märkige piletisse kasutatud hostinimi, väljaandja ja aegumiskuupäev. Just see kirje teeb järgmisest uuendamisest planeeritud ülesande, mitte veel ühe katkestuse, ja näitab ka järgmisele inimesele, milline kolmest tingimusest oli tegelikult rikutud.