Ključ koji dokazuje da je vaš pristupnik on sam i vjerodajnica koja kaže da se osoba smije pridružiti oboje su tajne, i tu sličnost prestaje. Jedan predstavlja uslugu svakom klijentu; drugi predstavlja jednog korisnika toj usluzi. Njihovo miješanje štedi jedan korak pri postavljanju i stoji jedno poslijepodne tijekom incidenta, jer oporavak za svaki nije ista operacija. Razdvajanje je dosadno postaviti i pamti se kad se preskoči.

Dvije tajne, dva različita vlasnika

Pristupnik drži privatni ključ ili certifikat čiji je jedini zadatak dokazati njegov identitet tijekom rukovanja. Klijenti trebaju odgovarajući javni materijal da bi ga provjerili i nikada im ne treba privatna polovica. Upravo ta asimetrija omogućuje provjeru autentičnosti poslužitelja bez davanja svakom korisniku mogućnosti da se predstavlja kao poslužitelj.

Korisnički materijal ide u drugom smjeru. Privatni ključ klijenta, klijentski certifikat ili lozinka pokazuju da je upravo ta osoba ili uređaj dobio pristup. Očekuje se da će se dijeliti, kopirati među uređajima i na kraju opozvati.

WireGuard čini razdvajanje očitim jer svaki sudionik ima par ključeva: privatni ključ poslužitelja ostaje na poslužitelju, a konfiguracijska datoteka koju date korisniku sadrži njegov vlastiti privatni ključ plus javni ključ poslužitelja. Profil koji sadrži privatni ključ poslužitelja nije prečac, to je kompromitacija koja čeka dijeljenje datoteke.

Tri pitanja koja odlučuju razdvajanje

Pitajte tko mora moći čitati tajnu, što bi curenje omogućilo napadaču i je li popravak jedno opoziv ili ponovna izgradnja usluge.

Ako korisnik može to čitati i to dokazuje identitet pristupnika, odgovor na drugo pitanje je da se napadač može predstavljati kao vaš poslužitelj svakom klijentu — najgori ishod, jer su klijenti stvoreni da vjeruju tom identitetu. Ako dokazuje samo jednog korisnika, curenje daje pristup tog korisnika jednom partneru i opoziv je rutinska operacija. Ako je to ključ certifikacijskog tijela, curenje je gore od oba, jer napadač može stvarati identitete kojima vjeruje svaka krajnja točka.

Ta tri odgovora daju pravilo pohrane: CA ključ živi izvan mreže ili u trezoru, ključ pristupnika živi na pristupniku, a korisnički ključevi žive kod korisnika. Svaki raspored koji sve troje stavlja u jedan direktorij radi udobnosti pretvorio je odluku u slučajnost.

Što klijentu zapravo treba

Klijentu trebaju javni certifikat ili javni ključ partnera, CA materijal ili otisak kojem treba vjerovati, vlastiti privatni ključ i podaci o krajnjoj točki. Taj popis ne sadrži ništa što pripada privatnom identitetu pristupnika.

Dokumentacija je mjesto gdje to curi. Vodič koji kaže kopirajte direktorij poslužitelja i izbrišite ono što vam ne treba već je poučio pogrešan model, jer datoteku koja ostaje nakon koraka brisanja rijetko tko provjeri.

Opozovite jednog korisnika bez diranja pristupnika

Budući da se korisnički identiteti izdaju odvojeno, mogu se i povući odvojeno. Postava utemeljena na certifikatima opoziva klijentski certifikat i objavljuje ažurirani popis opoziva; WireGuard postava uklanja unos partnera iz konfiguracije poslužitelja. Nijedna od tih operacija ne mijenja vlastiti ključ pristupnika.

Čuvajte evidenciju izdavanja jer inače nećete znati koji identitet povući. Tablica je dovoljna, pod uvjetom da imenuje osobu, uređaj, serijski broj ili javni ključ i datum, i pod uvjetom da je netko održava nakon što osoba koja ju je napravila ode.

Naredbe u nastavku pregledavaju klijentski certifikat, a zatim ga opozivaju preko tijela u stilu OpenSSL, što je tok koji easy-rsa obavija:

openssl x509 -in client.crt -noout -subject -serial
openssl ca -config openssl.cnf -revoke client.crt
openssl ca -config openssl.cnf -gencrl -out crl.pem

Objavite novi popis gdje ga klijenti provjeravaju, inače je opoziv bilješka u datoteci koja ništa ne mijenja. Ako vaš pristupnik prihvaća klijentske certifikate bez provjere popisa opoziva, recite to izričito umjesto da implicirate da opoziv radi.

Držite sigurnosne kopije odvojeno kao i tajne

Arhiva za ponovnu izgradnju legitimno sadrži ključ pristupnika i CA materijal, jer bez njih oporavak ne može reproducirati uslugu. Paket za postavljanje klijenta ne smije ih sadržavati i oboje se ne smije čuvati zajedno. Označite svaku arhivu po tome kome je dopušteno da je drži, a ne po datumu izrade. Ta oznaka je ono što umorni administrator čita u dva sata ujutro.

Ta razlika također određuje kome je dopušteno dohvatiti svaku od njih. Upravljanje pristupnikom, izdavanje korisničkih identiteta i čitanje sigurnosnih kopija tri su različite ovlasti, a osobi kojoj treba jedna nisu automatski potrebne druge. Zapišite te dozvole, a zatim ih provjerite prema onome što vaša pohrana stvarno dopušta, jer nasljeđivanje direktorija tiho daje više nego što politika namjerava.

Povezani članci