’n Vingerafdruk is net so goed soos die kanaal wat jou vertel het wat om te verwag. Kom die waarde waarmee jy vergelyk oor dieselfde verbinding wat jy toets, dan bewys die vergelyking niks anders as dat wie ook al daardie verbinding beheer, konsekwent is nie. Die kontrole moet in ’n vaste volgorde verloop, en ’n mislukte stap moet jou stop eerder as om jou na die volgende een te stoot. Hier is die volgorde wat ek gebruik wanneer ’n VPN-kliënt meld dat ’n sertifikaat verander het.

Benoem die objek voordat jy die waarde benoem

Besluit of die verwagte waarde aan die bediener se eindsertifikaat, aan die uitreikende CA of aan die publieke sleutel in die eindsertifikaat behoort. Dit is drie verskillende kontroles, en hulle faal op verskillende maniere. ’n CA-vingerafdruk wat pas, pen nie die bediener nie, en ’n publieke-sleutel-hash oorleef doelbewus ’n heruitreiking wat dieselfde sleutel behou.

Skryf ook die algoritme neer. SHA-256 is nou die normale verwagting, maar ouer gereedskap het SHA-1 gedruk tensy jy iets anders gevra het, en ’n 40-karakter hekswaarde is ’n teken dat jy op die punt staan om twee verskillende dinge te vergelyk.

Kry die verwagte waarde deur ’n tweede kanaal

Die tweede kanaal moet een wees waarna die party teen wie jy jou beskerm nie kan skryf nie. ’n Voorsieningstelsel waarby jy alreeds aanmeld, ’n gedrukte rekord in ’n kluis, ’n konfigurasiedatabasis of ’n ondertekende dokument wat deur ’n ander proses afgelewer word, kwalifiseer almal. ’n Kletsboodskap van ’n kollega, ’n ondersteuningsbladsy wat deur ’n soekresultaat bereik is, en enigiets wat in die terminale geplak word waarin jy alreeds ontfout, kwalifiseer nie.

Vra vir die volledige waarde en die algoritme, nooit vir ’n voorvoegsel nie. Kolonpunte en letterkas maak nie saak nie, maar afkapping maak van ’n 256-bis kontrole ’n raaispeletjie.

As niemand die verwagte waarde uit ’n onafhanklike bron kan lewer nie, is die eerlike resultaat dat hierdie sertifikaat vandag nie geverifieer kan word nie. Om dit te sê is beter as om te pen wat die kliënt pas gewys het, want dit maak van ’n waarskuwing ’n gewoonte.

Onttrek die waarde aan jou eie kant

Vir ’n sertifikaatlêer is die opdrag openssl x509 -in server.crt -noout -fingerprint -sha256. Die eksplisiete digest maak saak: sonder dit hang die uitset van jou OpenSSL-weergawe af. Die resultaat is ’n kolon-geskeide heksstring, so stroop die kolonpunte en maak beide kante kleinletters voordat jy vergelyk.

Vir ’n eindpunt wat TLS direk praat, koppel en pyp die sertifikaat uit: openssl s_client -connect vpn.example.com:443 -servername vpn.example.com < /dev/null | openssl x509 -noout -fingerprint -sha256. Dit werk vir ’n web-adminpaneel of ’n TLS-luisteraar, nie vir OpenVPN nie, wie se beheerkanaal binne die tonnel sit. Vir OpenVPN, lees die sertifikaat uit die profiel op skyf eerder as om te probeer om dit uit die sok te vang.

Die vergelyking moet meganies wees. Normaliseer beide waardes met tr -d ':' en ’n kleinkastransformasie, vergelyk dan die hele string. Om dit met die oog te doen is hoe ’n passende voorvoegsel ’n verskil in die laaste bis verberg. As die stringe verskil, hanteer die verskil as werklik voordat jy na ’n verklaring soek.

Stopvoorwaardes

Stop as die objek verskil, want ’n CA-vingerafdruk kan nie ’n eindsertifikaat vryspreek nie en ’n blad nie die CA nie. Stop as die algoritme verskil, want ’n SHA-1-waarde teen ’n SHA-256-waarde sê vir jou niks. Stop as die vingerafdruk pas maar die sertifikaat verval, herroep of vir ’n ander naam uitgereik is; ’n passende hash is nie ’n geldigheidskontrole nie en herstel nie ’n gebroke ketting nie. Stop ook as die reeksnommer nie pas by die reeksnommer in die rekord waarteen jy kontroleer nie, want dit is die goedkoopste manier om ’n vervangde sertifikaat raak te sien.

Stop as die nuwe waarde deur die kanaal gekom het wat jy getoets het. Rotasie kan ’n vingerafdruk wettig verander, maar die vervangingswaarde moet steeds uit die vertroude proses kom, nie uit die waarskuwingsdialoog wat die vraag veroorsaak het nie.

Stop as die voorgestelde oplossing is om gasheernaam- of kettingverifikasie te deaktiveer. ’n Vingerafdruk voeg ’n beperking by die normale kontroles; dit vervang hulle nie, tensy die ontplooiing doelbewus ’n bloot-pen-model gekies het, en daardie keuse bring sy eie bedryfskoste mee.

Ná die vergelyking

Teken aan wat jy vergelyk het, waar die verwagte waarde vandaan gekom het en wanneer. As die sertifikaat heruitgereik is, werk die gestoorde verwagting deur dieselfde vertroude kanaal by en noteer die nuwe reeksnommer, want die reeksnommer is wat die volgende rotasie ouditeerbaar maak.

Wees dan duidelik oor die grense. ’n Vingerafdruk bevestig dat die sertifikaat wat jy hou die een is wat iemand vir jou gesê het om te verwag. Dit sê niks daaroor of die gasheer ongeskonde is nie, en niks daaroor of die diens aanteken of beperk wat daardie sertifikaat kan bereik nie.

Verwante artikels