In fingerôfdruk is mar sa betrouber as it kanaal dat jo ferteld hat wat jo ferwachtsje moatte. Komt de wearde dêr't jo mei ferlykje fia deselde ferbining dêr't jo teste, dan bewiist de ferliking neat oars as dat wa't dy ferbining beheart, konsekwint is. De kontrôle moat yn in fêste oarder ferrinne, en in mislearre stap moat jo stopje yn plak fan jo nei de folgjende te triuwen. Hjir is de oarder dy't ik brûk as in VPN-klant meldt dat in sertifikaat feroare is.

Nammich it objekt foardat jo de wearde nammich meitsje

Beslis oft de ferwachte wearde by it bledsertifikaat fan 'e tsjinner, by de útjaanende CA of by de iepenbiere kaai yn it bled heart. Dat binne trije ferskillende kontrôles, en se mislearje op ferskillende manieren. In passende CA-fingerôfdruk pinet de tsjinner net, en in hash fan 'e iepenbiere kaai oerlibbet bewust in werútjefte dy't deselde kaai hâldt.

Skriuw ek it algoritme op. SHA-256 is no de normale ferwachting, mar âldere ark drukten SHA-1 út, of jo moasten wat oars freegje, en in hex-wearde fan 40 tekens is in teken dat jo op it punt steane om twa ferskillende dingen te ferlykjen.

Helje de ferwachte wearde fia in twadde kanaal

It twadde kanaal moat ien wêze dêr't de partij tsjin wa't jo jo beskermje, net yn skriuwe kin. In foarsjenningstelsel dêr't jo jo al by autentisearje, in printe ferslach yn in kluis, in konfiguraasjedatabase of in ûndertekene dokumint dat in oar proses levert, foldogge allegear. In chatberjocht fan in kollega, in stipe-side berikt fia in sykresultaat, en alles wat plakt wurdt yn 'e terminal dêr't jo al yn debugge, foldogge net.

Freegje om de folsleine wearde en it algoritme, nea om in foarheaksel. De dûbele punten en de grutte of lytse letters meitsje net út, mar ôfkapping makket fan in kontrôle fan 256 bit in riedspul.

As nimmen de ferwachte wearde út in ûnôfhinklike boarne leverje kin, is it earlike resultaat dat dit sertifikaat hjoed net ferifiearre wurde kin. Dat sizze is better as fêstpinje wat de klant krekt toand hat, want dat makket fan in warskôging in gewoante.

Helje de wearde oan jo eigen kant út

Foar in sertifikaatbestân is it kommando openssl x509 -in server.crt -noout -fingerprint -sha256. De eksplisite digest is wichtich: sûnder dy hinget de útfier fan jo OpenSSL-ferzje ôf. It resultaat is in hex-string skieden troch dûbele punten, dus helje de dûbele punten weil en meitsje beide kanten lytsletters foardat jo ferlykje.

Foar in einpunt dat TLS direkt sprekt, ferbin en pipelje it sertifikaat nei bûten: openssl s_client -connect vpn.example.com:443 -servername vpn.example.com < /dev/null | openssl x509 -noout -fingerprint -sha256. Dat wurket foar in webbehearspaneel of in TLS-ôfharker, net foar OpenVPN, waans kontrôlekanaal binnen de tunnel sit. Foar OpenVPN lêze jo it sertifikaat út it profyl op 'e skiif yn plak fan it fan 'e socket ôf te fangen.

De ferliking moat meganysk wêze. Normalisearje beide wearden mei tr -d ':' en in lytseletteroersetting, ferlykje dan de hiele string. Mei it each dwaan is hoe't in passend foarheaksel in ferskil yn 'e lêste byte ferberget. As de strings ferskille, behannelje it ferskil dan as echt foardat jo in ferklearring sykje.

Stopbetingsten

Stop as it objekt ferskilt, want in CA-fingerôfdruk kin in bledsertifikaat net frijsprekke en in bled kin de CA net frijsprekke. Stop as it algoritme ferskilt, want in SHA-1-wearde tsjin in SHA-256-wearde seit jo neat. Stop as de fingerôfdruk past mar it sertifikaat is ferfallen, ynlutsen of foar in oare namme útjûn; in passende hash is gjin jildichheidskontrôle en makket in brutsen keatling net wer hiel. Stop ek as it searjenûmer net past by it searjenûmer yn it ferslach dêr't jo tsjin kontrolearje, want dat is de bêste manear om in ferfongen sertifikaat op te merken.

Stop as de nije wearde fia it kanaal kommen is dat jo teste. Rotaasje kin in fingerôfdruk rjochtmatich feroarje, mar de ferfangende wearde moat dochs út it fertroude proses komme, net út 'e warskôgingsdialooch dy't de fraach oproppen hat.

Stop as de foarstelde oplossing is om hostnamme- of keatlingferifikaasje út te setten. In fingerôfdruk foeget in beheining ta oan 'e normale kontrôles; hy ferfangt se net, útsein as de útrôl bewust in model mei allinnich pin keazen hat, en dy kar bringt syn eigen operasjonele kosten mei.

Nei de ferliking

Skriuw op wat jo ferlike hawwe, wêr't de ferwachte wearde wei kaam en wannear. As it sertifikaat werútjûn is, aktualisearje dan de bewarre ferwachting fia itselde fertroude kanaal en notearje it nije searjenûmer, want it searjenûmer is wat de folgjende rotaasje kontrolearber makket.

Wês dan dúdlik oer de grinzen. In fingerôfdruk befêstiget dat it sertifikaat dat jo hawwe, itselde is dat immen jo sei te ferwachtsjen. Hy seit neat oer it feit dat de host net kompromittearre is, en ek neat oer it feit dat de tsjinst logt of beheint wat dat sertifikaat berikke kin.

Relatearre artikelen