Prečo kľúče servera a používateľské prihlasovacie údaje potrebujú samostatných vlastníkov
Identita brány a používateľské oprávnenie sú rôzne tajomstvá s rôznymi dôsledkami. Tri otázky určujú, ako každé z nich ukladať, vydávať a odvolávať.
Kľúč, ktorý dokazuje, že vaša brána je ona sama, a prihlasovací údaj, ktorý hovorí, že sa osoba smie pripojiť, sú oba tajomstvá, a práve tam podobnosť končí. Jeden predstavuje službu každému klientovi; druhý predstavuje jedného používateľa tejto službe. Ich miešanie ušetrí krok pri nastavení a stojí popoludnie počas incidentu, pretože obnova pre každý z nich nie je tá istá operácia. Oddelenie je nudné na nastavenie a pamätné pri vynechaní.
Dve tajomstvá, dvaja rôzni vlastníci
Brána drží súkromný kľúč alebo certifikát, ktorého jedinou úlohou je preukázať svoju identitu počas handshake. Klienti potrebujú zodpovedajúci verejný materiál na jeho overenie a súkromnú polovicu nikdy nepotrebujú. Práve táto asymetria umožňuje overenie servera bez toho, aby každý používateľ dostal schopnosť vydávať sa za server.
Používateľský materiál ide opačným smerom. Súkromný kľúč klienta, klientsky certifikát alebo heslo dokazujú, že práve tejto osobe alebo zariadeniu bol udelený prístup. Očakáva sa, že bude distribuovaný, kopírovaný medzi zariadeniami a nakoniec odvolaný.
WireGuard robí oddelenie zrejmým, pretože každý účastník má pár kľúčov: súkromný kľúč servera zostáva na serveri a konfiguračný súbor, ktorý dáte používateľovi, obsahuje jeho vlastný súkromný kľúč plus verejný kľúč servera. Profil, ktorý obsahuje súkromný kľúč servera, nie je skratka, je to kompromitácia čakajúca na zdieľanie súboru.
Tri otázky, ktoré určujú oddelenie
Spýtajte sa, kto musí mať možnosť čítať tajomstvo, čo by odhalenie umožnilo útočníkovi a či je opravou jedno odvolanie alebo prestavba služby.
Ak ho používateľ môže čítať a preukazuje identitu brány, odpoveďou na druhú otázku je, že útočník sa môže vydávať za váš server pred každým klientom — čo je najhorší výsledok, pretože klienti sú navrhnutí dôverovať tejto identite. Ak preukazuje len jedného používateľa, odhalenie dá tomuto používateľovi prístup k jednému partnerovi a odvolanie je rutinná operácia. Ak ide o kľúč certifikačnej autority, odhalenie je horšie ako oboje, pretože útočník môže vytvárať identity, ktorým dôveruje každý koncový bod.
Tieto tri odpovede dávajú pravidlo ukladania: kľúč CA žije offline alebo v trezore, kľúč brány žije na bráne a používateľské kľúče žijú u používateľov. Akékoľvek usporiadanie, ktoré všetky tri dá do jedného adresára pre pohodlie, premenilo rozhodnutie na nehodu.
Čo klient skutočne potrebuje
Klient potrebuje verejný certifikát alebo verejný kľúč partnera, materiál CA alebo odtlačok, ktorému má dôverovať, vlastný súkromný kľúč a údaje o koncovom bode. Tento zoznam neobsahuje nič, čo patrí súkromnej identite brány.
Práve v dokumentácii to uniká. Návod, ktorý hovorí skopírujte adresár servera a vymažte, čo nepotrebujete, už naučil nesprávny model, pretože súbor, ktorý po kroku vymazania zostane, málokto skontroluje.
Odvolajte jedného používateľa bez toho, aby ste sa dotkli brány
Keďže sa používateľské identity vydávajú oddelene, možno ich aj oddelene odobrať. Nasadenie založené na certifikátoch odvolá klientsky certifikát a zverejní aktualizovaný zoznam odvolaní; nasadenie WireGuard odstráni záznam partnera z konfigurácie servera. Ani jedna z týchto operácií nemení vlastný kľúč brány.
Uchovávajte záznam o vydaní, inak nebudete vedieť, ktorú identitu odobrať. Tabuľka stačí, ak uvádza osobu, zariadenie, sériové číslo alebo verejný kľúč a dátum, a ak ju niekto spravuje po odchode osoby, ktorá ju vytvorila.
Nižšie uvedené príkazy skontrolujú klientsky certifikát a potom ho odvolajú prostredníctvom autority v štýle OpenSSL, čo je postup, ktorý easy-rsa obaľuje:
openssl x509 -in client.crt -noout -subject -serial
openssl ca -config openssl.cnf -revoke client.crt
openssl ca -config openssl.cnf -gencrl -out crl.pemZverejnite nový zoznam tam, kde ho klienti kontrolujú, inak je odvolanie poznámka v súbore, ktorá nič nemení. Ak vaša brána prijíma klientske certifikáty bez nahliadnutia do zoznamu odvolaní, povedzte to výslovne, namiesto naznačovania, že odvolanie funguje.
Uchovávajte zálohy rovnako oddelene ako tajomstvá
Archív na prestavbu oprávnene obsahuje kľúč brány a materiál CA, pretože bez nich obnova nemôže reprodukovať službu. Inštalačný balík klienta ho nesmie obsahovať a oba sa nesmú ukladať spolu. Označte každý archív podľa toho, kto ho smie držať, nie podľa dátumu vytvorenia. Práve tento štítok číta unavený správca o druhej ráno.
Toto rozlíšenie tiež určuje, kto smie každý z nich získať. Správa brány, vydávanie používateľských identít a čítanie záloh sú tri rôzne právomoci a človek, ktorý potrebuje jednu, automaticky nepotrebuje ostatné. Zapíšte tieto oprávnenia a potom ich skontrolujte voči tomu, čo vaše úložisko skutočne umožňuje, pretože dedičstvo adresárov ticho dáva viac, než politika zamýšľa.