Halve miljøet kobler til igjen etter fornyelsen, og tre enheter avviser, hver med en advarsel om gatewayens identitet. Selve fornyelsen er rutine. Det disse tre enhetene holder på, er en pinning til det gamle objektet, og pinning er ikke en CA-liste, en navnekontroll eller en oppføring i tillitslageret. Sammenlign de tre mekanismene før du rører noen klient.

Én fornyelse, to oppførsler

Klientene som kobler til igjen, har en tillitsbeslutning som fortsatt passerer, og de som avviser, har et krav som det nye sertifikatet ikke oppfyller. Forskjellen er informasjon, ikke støy. Les meldingen fra klienten som feiler, presist. Navneavvik, ukjent utsteder og endret fingeravtrykk er tre forskjellige avgjørelser, og bare den siste peker på en pinning.

Sjekk også hvilken profil klienten som feiler valgte. En importert kopi som bor i sitt eget lager, endres ikke når administratoren redigerer originalfilen et annet sted.

En fornyelse erstatter objektet, ikke bare datoen

Et fingeravtrykk identifiserer det kodede sertifikatinnholdet. Fornyelsen lager et nytt sertifikat, så fingeravtrykket endres selv når subjektnavnet og den offentlige nøkkelen forblir identiske. Det er forventet og ufarlig for klienter som stoler på en CA og verifiserer navnet. Det er fatalt for en klient som er konfigurert til å godta nøyaktig ett sertifikat, og det er også fatalt for en klient der tillitslageret aldri mottok den nye utstederen.

openssl x509 -in server.pem -noout -subject -issuer -dates -fingerprint -sha256
openssl x509 -in server.pem -noout -pubkey | openssl sha256

Den andre linjen svarer på et annet spørsmål, om nøkkelparet overlevde. En fornyelse som gjenbruker nøkkelen, beholder den verdien og endrer bare sertifikatet, og det er nettopp tilfellet der administratoren fristes til å anta at ingenting er endret. Inspiser sertifikatet som er utrullet, ikke det på byggeverten. Å sammenligne en fil i et repositorium beviser hva som ble generert, ikke hva en lytter presenterer akkurat nå.

Les hva klienten pinner

Noen klienter holder et fingeravtrykk i profilen sin og sammenligner det ved hver tilkobling. Andre lagrer det i et tillitslager på plattformen, og andre igjen stoler bare på en CA. Reparasjonen er forskjellig i hvert tilfelle, så identifiser mekanismen først.

grep -n 'peer-fingerprint' /etc/openvpn/client/*.conf
openssl s_client -connect gw.lab.example.net:443 -servername gw.lab.example.net < /dev/null 2>&1 | openssl x509 -noout -fingerprint -sha256

Den første kommandoen viser en pinning i en vanlig profil; den andre viser fingeravtrykket endepunktet faktisk betjener akkurat nå. Når de to er forskjellige, har du lokalisert feilen uten å gjette. Ikke lim inn den nye verdien i hver klient som klager. En klient som avviser av utstederhensyn, vil fortsette å avvise, og du har lært deg selv at fingeravtrykket var problemet når det ikke var det.

Sammenlign sertifikatet hver backend betjener

Avbrutte resultater betyr vanligvis mer enn ett endepunkt, og en fornyelse som ble brukt på én node, lar de andre presentere det gamle objektet. Sammenlign hver backend etter adresse i stedet for etter det felles navnet.

for h in 10.30.0.11 10.30.0.12; do echo "$h"; openssl s_client -connect $h:443 -servername gw.lab.example.net < /dev/null 2>&1 | openssl x509 -noout -subject -dates -fingerprint -sha256; done

En pool der én node ligger bak, forklarer en klient som kobler til på andre forsøk og feiler på det første. Det forklarer også en overvåkingssjekk som passerer mens brukerne klager. Fiks etterslepet først. Å rulle tillitskonfigurasjonen før hver node betjener det nye sertifikatet, skaper et vindu der ingenting virker, og å rulle den etterpå lar klientene feile uforutsigbart.

Endre tillit gjennom den styrte veien

Bekreft erstatningen gjennom en allerede betrodd administrativ kanal før du godtar den noe sted. En plausibel utløpsdato er ikke bevis på eierskap. Oppdater den styrte konfigurasjonen gjennom prosessen som eier den, med eventuell planlagt overlapping av akseptable identiteter, og behold navneverifiseringen utrullingen krever. Pinning uten navnekontroll er en svakere design enn CA-tilliten den erstattet.

Verifiser deretter per klient, koble til, bekreft identiteten den godtok, og noter sertifikatversjonen den nå stoler på. En advarsel som er avvist én gang, har en tendens til å komme tilbake ved neste fornyelse.

Relaterte artikler