Lägg till en VPN-klient utan att bygga om CA
En enhet till är registrering, inte en ny installation. Avgör utifrån utgivarens tillstånd, nyckelhantering och serveridentitet.
Du behöver ett certifikat till för en laptop till, men den första guiden i sökresultaten börjar med ett kommando som raderar PKI-katalogen. Det kommandot hör till den första installationen, inte till registreringen, och att köra det kostar dig CA, utfärdandehistoriken och varje klientprofil som litade på den gamla utgivaren. Beslutet är snävare: har utgivaren fortfarande användbart tillstånd, och passar den nya enheten in i er registreringspolicy? Tre villkor avgör, och bara ett motiverar en ombyggnad.
Vad en ombyggnad egentligen förstör
Att initiera en PKI på nytt ersätter katalogen med en tom struktur: ny CA-nyckel och nytt certifikat, tom utfärdandedatabas och ny serienummerräknare. Klienterna följer inte med automatiskt; deras profiler fäster den gamla CA:n, så varje enhet måste registreras om, och de oåtkomliga för hand.
Den tystare förlusten är bokföringen. Återkallning bygger på att du vet vilka serienummer du utfärdade och till vem. Raderar du indexet kan du fortfarande signera, men inte längre säga säkert vilka av de utfärdade certifikaten du avsåg att återkalla. En CA-katalog med certifikat men utan matchande utgivartillstånd är en säkerhetskopia som återställer fel halva av systemet.
Att kopiera CA:ns privata nyckel intill den körande servern är den andra genvägen du bör avvisa: den gör en signeringsinstans som ska stå utanför nätet till ännu en fil på en värd med otillförlitlig trafik.
Första villkoret: är utgivarens tillstånd fortfarande nåbart
Hitta katalogen som servern faktiskt litar på innan du beslutar. Jämför certifikatet servern presenterar som CA med det i PKI-katalogen via fingeravtryck, inte via filnamn:
openssl x509 -in ca.crt -noout -fingerprint -sha256
openssl x509 -in /etc/openvpn/ca.crt -noout -fingerprint -sha256Om fingeravtrycken stämmer är registreringen inkrementell och du bygger inget på nytt. Om de skiljer sig signerar du med en CA som servern inte litar på: certifikatet installeras rent och misslyckas i handskakningen, och det felet feldiagnostiseras i timmar som ett klientfel.
Leta sedan efter utfärdandetillståndet: indexfilen, serieiräknaren och filen med CRL-numret. Saknas indexet men nyckeln lever kan du utfärda, men du ärver ett problem med att registrera återkallelser. Anteckna det i ändringsloggen, för nästa återkallelsebegäran kommer att avslöja det.
Andra villkoret: vem har den nya privata nyckeln
Det är beslutet användarna känner av, så ta det uttryckligen. En klientgenererad nyckel som skickas som begäran håller den privata halvan på enheten från första kommandot, och administratören rör den aldrig. En servergenererad nyckel är enklare för enheter utan verktyg, men gör administratören till förvaltare av varje klientnyckel och ökar effekten av en serverkompromiss.
Med Easy-RSA 3 mot en befintlig CA är import och signering av en begäran två kommandon:
./easyrsa import-req /tmp/alice.req alice
./easyrsa sign-req client aliceVälj certifikattyp medvetet. En begäran som signeras som servercertifikat i stället för klientcertifikat ger en fil som ser bra ut och som motparten avvisar, och felmeddelandet säger sällan varför. Med openssl ca ligger samma val i de tillägg du skickar, inte i standardavsnittet.
Tredje villkoret: behöver servern mer än ett certifikat
För en vanlig OpenVPN-server med certifikatautentisering är certifikatet själva registreringen: det gemensamma namnet blir klientens identitet, och varje klientkatalog, pushad rutt eller statisk adress hänger på det namnet. Lägger du till certifikatet och glömmer konfigurationen ansluts tunneln men rutterna som behövs dyker aldrig upp.
Plattformar ändrar detta. OpenVPN Access Server har en egen användardatabas, så ett signerat certifikat är inte ett konto; kontot måste finnas och vara tillåtet. Andra gateways knyter en identitetssträng till en grupp. Registrering av en enhet berör oftast två system, och certifikatet är bara det första.
Det inkrementella förfarandet och när en ombyggnad är rätt
Sekvensen som lägger till en enhet utan skada: bekräfta utgivaren med fingeravtryck, ta en färsk kopia av PKI-katalogen, importera och signera begäran för klientrollen, leverera certifikatet med sin kedja via den godkända kanalen, och verifiera innan användaren ansluter:
openssl verify -CAfile ca.crt alice.crt
openssl x509 -in alice.crt -noout -subject -issuer -dates -purposeÄndamålsraden ska visa SSL client. Avsluta med att uppdatera CA-kopian efter utfärdandet, eftersom en kopia tagen före det nya serienumret återställer ett tillstånd utan enheten du just lade till.
En ombyggnad är rätt i tre fall: CA-nyckeln är komprometterad, utfärdandetillståndet är oåterkalleligt förlorat, eller du ändrar nyckelalgoritm eller certifikatpolicy medvetet. Alla tre är projekt med en plan för omregistrering av varje klient, inte steg i en begäran för en enhet. Gäller inget av dem, registrera inkrementellt och låt utgivaren vara.