Ako overiť odtlačok certifikátu VPN cez samostatný kanál
Odtlačok preukazuje totožnosť len vtedy, keď očakávaná hodnota prichádza kanálom, ktorý útočník neovláda. Vykonajte kontrolu v tomto poradí.
Odtlačok je len taký spoľahlivý, aký spoľahlivý je kanál, ktorý vám povedal, čo máte očakávať. Ak hodnota, s ktorou porovnávate, prišla rovnakým spojením, ktoré testujete, porovnanie nepreukazuje nič viac než to, že strana, ktorá toto spojenie ovláda, je konzistentná. Kontrola musí prebiehať v pevnom poradí a neúspešný krok by vás mal zastaviť, nie posunúť k ďalšiemu. Toto je poradie, ktoré používam, keď klient VPN ohlási, že sa certifikát zmenil.
Pomenujte objekt skôr, než pomenujete hodnotu
Rozhodnite, či očakávaná hodnota patrí koncovému certifikátu servera, vydávajúcej CA alebo verejnému kľúču vnútri koncového certifikátu. Sú to tri rôzne kontroly a zlyhávajú rôznym spôsobom. Zhodný odtlačok CA server nepripne a hash verejného kľúča zámerne prežije opätovné vydanie, ktoré zachová ten istý kľúč.
Zapíšte aj algoritmus. SHA-256 je dnes bežné očakávanie, ale staršie nástroje vypisovali SHA-1, ak ste nepožiadali inak, a 40-znaková hexadecimálna hodnota je znakom, že sa chystáte porovnávať dve rôzne veci.
Získajte očakávanú hodnotu druhým kanálom
Druhý kanál musí byť taký, do ktorého strana, pred ktorou sa chránite, nemôže zapisovať. Systém správy, do ktorého sa už prihlasujete, tlačený záznam v trezore, konfiguračná databáza alebo podpísaný dokument doručený iným procesom, všetky vyhovujú. Chatová správa od kolegu, stránka podpory dosiahnutá cez výsledok hľadania a čokoľvek vložené do terminálu, v ktorom už ladíte, nevyhovujú.
Žiadajte celú hodnotu a algoritmus, nikdy nie prefix. Dvojbodky a veľké či malé písmená nehrajú rolu, ale skrátenie mení kontrolu na 256 bitov na hádanku.
Ak nikto nedokáže dodať očakávanú hodnotu z nezávislého zdroja, čestný výsledok je, že tento certifikát dnes nemožno overiť. Povedať to je lepšie než pripnúť to, čo klient práve zobrazil, pretože tým sa z varovania stáva zvyk.
Získajte hodnotu na svojej strane
Pre súbor certifikátu je príkaz openssl x509 -in server.crt -noout -fingerprint -sha256. Explicitný digest je dôležitý: bez neho výstup závisí od vašej verzie OpenSSL. Výsledkom je hexadecimálny reťazec oddelený dvojbodkami, preto dvojbodky odstráňte a pred porovnaním obe strany prepíšte na malé písmená.
Pre koncový bod, ktorý hovorí priamo TLS, sa pripojte a certifikát vytlačte cez rúru: openssl s_client -connect vpn.example.com:443 -servername vpn.example.com < /dev/null | openssl x509 -noout -fingerprint -sha256. Funguje to pre webový administračný panel alebo TLS poslucháč, nie pre OpenVPN, ktorého riadiaci kanál je vnútri tunela. Pre OpenVPN čítajte certifikát z profilu na disku namiesto toho, aby ste sa ho pokúšali zachytiť zo socketu.
Porovnanie by malo byť mechanické. Normalizujte obe hodnoty pomocou tr -d ':' a prevodu na malé písmená, potom porovnajte celý reťazec. Porovnávať to okom je spôsob, akým zhodný prefix skryje rozdiel v poslednom bajte. Ak sa reťazce líšia, považujte rozdiel za skutočný, kým začnete hľadať vysvetlenie.
Podmienky zastavenia
Zastavte sa, ak sa objekt líši, pretože odtlačok CA nemôže očistiť koncový certifikát a koncový certifikát nemôže očistiť CA. Zastavte sa, ak sa líši algoritmus, pretože hodnota SHA-1 proti hodnote SHA-256 vám nič nehovorí. Zastavte sa, ak odtlačok sedí, ale certifikát je po expirácii, odvolaný alebo vydaný na iné meno; zhodný hash nie je kontrola platnosti a neopraví rozbitú reťaz. Zastavte sa aj vtedy, ak sériové číslo nezodpovedá sériovému číslu v zázname, proti ktorému kontrolujete, pretože je to najlacnejší spôsob, ako odhaliť podvrhnutý certifikát.
Zastavte sa, ak nová hodnota prišla kanálom, ktorý ste testovali. Rotácia môže odtlačok legitímne zmeniť, ale náhradná hodnota musí aj tak prísť z dôveryhodného procesu, nie z dialógu varovania, ktorý otázku vyvolal.
Zastavte sa, ak navrhovanou opravou je vypnutie overovania názvu hostiteľa alebo reťaze. Odtlačok pridáva k bežným kontrolám obmedzenie; nenahrádza ich, ak nasadenie vedome nezvolilo model iba s pinom, a táto voľba prináša vlastné prevádzkové náklady.
Po porovnaní
Zaznamenajte, čo ste porovnali, odkiaľ očakávaná hodnota prišla a kedy. Ak bol certifikát znovu vydaný, aktualizujte uložené očakávanie tým istým dôveryhodným kanálom a poznamenajte nové sériové číslo, pretože práve sériové číslo robí ďalšiu rotáciu dohľadateľnou.
Potom buďte jasní o limitoch. Odtlačok potvrdzuje, že certifikát, ktorý držíte, je ten, ktorý vám niekto povedal očakávať. Nehovorí nič o tom, či je hostiteľ nekompromitovaný, ani o tom, či služba zaznamenáva alebo obmedzuje, kam sa tento certifikát môže dostať.