To profilar leverer begge ei fil som heiter ca.crt, den eine tunnelen kjem opp og den andre feilar med ein kjedefeil. Å opne dei to filene side ved side avgjer det sjeldan, og å slå av verifiseringa avgjer det i feil retning. Spørsmålet feilen eigentleg stiller er smalare: kva sertifikat lastar kvar prosess inn som sitt tillitsanker, og er dei to same objekt? Svar på det først, og resten av diagnosen får ei retning. Filnamnet er ein emballasjeetikett, og stien som er skriven i profilen er heller ikkje autoritativ, så alt avheng av kva prosessen faktisk les.

Finn sertifikatet klienten faktisk lastar inn

OpenVPN godtek myndet i to former, og forma avgjer kva byte som betyr noko. Ein profil kan peike på ei ekstern fil med ca, eller leggje sertifikatet inn i ein <ca>-blokk i sjølve profilen. Når begge finst, vinn den innebygde blokka, og fila ved sida av profilen blir aldri opna.

Les profilen som feilar, og finn ut kva form han brukar før du samanliknar noko. Ei kopi henta frå ei nabomappe, eller frå pakken den andre profilen kom frå, fortel deg ingenting om kva denne prosessen stolar på. Det same gjeld stien i konfigurasjonen: han blir løyst relativt til staden klienten vart starta, som ikkje alltid er mappa du ser på. Les profilen, ikkje mappa.

Sertifikat blir identifiserte av innhaldet: den offentlege nøkkelen, subjektet og utferdaren, gyldigheitsvindauget og signaturen over alt dette. To filer med identiske byte er same sertifikat uansett kva dei heiter, og to filer med same namn kan vere uslekta myndar. Namnet er ein emballasjeetikett, ikkje ein identitet.

Ta fingeravtrykk av båe kopiane med openssl

Eit fingeravtrykk er ein hash over DER-kodinga av sertifikatet, forma signaturen dekkjer, så linjeslutt og overskriftstekst kan ikkje påverke det. Rekn det ut for kvar fil, og du har to kolonseparerte hexstrengar som anten stemmer eller ikkje. Ingenting anna i sertifikatet må lesast for å svare på samanlikningsspørsmålet.

openssl x509 -in /etc/openvpn/office/ca.crt -noout -fingerprint -sha256
openssl x509 -in ~/profiles/lab-ca.pem -noout -fingerprint -sha256

Det er freistande å peike openssl på sjølve profilen, men det les den første sertifikatblokka som førekjem i fila, og ein profil har vanlegvis <cert> før <ca>. Trekk ut myndsblokka, og ta deretter fingeravtrykk av den uttrekte fila, for det er kopien klienten faktisk vil bruke.

sed -n '/^<ca>$/,/^<\/ca>$/p' office.ovpn | sed '1d;$d' > /tmp/office-ca.pem
openssl x509 -in /tmp/office-ca.pem -noout -fingerprint -sha256

Identiske fingeravtrykk betyr at tillitsmaterialet er det same og at kjedefeilen har ei anna årsak, noko som er ei anna undersøking. Ulike fingeravtrykk betyr ulike sertifikat, og det er der neste avsnitt byrjar.

Les eit avvik før du reknar med eit åtak

Ulike fingeravtrykk betyr ulike sertifikat og ikkje noko meir. Ei nyutgiving, ein rotasjon, eit omdøypt mynd eller ein utdatert samling gir alle ulike filer med heilt legitime historikkar. Kva som høyrer til utrullinga, er eit spørsmål for operatøren eller utrulleringsprotokollen, ikkje for endringstida til fila. Arkiv kopierer tidsstempel, så ei nyare fil er ikkje automatisk det rette ankeret.

Ei rot som signerer seg sjølv er normal, så å finne ei er ikkje prov på eit problem. Oppgåva til verifiseraren er å byggje ein sti frå sertifikatet til tenaren til ankeret han fekk, og ein kjedefeil betyr vanlegvis at den stien ikkje kunne fullførast.

Kontroller om ankeret til den feilande profilen er eit mynd som utrullinga framleis gjev ut frå. Viss fingeravtrykket ikkje stemmer med noko i utrulleringsprotokollen, er profilen rett og slett utdatert, og inga justering på klientsida vil rette det.

Reparer tilliten utan å slå av verifiseringa

Den kortsiktige løysinga er å slå av verifiseringa eller leggje til kvart sertifikat i kjeda som anker. Begge får meldinga til å forsvinne, og begge endrar kva tenarar klienten vil godta frå då av. Slå verifiseringa på att, installer det tiltenkte ankeret og test på nytt.

Viss kjeda no blir bygd, men ein annan feil dukkar opp, er det framgang: namneverifisering, gyldigheitsdatoar og tilbakekalling er separate kontrollar med separate meldingar. Hald fingeravtrykkparet og den opphavlege feilteksten saman i saka, slik at neste person ser kva anker som vart lasta og kva som var venta. Eit par fingeravtrykk er lite nok til å lime inn i eit overleveringsnotat, og neste førekomst tek då fem minutt i staden for ein ettermiddag.

Skaff det rette myndet gjennom same autentiserte kanal som leverte profilen. Å trekkje eit sertifikat frå tenaren fordi subjektet ser kjent ut, er ei anna handling, og ho utvidar stille det klienten vil stole på.

Relaterte artiklar