Legg til en VPN-klient uten å bygge CA på nytt
Én enhet til er registrering, ikke en ny installasjon. Bestem ut fra utstederens tilstand, nøkkeloppbevaring og serveridentitet.
Du trenger ett sertifikat til for én laptop til, men den første veiledningen i søkeresultatene begynner med en kommando som sletter PKI-katalogen. Den kommandoen hører til førstegangsoppsettet, ikke til registrering, og den koster deg CA-en, utstedelseshistorikken og hver klientprofil som stolte på den gamle utstederen. Beslutningen er smalere: har utstederen fortsatt brukbar tilstand, og passer den nye enheten inn i registreringspolicyen din? Tre betingelser avgjør det, og bare én rettferdiggjør en gjenoppbygging.
Hva en gjenoppbygging faktisk ødelegger
Å initialisere en PKI på nytt erstatter katalogen med en tom struktur: ny CA-nøkkel og nytt sertifikat, tom utstedelsesdatabase, ny serienummerteller. Klientene følger ikke med selv; profilene deres fester den gamle CA-en, så hver enhet må registreres på nytt, og de utilgjengelige må gjøres manuelt.
Det stillere tapet er bokføringen. Tilbakekalling avhenger av at du vet hvilke serienumre du utstedte og til hvem. Sletter du indeksen, kan du fortsatt signere, men ikke si med sikkerhet hvilke av de utstedte sertifikatene du mente å tilbakekalle. En CA-katalog med sertifikater uten den tilhørende utstedertilstanden er en sikkerhetskopi som gjenoppretter feil halvdel av systemet.
Å kopiere CA-ens private nøkkel ved siden av den kjørende serveren er den andre snarveien du bør avvise: den gjør en signeringsinstans som skal stå utenfor nettverket til nok en fil på en vert med utiltrodd trafikk.
Første betingelse: er utstederens tilstand fortsatt tilgjengelig?
Finn katalogen serveren faktisk stoler på før du bestemmer deg. Sammenlign sertifikatet serveren presenterer som CA med det i PKI-katalogen etter fingeravtrykk, ikke etter filnavn:
openssl x509 -in ca.crt -noout -fingerprint -sha256
openssl x509 -in /etc/openvpn/ca.crt -noout -fingerprint -sha256Hvis avtrykkene stemmer, er registreringen inkrementell og du skal ikke bygge noe på nytt. Hvis de avviker, signerer du med en CA serveren ikke stoler på: sertifikatet installeres rent og feiler i håndtrykket, og den feilen feildiagnostiseres som en klientfeil i timer.
Se deretter etter utstedelsestilstanden: indeksfilen, serietelleren og filen med CRL-nummeret. Mangler indeksen men nøkkelen lever, kan du utstede, men du arver et problem med å registrere tilbakekallinger. Noter det i endringsloggen, for den neste tilbakekallingen vil avsløre det.
Andre betingelse: hvem holder den nye private nøkkelen?
Dette er beslutningen brukerne merker, så ta den eksplisitt. En klientgenerert nøkkel som sendes som forespørsel holder den private halvdelen på enheten fra første kommando, og administratoren rører den aldri. En servergenerert nøkkel er enklere for enheter uten verktøy, men gjør administratoren til vokter av hver klientnøkkel og øker virkningen av en serverkompromittering.
Med Easy-RSA 3 mot en eksisterende CA er import og signering av en forespørsel to kommandoer:
./easyrsa import-req /tmp/alice.req alice
./easyrsa sign-req client aliceVelg sertifikattypen bevisst. En forespørsel signert som server- i stedet for klientcertifikat gir en fil som ser fin ut og som motparten avviser, og feilmeldingen sier sjelden hvorfor. Med openssl ca ligger samme valg i utvidelsene du sender, ikke i standardavsnittet.
Tredje betingelse: trenger serveren mer enn et sertifikat?
For en vanlig OpenVPN-server med sertifikatautentisering er sertifikatet selve registreringen: det felles navnet blir klientens identitet, og enhver klientkatalog, dyttet rute eller statisk adresse henger på det navnet. Legger du til sertifikatet og glemmer konfigurasjonen, kobles tunnelen opp, men rutene som trengs vises aldri.
Plattformer endrer dette. OpenVPN Access Server har sin egen brukerdatabase, så et signert sertifikat er ikke en konto; kontoen må finnes og være tillatt. Andre gatewayer knytter en identitetsstreng til en gruppe. Registrering av én enhet berører vanligvis to systemer, og sertifikatet er bare det første.
Den inkrementelle prosedyren og når gjenoppbygging er riktig
Rekkefølgen som legger til én enhet uten skade: bekreft utstederen med fingeravtrykk, ta en fersk sikkerhetskopi av PKI-katalogen, importer og signer forespørselen for klientrollen, lever sertifikatet med kjeden gjennom den godkjente kanalen, og verifiser før brukeren kobler til:
openssl verify -CAfile ca.crt alice.crt
openssl x509 -in alice.crt -noout -subject -issuer -dates -purposeFormålslinjen skal vise SSL client. Avslutt med å oppdatere CA-kopien etter utstedelsen, fordi en kopi tatt før det nye serienummeret registreres gjenoppretter en tilstand uten enheten du nettopp la til.
Gjenoppbygging er riktig i tre tilfeller: CA-nøkkelen er kompromittert, utstedelsestilstanden er uopprettelig tapt, eller du endrer nøkkelalgoritmen eller sertifikatpolicyen med vilje. Alle tre er prosjekter med en plan for nyregistrering av hver klient, ikke trinn i en forespørsel om én enhet. Gjelder ingen, registrer inkrementelt og la utstederen være.