Du skal bruge endnu et certifikat til endnu en laptop, men den første vejledning i søgeresultaterne begynder med en kommando, der sletter PKI-mappen. Den kommando hører til første opsætning, ikke til tilmelding, og den koster dig CA, udstedelseshistorikken og alle klientprofiler, der stolede på den gamle udsteder. Beslutningen er smallere: har udstederen stadig brugbar tilstand, og passer den nye enhed i din tilmeldingspolitik? Tre betingelser afgør det, og kun én retfærdiggør en genopbygning.

Hvad en genopbygning faktisk ødelægger

Geninitialisering af en PKI erstatter mappen med en tom struktur: ny CA-nøgle og certifikat, tom udstedelsesdatabase, ny serienummerstæller. Klienterne følger ikke med af sig selv; deres profiler fastgør den gamle CA, så hver enhed skal tilmeldes igen, og enheder uden adgang skal gøres manuelt.

Det mere stille tab er bogholderiet. Tilbagekaldelse afhænger af, at du ved hvilke serienumre du har udstedt og til hvem. Sletter du indekset, kan du stadig signere, men ikke med sikkerhed sige hvilke af de udestående certifikater du mente at tilbagekalde. En CA-mappe med certifikater uden den matchende udstederstilstand gendanner den forkerte halvdel af systemet.

At kopiere CAens private nøgle ved siden af den kørende server er den anden genvej, du bør afvise: den gør en signeringsinstans, der bør stå offline, til endnu en fil på en vært med utroværdig trafik.

Første betingelse: er udstederens tilstand stadig tilgængelig?

Find den mappe, serveren faktisk stoler på. Sammenlign certifikatet, serveren præsenterer som CA, med det i din PKI-mappe på fingeraftryk, ikke på filnavn:

openssl x509 -in ca.crt -noout -fingerprint -sha256
openssl x509 -in /etc/openvpn/ca.crt -noout -fingerprint -sha256

Hvis aftrykkene matcher, er tilmeldingen trinvis, og du skal ikke genopbygge noget. Hvis de afviger, signerer du med en CA, som serveren ikke stoler på: certifikatet installeres rent og fejler ved handshake, og den fejl diagnosticeres i timer som en klientfejl.

Se derefter efter udstedelsestilstanden: indeksfilen, serietælleren og filen med CRL-nummeret. Mangler indekset, men overlever nøglen, kan du udstede, men du arver et problem med at registrere tilbagekaldelser. Noter det i ændringsloggen, for den næste tilbagekaldelse vil afsløre det.

Anden betingelse: hvem har den nye private nøgle?

Det er den beslutning, brugerne mærker, så træf den eksplicit. En klientgenereret nøgle, der sendes som anmodning, holder den private halvdel på enheden fra første kommando, og administratoren rører den aldrig. En servergenereret nøgle er lettere for enheder uden værktøj, men gør administratoren til vogter af hver klientnøgle og øger effekten af et serverkompromis.

Med Easy-RSA 3 mod en eksisterende CA er import og signering af en anmodning to kommandoer:

./easyrsa import-req /tmp/alice.req alice
./easyrsa sign-req client alice

Vælg certifikattypen bevidst. En anmodning signeret som servercertifikat i stedet for klientcertifikat giver en fil, der ser fin ud og afvises af modparten, og fejlmeddelelsen siger sjældent hvorfor. Signerer du med openssl ca, ligger samme valg i de extensions, du sender, ikke i standardafsnittet.

Tredje betingelse: har serveren brug for mere end et certifikat?

For en almindelig OpenVPN-server med certifikatautentifikation er certifikatet selve tilmeldingen: det fælles navn bliver klientidentiteten, og enhver klientmappe, pushet rute eller statisk adresse hænger på det navn. Tilføjer du certifikatet og glemmer konfigurationen, forbinder tunnelen, men de nødvendige ruter vises ikke.

Platforme ændrer dette. OpenVPN Access Server har sin egen brugerdatabase, så et signeret certifikat er ikke en konto; kontoen skal findes og være tilladt. Andre gateways knytter en identitetsstreng til en gruppe. Tilmeldning af én enhed rører normalt to systemer, og certifikatet er kun det første.

Den trinwise procedure og hvornår en genopbygning er rigtig

Sekvensen, der tilføjer en enhed uden skade: bekræft udstederen på fingeraftryk, tag en frisk kopi af PKI-mappen, importér og signér anmodningen til klientrollen, lever certifikatet med kæden gennem den godkendte kanal, og verificér før brugeren forbinder:

openssl verify -CAfile ca.crt alice.crt
openssl x509 -in alice.crt -noout -subject -issuer -dates -purpose

Formålslinjen skal vise SSL client. Afslut med at opdatere CA-kopien efter udstedelsen, fordi en kopi fra før det nye serienummer gendanner en tilstand uden den enhed, du netop tilføjede.

En genopbygning er rigtig i tre situationer: CA-nøglen er kompromitteret, udstedelsestilstanden er uopretteligt tabt, eller du ændrer nøglealgoritme eller certifikatpolitik med vilje. Alle tre er projekter med en genetableringsplan for hver klient, ikke trin i en anmodning om én enhed. Gælder ingen af dem, så tilmeld trinvis.

Relaterede artikler