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 ko uzme jedan primjerak.
Negdje u uputama za postavljanje cijeli se direktorij prekopira na svaki laptop jer je to bilo lakše nego odlučiti koji mu fajlovi 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 dva fajla 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 ko upravlja CA, privatnim ključem koji nikada ne napušta zaštićeno spremište. Razdvajanje tih dvaju zadataka cijela je poanta slanja dva fajla.
Zato ca.crt pripada u profil, a ca.key ne pripada nigdje blizu njega. Imena fajlova su konvencija, ne garancija, pa se tip mora pregledati, a ne zaključiti iz imena.
Arhitektura sa posrednim CA ili online servisom za izdavanje nije izuzetak od ovoga. To je standardni način da se sposobnost potpisivanja drži dalje od krajnjih točaka dok se certifikati uređaja izdaju u masi.
Šta 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 server odlučuje hoće li ga prihvatiti. To je identitet koji se opoziva kad se laptop 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 tiket.
| 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 fajl prije nego što ga bilo gdje kopirate
Dvije komande 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štava o njegovom tipu. Pokrenite obje na fajlovima 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 komanda uspije na fajlu koji 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 pažnju 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. Svako ko je držao fajl mogao ga je kopirati, a sigurna je pretpostavka da jest. Slijedite incidentni proces operatera i zamijenite sidro povjerenja, ponovno izdajući certifikate uređaja pod novim CA.
Zatim promijenite pakiranje koje je stvorilo problem. Šaljite popis direktorija s izričitim spiskom dopuštenih fajlova, držite CA ključ na mašini koja se nikada ne pridružuje klijentskoj floti i zabilježite koji sistem ga čuva.
Ako tijelo mora izdavati često, premjestite potpisivanje iza servisa ili posrednog tijela s uskim obuhvatom i kratkom valjanošću. Tako buduća greška izlaže dio izdavanja, a ne korijen povjerenja cijele instalacije.