Zašto kopiranje ca.key na svakog VPN klijenta razara CA
Klijent provjerava javni certifikat CA; nikada mu ne treba ključ koji potpisuje. Kopiranje ca.key na svaki uređaj daje pravo izdavanja svakome tko uzme jedan primjerak.
Negdje u uputama za postavljanje cijeli se direktorij prekopira na svaki prijenosnik jer je to bilo lakše nego odlučiti koje mu datoteke pripadaju. Taj direktorij sadrži ca.key, a u trenutku kad stigne na drugi uređaj, certifikacijsko tijelo prestaje biti tijelo. Svaki vlasnik sada može izdavati identitete kojima će vjerovati ostatak mreže.
Zabunu vrijedi razriješiti jednom, jer dvije datoteke izgledaju slično, a rade suprotno.
Materijal za provjeru i materijal za potpisivanje
Klijentu treba javni certifikat CA da provjeri da je certifikat koji predstavi druga strana potpisalo to tijelo. To je zadatak provjere i ne zahtijeva nikakvu tajnu. Potpisivanje certifikata druge strane drugi je zadatak, izvodi se jednom i to onaj koji upravlja CA, privatnim ključem koji nikada ne napušta zaštićeno spremište. Razdvajanje tih dvaju zadataka cijela je poanta slanja dviju datoteka.
Zato ca.crt pripada u profil, a ca.key ne pripada nigdje blizu njega. Imena datoteka su konvencija, ne jamstvo, pa se tip mora pregledati, a ne zaključiti iz imena.
Arhitektura s posredničkim CA ili mrežnim servisom za izdavanje nije iznimka od ovoga. To je uobičajen način da se sposobnost potpisivanja drži dalje od krajnjih točaka dok se certifikati uređaja izdaju u masi.
Što klijent treba dokazati vlastitim ključem
Svaki uređaj dobiva vlastiti par ključeva i vlastiti certifikat, jednom potpisan od CA. Klijent predstavlja taj certifikat i dokazuje posjedovanje odgovarajućeg privatnog ključa, a poslužitelj odlučuje hoće li ga prihvatiti. To je identitet koji se opoziva kad se prijenosnik izgubi.
Kontrast je najvažniji nakon krađe. S identitetima po uređaju jedan izloženi klijent uklanja se opozivom ili uklanjanjem druge strane, a ostatak flote nastavlja raditi.
Procurjeli ključ tijela ne može se tako rješavati. Svaki certifikat koji je ikada potpisao ili mogao potpisati postaje sumnjiv, pa je odgovor zamjena povjerenja, a ne pojedinačni opoziv. To je projekt, a ne zahtjev.
| File | Role | Belongs on |
|---|---|---|
ca.crt | Public certificate used to verify signatures | Every client profile |
ca.key | Private key that issues certificates | Protected CA storage only |
| client key pair | Proves one device's identity | That device alone |
Pročitajte datoteku prije nego što je bilo gdje kopirate
Dvije naredbe kažu kakav objekt držite, a da ne ispišu nikakvu tajnu. Prva navodi subjekt i CA oznaku na certifikatu; druga provjerava ključ i izvješćuje o njegovu tipu. Pokrenite obje na datotekama u paketu koji ćete distribuirati. Sve što se potvrdi kao privatni ključ ne pripada u klijentski direktorij.
openssl x509 -in ca.crt -noout -subject -ext basicConstraints openssl pkey -in ca.key -noout -check
Ako druga naredba uspije na datoteci koja stoji u klijentskom paketu, zaustavite se i tretirajte paket kao kompromitiran. Izlaz koji kaže da je ključ valjan kaže i da je prisutan, a prisutnost je cijeli problem.
Obratite pozornost i na drugi smjer: klijentski profil legitimno sadrži vlastiti privatni ključ tog klijenta. Brisanje svakog pronađenog ključa prekida vezu ne popravljajući ništa, pa se objekt mora identificirati prije uklanjanja.
Obuzdavanje ključa koji ste već distribuirali
Ne pretpostavljajte da brisanje lokalne kopije poništava izloženost. Svatko tko je držao datoteku mogao ju je kopirati, a sigurna je pretpostavka da jest. Slijedite incidentni postupak operatera i zamijenite sidro povjerenja, ponovno izdajući certifikate uređaja pod novim CA.
Zatim promijenite pakiranje koje je stvorilo problem. Pošaljite popis direktorija s izričitim popisom dopuštenih datoteka, držite ključ CA na stroju koji se nikada ne pridružuje klijentskoj floti i zabilježite koji ga sustav čuva.
Ako tijelo mora često izdavati, premjestite potpisivanje iza servisa ili posrednog tijela uska opsega i kratke valjanosti. Tako buduća pogreška izlaže dio izdavanja, a ne korijen povjerenja cijele instalacije.