Klientsertifikatfilen din er borte, og refleksen er å tilbakekalle navnet og utstede et nytt. Den refleksen lar det opprinnelige sertifikatet forbli gyldig, fordi tilbakekalling virker på et serienummer og ikke på en etikett. CA-en har nesten helt sikkert fortsatt en kopi av det den utstedte, og å finne den kopien er hele oppgaven.

Å miste en fil er ikke å miste CA-ens post

En Easy-RSA-PKI beholder de offentlige sertifikatene den har utstedt, og nyere versjoner arkiverer også kopier etter serie i PKI-ens certs_by_serial-mappe. Den private nøkkelen trengs ikke for å tilbakekalle noe. Det avgjørende er det nøyaktige sertifikatet CA-en signerte, og det har CA-en allerede.

Arbeid på en sikkerhetskopi av riktig PKI, sammen med administratoren som eier den. Tilbakekalling er en reviderbar handling, ikke en reparasjon av en produksjonsdatabase ved midnatt.

En kopi av klientens innebygde offentlige sertifikat fungerer også, hvis utrullingen har beholdt en.

Les utstederen og serienummeret først

Undersøk den gjenopprettede PEM-filen og skriv ned utstederen, serienummeret, subjektet og gyldighetsperioden. Serienummeret er unikt innenfor én utsteders område, ikke på tvers av alle CA-er i miljøet ditt, så utstederen er en del av identiteten. Hvis flere sertifikater deler et subjekt, er det nettopp serienumrene som skiller dem.

Sammenlign verdiene med CA-ens poster og med enheten eller personen du mener har sertifikatet.

Et vanlig navn kan gjenbrukes, og det gjøres vanligvis. Ikke bestem hvilke sertifikater som skal trekkes tilbake før serienumrene er skrevet ned.

Hvorfor tilbakekalling av det nye sertifikatet ikke gjør noe

Å utstede en erstatning med samme vanlige navn lager et andre sertifikat med et annet serienummer. Tilbakekalling av erstatningen trekker det nye tilbake og lar det opprinnelige være gyldig til det utløper. Fra CA-ens synspunkt er dette to uavhengige objekter, og en CRL lister serienumre og ikke navn. CA-indeksen holder én rad per utstedt sertifikat nettopp av den grunn.

Den samme forvirringen skaper den omvendte feilen: å slette klientens fil og anta at CA-en glemte den. Sletting på klienten er ikke en tilbakekallingshendelse, og sertifikatet fortsetter å virke for alle som har en kopi.

Begge feilene kommer av å behandle navnet som identiteten.

Tilbakekall sertifikatet som serienummeret navngir

Identifiser objektet før du rører CA-en: openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates skriver ut de fire verdiene i én kjøring, og serienummeret er det du matcher mot CA-ens arkiv. Easy-RSA oppbevarer arkivet under pki/certs_by_serial, med én fil per serienummer. Tilbakekallingskommandoen tar et vanlig navn og ikke et serienummer, så kopier den arkiverte filen til pki/issued/<common-name>.crt og la navnet peke på objektet du identifiserte. Kjør easyrsa revoke <common-name> fra PKI-mappen, og kontroller deretter at den tilsvarende raden i index.txt er endret til R. Serienummeret er måten du velger objektet på, ikke et argument kommandoen godtar.

openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates
cp pki/certs_by_serial/A1B2C3D4.pem pki/issued/client-01.crt
./easyrsa revoke client-01
grep -n client-01 pki/index.txt
./easyrsa gen-crl

Hvis index.txt ikke viser R, stopp og les feilen før du genererer en CRL, fordi en CRL bygget fra en post som fortsatt er gyldig ikke trekker noe tilbake. Først etter at raden endres, kjører du easyrsa gen-crl og går videre til distribusjon av filen.

Publiser CRL-en der den faktisk håndheves

Generer en ny CRL via PKI-ens støttede arbeidsflyt, og publiser den deretter til hver verifier som håndhever denne utstederens tilbakekallinger.

En oppdatert fil som ligger på CA-en endrer ingenting, fordi VPN avslutter avgjørelsen hos sin egen verifier. Kontroller CRL-ens utsteder, gyldighetsperiode og de tilbakekalte serienumrene, og bekreft at tjenesten laster inn filen på nytt i stedet for å cache den forrige. Eierskap og sti betyr like mye som innhold: en CRL som daemonen ikke kan lese, er ikke til å skille fra ingen CRL. OpenVPNs crl-verify-alternativ navngir filen daemonen leser, så kontroller den stien og filens eierskap i serverkonfigurasjonen.

Verifiser med et ekte tilkoblingsforsøk, ikke med filens tidsstempel.

Vit når en CRL er feil verktøy

Hvis utstederens private nøkkel ikke lenger er betrodd, kan tilbakekalling av kjente serienumre ikke hindre en uautorisert innehaver i å signere nye sertifikater. Det er en overgang i utstederens tillit, altså en ny CA og en distribusjonsplan, ikke nok en post i CRL-en. At en tidligere administrator har hatt tilgang er ikke i seg selv bevis for at nøkkelen er misbrukt, så skaff fakta før du gjenoppbygger tilliten.

Manuell redigering av utstedelsesdatabasen for å snu en statusbokstav er ikke en erstatning for en signert tilbakekalling, og den etterlater CRL-en uoverensstemmende med postene.

Hold serienummeret, CRL-en og distribusjonstrinnet i ett notat, og neste revisjon blir en leseøvelse. Easy-RSA-prosjektet dokumenterer de støttede kommandoene for versjonen du har installert, og det er det eneste grensesnittet som er verdt å følge.

Relaterte artikler