Pirštų atspaudas yra toks patikimas, koks patikimas yra kanalas, kuris jums pasakė, ko tikėtis. Jei reikšmė, su kuria lyginate, atėjo ta pačia jungtimi, kurią tikrinate, palyginimas neįrodo nieko daugiau, tik tai, kad tą jungtį valdanti pusė yra nuosekli. Patikra turi vykti nustatyta tvarka, o nepavykęs žingsnis turėtų jus sustabdyti, o ne stumti prie kito. Štai tvarka, kurią taikau, kai VPN klientas praneša, kad sertifikatas pasikeitė.

Įvardykite objektą prieš įvardydami reikšmę

Nuspręskite, ar laukiama reikšmė priklauso serverio lapo sertifikatui, jį išduodančiai CA, ar viešajam raktui lapo viduje. Tai trys skirtingos patikros, ir jos nepavyksta skirtingai. Atitinkantis CA pirštų atspaudas serverio neužfiksuoja, o viešojo rakto maiša sąmoningai išlieka po pakartotinio išdavimo, kuris išsaugo tą patį raktą.

Užsirašykite ir algoritmą. SHA-256 šiandien yra įprastas lūkestis, bet senesni įrankiai spausdino SHA-1, jei neprašėte ko nors kito, o 40 simbolių šešioliktainė reikšmė yra ženklas, kad tuoj lyginsite du skirtingus dalykus.

Gaukite laukiamą reikšmę antru kanalu

Antrasis kanalas turi būti toks, į kurį pusė, nuo kurios ginatės, negali rašyti. Tiekimo sistema, kurioje jau autentifikuojatės, seife laikomas spausdintas įrašas, konfigūracijos duomenų bazė ar kito proceso pristatytas pasirašytas dokumentas tinka visi. Kolegos pokalbio žinutė, per paieškos rezultatą pasiekta pagalbos svetainė ir bet kas, įklijuota į terminalą, kuriame jau derinate, netinka.

Prašykite visos reikšmės ir algoritmo, niekada priešdėlio. Dvitaškiai ir didžiosios ar mažosios raidės nesvarbu, bet sutrumpinimas 256 bitų patikrą paverčia spėliojimo žaidimu.

Jei niekas negali pateikti laukiamos reikšmės iš nepriklausomo šaltinio, sąžiningas rezultatas yra tas, kad šio sertifikato šiandien patikrinti negalima. Tai pasakyti geriau, nei užfiksuoti tai, ką klientas ką tik parodė, nes tai paverčia įspėjimą įpročiu.

Išgaukite reikšmę savo pusėje

Sertifikato failui komanda yra openssl x509 -in server.crt -noout -fingerprint -sha256. Aiški maiša svarbi: be jos išvestis priklauso nuo jūsų OpenSSL versijos. Rezultatas yra dvitaškiais atskirta šešioliktainė eilutė, todėl pašalinkite dvitaškius ir prieš lygindami abi puses paverskite mažosiomis raidėmis.

Jei galinis taškas tiesiogiai kalba TLS, prisijunkite ir išveskite sertifikatą vamzdžiu: openssl s_client -connect vpn.example.com:443 -servername vpn.example.com < /dev/null | openssl x509 -noout -fingerprint -sha256. Tai veikia interneto administravimo skydeliui ar TLS klausytojui, bet ne OpenVPN, kurio valdymo kanalas yra tunelio viduje. OpenVPN atveju skaitykite sertifikatą iš profilio diske, o ne bandykite jį pagauti iš lizdo.

Palyginimas turėtų būti mechaniškas. Normalizuokite abi reikšmes naudodami tr -d ':' ir raidžių suvienodinimą, tada palyginkite visą eilutę. Lyginti akimis yra būdas, kuriuo atitinkantis priešdėlis paslepia skirtumą paskutiniame baite. Jei eilutės skiriasi, traktuokite skirtumą kaip tikrą, prieš ieškodami paaiškinimo.

Sustabdymo sąlygos

Sustokite, jei objektas skiriasi, nes CA pirštų atspaudas negali išteisinti lapo sertifikato, o lapas negali išteisinti CA. Sustokite, jei algoritmas skiriasi, nes SHA-1 reikšmė prieš SHA-256 reikšmę jums nieko nesako. Sustokite, jei pirštų atspaudas sutampa, bet sertifikatas pasibaigęs, atšauktas arba išduotas kitam vardui; atitinkanti maiša nėra galiojimo patikra ir nesutaiso sulaužytos grandinės. Sustokite ir tada, kai serijos numeris nesutampa su serijos numeriu įraše, su kuriuo tikrinate, nes tai pigiausias būdas pastebėti pakeistą sertifikatą.

Sustokite, jei nauja reikšmė atėjo kanalu, kurį tikrinote. Rotacija gali teisėtai pakeisti pirštų atspaudą, bet pakeitimo reikšmė vis tiek turi ateiti iš patikimo proceso, o ne iš įspėjimo dialogo, kuris sukėlė klausimą.

Sustokite, jei siūloma pataisa yra išjungti pagrindinio kompiuterio vardo ar grandinės tikrinimą. Pirštų atspaudas prideda apribojimą prie įprastų patikrų; jis jų nepakeičia, nebent diegimas sąmoningai pasirinko tik kaiščio modelį, ir tas pasirinkimas turi savo eksploatacines sąnaudas.

Po palyginimo

Užrašykite, ką lyginote, iš kur atėjo laukiama reikšmė ir kada. Jei sertifikatas buvo išduotas pakartotinai, atnaujinkite saugomą lūkestį tuo pačiu patikimu kanalu ir pažymėkite naują serijos numerį, nes būtent serijos numeris leidžia audituoti kitą rotaciją.

Tada aiškiai įvardykite ribas. Pirštų atspaudas patvirtina, kad turimas sertifikatas yra tas, kurio kažkas jums liepė tikėtis. Jis nieko nesako apie tai, ar pagrindinis kompiuteris nekompromituotas, ir nieko apie tai, ar paslauga registruoja ar riboja, ką tas sertifikatas gali pasiekti.

Susiję straipsniai