Dodavanje VPN klijenta bez ponovne izgradnje CA
Još jedan uređaj je upis, ne nova instalacija. Odlučite po stanju izdavaoca, čuvanju ključa i identitetu servera.
Treba vam još jedan certifikat za još jedan laptop, ali prva uputa u rezultatima pretrage počinje naredbom koja briše PKI direktorij. Ta naredba pripada prvom postavljanju, ne upisu, i košta vas CA, historiju izdavanja i svaki klijentski profil koji je vjerovao starom izdavaocu. Odluka je uža: ima li vaš izdavalac još upotrebljivo stanje i uklapa li se novi uređaj u politiku upisa koju već vodite? Tri uslova odlučuju, a samo jedan opravdava ponovnu izgradnju.
Šta ponovna izgradnja zaista uništava
Ponovna inicijalizacija PKI zamjenjuje direktorij praznom strukturom: novi CA ključ i certifikat, prazna baza izdavanja, novi brojač serija. Klijenti ne slijede sami; njihovi profili prikivaju stari CA, pa se svaki uređaj mora ponovo upisati, a nedostupni uređaji ručno.
Tiši gubitak je evidencija. Opoziv zavisi od toga da znate koje ste serijske brojeve kome izdali. Obrišite indeks i još možete potpisivati, ali ne možete sa sigurnošću reći koje ste od preostalih certifikata htjeli opozvati. CA direktorij sa certifikatima bez odgovarajućeg stanja izdavaoca je rezervna kopija koja vraća pogrešnu polovinu sistema.
Kopiranje privatnog ključa CA pored servera koji radi je drugi prečac koji treba odbiti: pretvara tijelo potpisa koje treba stajati van mreže u još jednu datoteku na hostu sa nepouzdanim saobraćajem.
Prvi uslov: je li stanje izdavaoca dostupno?
Nađite direktorij kojem server zaista vjeruje prije bilo kakve odluke. Uporedite certifikat koji server predstavlja kao CA sa onim u PKI direktoriju, po otisku, ne po imenu datoteke:
openssl x509 -in ca.crt -noout -fingerprint -sha256
openssl x509 -in /etc/openvpn/ca.crt -noout -fingerprint -sha256Ako se otisci podudaraju, upis je inkrementalni i ništa ne izgrađujte ponovo. Ako se razlikuju, potpisujete CA kojem server ne vjeruje: certifikat se čisto instalira i pada na rukovanju, a ta greška se satima pogrešno pripisuje klijentu.
Zatim tražite stanje izdavanja: indeks, brojač serija i datoteku broja CRL. Ako indeksa nema a ključ postoji, možete izdavati, ali nasljeđujete problem evidentiranja opoziva. Zapišite to u zapis promjena, jer će ga sljedeći zahtjev za opoziv otkriti.
Drugi uslov: ko drži novi privatni ključ?
Ovu odluku korisnici osjete, pa je donesite izričito. Ključ koji generiše klijent i preda kao zahtjev zadržava privatnu polovinu na uređaju od prve naredbe i administrator je nikad ne dodiruje. Ključ generisan na serveru lakši je za uređaje bez alata za zahtjev, ali administratora čini čuvarom svakog ključa i širi posljedice kompromitacije servera.
Uz Easy-RSA 3 prema postojećem CA, uvoz i potpis zahtjeva su dvije naredbe:
./easyrsa import-req /tmp/alice.req alice
./easyrsa sign-req client aliceIzaberite tip certifikata namjerno. Zahtjev potpisan kao serverski umjesto klijentskog certifikata daje datoteku koja izgleda dobro i koju partner odbija, a poruka o grešci rijetko kaže zašto. Uz openssl ca isti izbor živi u ekstenzijama koje proslijedite, ne u podrazumijevanoj sekciji.
Treći uslov: treba li server više od certifikata?
Za običan OpenVPN server sa autentifikacijom certifikatom, certifikat jeste upis: zajedničko ime postaje identitet klijenta, a direktorij, gurnuta ruta ili statična adresa vezani su za to ime. Dodajte certifikat i zaboravite konfiguraciju, tunel se poveže ali rute koje korisnik treba ne pojave se.
Platforme to mijenjaju. OpenVPN Access Server drži vlastitu bazu korisnika, pa potpisani certifikat nije račun; račun mora postojati i biti dozvoljen. Drugi pristupnici vežu identitet za grupu. Upis jednog uređaja obično dira dva sistema, a certifikat je samo prvi.
Inkrementalna procedura i kada je ponovna izgradnja ispravna
Slijed koji dodaje jedan uređaj bez štete: potvrdite izdavaoca po otisku, uzmite svježu kopiju PKI direktorija, uvezite i potpišite zahtjev za klijentsku ulogu, predajte certifikat sa lancem kroz odobreni kanal, pa provjerite prije povezivanja:
openssl verify -CAfile ca.crt alice.crt
openssl x509 -in alice.crt -noout -subject -issuer -dates -purposeLinija namjene treba pokazati SSL client. Završite ažuriranjem kopije CA nakon izdavanja, jer kopija nastala prije upisa nove serije vraća stanje bez uređaja koji ste upravo dodali.
Ponovna izgradnja je ispravna u tri slučaja: ključ CA je kompromitovan, stanje izdavanja je nepovratno izgubljeno ili namjerno mijenjate algoritam ključa ili politiku certifikata. Sva tri su projekti sa planom ponovnog upisa svakog klijenta, ne koraci u zahtjevu za jedan uređaj. Ako ništa ne važi, upišite inkrementalno i ostavite izdavaoca na miru.