Zakaj ključi strežnika in uporabniške poverilnice potrebujejo ločene lastnike
Identiteta prehoda in uporabniško dovoljenje sta različni skrivnosti z različnimi posledicami. Tri vprašanja odločijo, kako vsako shraniti, izdati in preklicati.
Ključ, ki dokazuje, da je vaš prehod on sam, in poverilnica, ki pravi, da se oseba sme pridružiti, sta oba skrivnosti, in tu se podobnost konča. Eden predstavlja storitev vsakemu odjemalcu; drugi predstavlja enega uporabnika tej storitvi. Njuno mešanje prihrani korak pri nastavitvi in stane popoldne med incidentom, ker obnovitev za vsakega ni ista operacija. Ločevanje je dolgočasno nastaviti in si ga zapomnimo, ko ga izpustimo.
Dve skrivnosti, dva različna lastnika
Prehod hrani zasebni ključ ali potrdilo, katerih edina naloga je dokazati svojo identiteto med rokovanjem. Odjemalci potrebujejo ustrezno javno gradivo za preverjanje in zasebne polovice nikoli ne potrebujejo. Prav ta asimetrija omogoča preverjanje strežnika, ne da bi vsak uporabnik dobil zmožnost posnemanja strežnika.
Uporabniško gradivo gre v nasprotno smer. Zasebni ključ odjemalca, odjemalsko potrdilo ali geslo dokazujejo, da je bila prav tej osebi ali napravi dodeljena dostopnost. Pričakuje se, da bo razdeljeno, kopirano med napravami in nazadnje preklicano.
WireGuard naredi ločevanje očitno, ker ima vsak udeleženec par ključev: zasebni ključ strežnika ostane na strežniku, konfiguracijska datoteka, ki jo daste uporabniku, pa vsebuje njegov lastni zasebni ključ in javni ključ strežnika. Profil, ki vsebuje zasebni ključ strežnika, ni bližnjica, ampak kompromitacija, ki čaka na deljenje datoteke.
Tri vprašanja, ki odločijo ločevanje
Vprašajte, kdo mora biti zmožen brati skrivnost, kaj bi razkritje omogočilo napadalcu in ali je popravek en preklic ali ponovna gradnja storitve.
Če jo uporabnik lahko bere in dokazuje identiteto prehoda, je odgovor na drugo vprašanje, da se napadalec lahko predstavlja za vaš strežnik pred vsakim odjemalcem — kar je najslabši izid, ker so odjemalci zasnovani tako, da zaupajo tej identiteti. Če dokazuje le enega uporabnika, razkritje temu uporabniku omogoči dostop do enega partnerja, preklic pa je rutinska operacija. Če gre za ključ potrditvene agencije, je razkritje slabše od obojega, saj lahko napadalec ustvari identitete, ki jim zaupa vsaka končna točka.
Ti trije odgovori dajo pravilo shranjevanja: ključ CA živi brez povezave ali v sefu, ključ prehoda živi na prehodu, uporabniški ključi pa živijo pri uporabnikih. Vsaka razporeditev, ki vse tri zaradi udobja položi v eno mapo, je odločitev spremenila v nesrečo.
Kaj odjemalec v resnici potrebuje
Odjemalec potrebuje javno potrdilo ali javni ključ partnerja, gradivo CA ali prstni odtis, ki mu mora zaupati, svoj zasebni ključ in podatke o končni točki. Ta seznam ne vsebuje ničesar, kar bi pripadalo zasebni identiteti prehoda.
Dokumentacija je mesto, kjer to pušča. Vodnik, ki pravi kopirajte mapo strežnika in izbrišite, česar ne potrebujete, je že naučil napačen model, ker datoteko, ki ostane po koraku brisanja, redkokdo preveri.
Prekličite enega uporabnika, ne da bi se dotaknili prehoda
Ker se uporabniške identitete izdajajo ločeno, jih je mogoče tudi ločeno umakniti. Namestitev, ki temelji na potrdilih, prekliče odjemalsko potrdilo in objavi posodobljen seznam preklicev; namestitev WireGuard odstrani vnos partnerja iz konfiguracije strežnika. Nobena od teh operacij ne spremeni lastnega ključa prehoda.
Shranite evidenco izdaje, sicer ne boste vedeli, katero identiteto umakniti. Preglednica zadostuje, če navaja osebo, napravo, serijsko številko ali javni ključ in datum ter če jo kdo vzdržuje po odhodu osebe, ki jo je zgradila.
Spodnji ukazi pregledajo odjemalsko potrdilo in ga nato prekličejo prek organa v slogu OpenSSL, kar je tok, ki ga easy-rsa ovije:
openssl x509 -in client.crt -noout -subject -serial
openssl ca -config openssl.cnf -revoke client.crt
openssl ca -config openssl.cnf -gencrl -out crl.pemObjavite novi seznam tam, kjer ga odjemalci preverjajo, sicer je preklic opomba v datoteki, ki ničesar ne spremeni. Če vaš prehod sprejema odjemalska potrdila brez vpogleda v seznam preklicev, povejte to izrecno, namesto da namigujete, da preklic deluje.
Varnostne kopije hranite tako ločeno kot skrivnosti
Arhiv za ponovno gradnjo zakonito vsebuje ključ prehoda in gradivo CA, ker brez njih obnovitev ne more ponovno ustvariti storitve. Paket za namestitev odjemalca ju ne sme in obeh se ne sme hraniti skupaj. Vsak arhiv označite po tem, kdo ga sme hraniti, ne po datumu izdelave. Prav to oznako bere utrujen skrbnik ob dveh zjutraj.
Ta razlika določa tudi, kdo sme vsakega pridobiti. Upravljanje prehoda, izdajanje uporabniških identitet in branje varnostnih kopij so tri različna pooblastila in kdor potrebuje eno, ne potrebuje samodejno drugih. Zapišite ta dovoljenja in jih nato preverite glede na to, kar vaše shramba dejansko dovoljuje, ker dedovanje map tiho daje več, kot predvideva politika.