Kuidas kontrollida VPN-i sertifikaadi sõrmejälge eraldi kanali kaudu
Sõrmejälg tõestab identiteeti ainult siis, kui oodatud väärtus saabub kanali kaudu, mida ründaja ei kontrolli. Tehke kontroll selles järjekorras.
Sõrmejälg on täpselt nii usaldusväärne kui kanal, mis ütles teile, mida oodata. Kui väärtus, millega võrdlete, saabus sama ühenduse kaudu, mida testite, ei tõesta võrdlus midagi peale selle, et seda ühendust kontrolliv osapool on järjekindel. Kontroll peab toimuma kindlas järjekorras ja ebaõnnestunud samm peaks teid peatama, mitte järgmise juurde tõukama. Siin on järjekord, mida ma kasutan, kui VPN-i klient teatab, et sertifikaat on muutunud.
Nimetage objekt enne, kui nimetate väärtuse
Otsustage, kas oodatud väärtus kuulub serveri lehtsertifikaadile, väljaandvale CA-le või lehe sees olevale avalikule võtmele. Need on kolm erinevat kontrolli ja need ebaõnnestuvad erineval moel. Sobiv CA sõrmejälg ei kinnita serverit ja avaliku võtme räsi püsib meelega üle uuesti väljaandmise, mis säilitab sama võtme.
Kirjutage üles ka algoritm. SHA-256 on praegu tavaline ootus, kuid vanemad tööriistad trükkisid SHA-1, kui te ei küsinud midagi muud, ja 40-kohaline hex-väärtus on märk, et hakkate võrdlema kahte erinevat asja.
Hankige oodatud väärtus teise kanali kaudu
Teine kanal peab olema selline, kuhu osapool, kelle eest te end kaitsete, ei saa kirjutada. Provisionimissüsteem, kuhu te juba autendite, seifis hoitav trükitud kirje, konfiguratsiooniandmebaas või teise protsessi poolt kohale toodud allkirjastatud dokument kõik sobivad. Kolleegi sõnum vestlusrakenduses, otsingutulemuse kaudu jõutud tugileht ja kõik, mis on kleebitud terminali, kus te juba silute, ei sobi.
Küsige tervet väärtust ja algoritmi, mitte kunagi eesliidet. Koolonid ja tähtede suurus ei loe, kuid kärpimine muudab 256-bitise kontrolli oletusmänguks.
Kui keegi ei suuda oodatud väärtust sõltumatust allikast esitada, on aus tulemus see, et seda sertifikaati ei saa täna kontrollida. Seda öelda on parem kui kinnitada seda, mida klient just näitas, mis muudab hoiatuse harjumuseks.
Eraldage väärtus oma poolel
Sertifikaadifaili puhul on käsk openssl x509 -in server.crt -noout -fingerprint -sha256. Selgesõnaline räsi loeb: ilma selleta sõltub väljund teie OpenSSL-i versioonist. Tulemuseks on koolonitega eraldatud hex-string, seega eemaldage koolonid ja viige mõlemad pooled väiketähtedesse enne võrdlemist.
Lõpp-punkti puhul, mis räägib TLS-i otse, ühendage ja juhtige sertifikaat toru kaudu välja: openssl s_client -connect vpn.example.com:443 -servername vpn.example.com < /dev/null | openssl x509 -noout -fingerprint -sha256. See töötab veebihalduspaneeli või TLS-i kuulaja puhul, mitte OpenVPN puhul, mille juhtkanal asub tunnelis sees. OpenVPN-i puhul lugege sertifikaat kettalt profiilist, selle asemel et proovida seda soklist püüda.
Võrdlus peaks olema mehaaniline. Normaliseerige mõlemad väärtused tr -d ':' ja tähtede ühtlustamisega, seejärel võrrelge tervet stringi. Silma järgi tegemine on viis, kuidas sobiv eesliide peidab erinevuse viimases baidis. Kui stringid erinevad, käsitlege erinevust tegelikuna enne, kui hakkate seletust otsima.
Peatumistingimused
Peatuge, kui objekt erineb, sest CA sõrmejälg ei saa lehtsertifikaati puhtaks teha ja leht ei saa CA-d puhtaks teha. Peatuge, kui algoritm erineb, sest SHA-1 väärtus SHA-256 väärtuse vastu ei ütle teile midagi. Peatuge, kui sõrmejälg sobib, kuid sertifikaat on aegunud, tühistatud või välja antud teise nime jaoks; sobiv räsi ei ole kehtivuskontroll ja ei paranda katkist ahelat. Peatuge ka siis, kui seerianumber ei ühti selle kirje seerianumbriga, mille vastu kontrollite, sest see on odavaim viis märgata asendatud sertifikaati.
Peatuge, kui uus väärtus saabus kanali kaudu, mida testisite. Rotatsioon võib sõrmejälge seaduslikult muuta, kuid asendusväärtus peab ikkagi tulema usaldusväärsest protsessist, mitte hoiatusteatise dialoogist, mis küsimuse tekitas.
Peatuge, kui soovitatud parandus on hostinime või ahela kontrolli väljalülitamine. Sõrmejälg lisab tavalistele kontrollidele piirangu; see ei asenda neid, välja arvatud juhul, kui juurutus on teadlikult valinud ainult-pin-mudeli, ja see valik toob kaasa oma tegevuskulud.
Pärast võrdlemist
Kirjutage üles, mida võrdlesite, kust oodatud väärtus tuli ja millal. Kui sertifikaat anti uuesti välja, uuendage salvestatud ootust sama usaldusväärse kanali kaudu ja märkige uus seerianumber, sest seerianumber on see, mis teeb järgmise rotatsiooni auditeeritavaks.
Seejärel olge piiride osas selge. Sõrmejälg kinnitab, et sertifikaat, mis teil on, on see, mida keegi käskis teil oodata. See ei ütle midagi selle kohta, kas host on kompromiteerimata, ega selle kohta, kas teenus logib või piirab seda, mida see sertifikaat võib saavutada.