Näin tarkistat VPN-sertifikaatin sormenjäljen eri kanavaa pitkin
Sormenjälki todistaa identiteetin vain, kun odotettu arvo saapuu kanavaa pitkin, jota hyökkääjä ei hallitse. Tee tarkistus tässä järjestyksessä.
Sormenjälki on yhtä luotettava kuin kanava, joka kertoi sinulle, mitä odottaa. Jos vertailtava arvo saapui samaa yhteyttä pitkin, jota testaat, vertailu ei todista muuta kuin sen, että yhteyttä hallitseva osapuoli on johdonmukainen. Tarkistuksen on edettävä kiinteässä järjestyksessä, ja epäonnistuneen vaiheen pitäisi pysäyttää sinut sen sijaan että se työntäisi seuraavaan. Tässä on järjestys, jota käytän, kun VPN-asiakas ilmoittaa, että sertifikaatti on vaihtunut.
Nimeä objekti ennen kuin nimeät arvon
Päätä, kuuluuko odotettu arvo palvelimen lehtisertifikaatille, sen myöntäneelle CA:lle vai lehden sisällä olevalle julkiselle avaimelle. Ne ovat kolme eri tarkistusta, ja ne epäonnistuvat eri tavoin. Sopiva CA-sormenjälki ei kiinnitä palvelinta, ja julkisen avaimen tiiviste säilyy tarkoituksella uudelleenmyönnön yli, joka pitää saman avaimen.
Kirjoita myös algoritmi muistiin. SHA-256 on nykyinen normaali odotus, mutta vanhemmat työkalut tulostivat SHA-1, ellet pyytänyt jotain muuta, ja 40 merkin heksa-arvo on merkki siitä, että olet aikeissa verrata kahta eri asiaa.
Hanki odotettu arvo toisen kanavan kautta
Toisen kanavan on oltava sellainen, johon osapuoli, jolta suojautut, ei voi kirjoittaa. Valmistelujärjestelmä, johon jo todentaudut, tallelokerossa säilytettävä tulostettu tietue, kokoonpanotietokanta tai toisen prosessin toimittama allekirjoitettu asiakirja kelpaavat kaikki. Kollegan chat-viesti, hakutuloksen kautta saavutettu tukisivu ja kaikki terminaaliin liitetty, jossa jo virheenkorjaat, eivät kelpaa.
Pyydä täysi arvo ja algoritmi, älä koskaan etuliitettä. Kaksoispisteet ja kirjainkoko eivät merkitse mitään, mutta katkaisu muuttaa 256-bittisen tarkistuksen arvauspeliksi.
Jos kukaan ei pysty tuottamaan odotettua arvoa riippumattomasta lähteestä, rehellinen tulos on, että tätä sertifikaattia ei voi tarkistaa tänään. Sen sanominen on parempi kuin kiinnittää se, mitä asiakas juuri näytti, mikä muuttaa varoituksen tavaksi.
Poimi arvo omalla puolellasi
Sertifikaattitiedostolle komento on openssl x509 -in server.crt -noout -fingerprint -sha256. Selkeä tiiviste on tärkeä: ilman sitä tuloste riippuu OpenSSL-versiostasi. Tulos on kaksoispisteillä eroteltu heksaketju, joten poista kaksoispisteet ja muuta molemmat puolet pieniksi kirjaimiksi ennen vertailua.
Päätepisteelle, joka puhuu TLS:ää suoraan, yhdistä ja putkita sertifikaatti ulos: openssl s_client -connect vpn.example.com:443 -servername vpn.example.com < /dev/null | openssl x509 -noout -fingerprint -sha256. Tämä toimii verkkohallintapaneelille tai TLS-kuuntelijalle, ei OpenVPN:lle, jonka ohjauskanava on tunnelin sisällä. OpenVPN:lle lue sertifikaatti levyltä profiilista sen sijaan että yrittäisit napata sen pistokkeesta.
Vertailun pitäisi olla mekaaninen. Normalisoi molemmat arvot tr -d ':':lla ja kirjainkoon yhdenmukaistuksella ja vertaa sitten koko merkkijonoa. Silmämääräisesti tekeminen on tapa, jolla täsmäävä etuliite kätkee eron viimeisessä tavussa. Jos merkkijonot eroavat, kohtele eroa todellisena ennen kuin etsit selitystä.
Pysäytysehdot
Pysähdy, jos objekti eroaa, koska CA-sormenjälki ei voi vapauttaa lehtisertifikaattia eikä lehti voi vapauttaa CA:ta. Pysähdy, jos algoritmi eroaa, koska SHA-1-arvo SHA-256-arvoa vastaan ei kerro sinulle mitään. Pysähdy, jos sormenjälki täsmää mutta sertifikaatti on vanhentunut, peruutettu tai myönnetty eri nimelle; täsmäävä tiiviste ei ole kelpoisuustarkistus eikä korjaa rikkinäistä ketjua. Pysähdy myös, jos sarjanumero ei täsmää sen tietueen sarjanumeroon, jota vasten tarkistat, sillä se on halvin tapa havaita vaihdettu sertifikaatti.
Pysähdy, jos uusi arvo tuli kanavaa pitkin, jota testasit. Kierto voi muuttaa sormenjälkeä laillisesti, mutta korvaavan arvon on silti tultava luotetusta prosessista, ei varoitusikkunasta, joka kysymyksen aiheutti.
Pysähdy, jos ehdotettu korjaus on isäntänimen tai ketjun varmennuksen poistaminen käytöstä. Sormenjälki lisää rajoitteen normaaleihin tarkistuksiin; se ei korvaa niitä, ellei käyttöönotto ole tietoisesti valinnut vain pin -mallia, ja se valinta tuo mukanaan omat käyttökustannuksensa.
Vertailun jälkeen
Kirjaa, mitä vertasit, mistä odotettu arvo tuli ja milloin. Jos sertifikaatti myönnettiin uudelleen, päivitä tallennettu odotus saman luotetun kanavan kautta ja merkitse uusi sarjanumero, sillä juuri sarjanumero tekee seuraavasta kierrosta auditoitavan.
Ole sitten selkeä rajoista. Sormenjälki vahvistaa, että hallussasi oleva sertifikaatti on se, jonka joku käski sinun odottaa. Se ei kerro mitään siitä, onko isäntä vaarantumaton, eikä siitä, kirjaako tai rajoittaako palvelu sitä, mihin sertifikaatti voi päästä.