Pozastavte jedného klienta OpenVPN bez odvolania jeho certifikátu
Dočasná blokácia patrí na server, nie do evidencie CA. Použite direktívu disable pre konkrétneho klienta, ukončite aktívne relácie a odvolávajte len pri kompromitácii.
Keď notebook na týždeň zamieri na opravárenský stôl, obvyklý inštinkt je odstrániť jeho certifikát z CA. Ten záznam je evidencia vydavateľa, nie dočasný vypínač prístupu. OpenVPN už má mechanizmus na odmietnutie spojenia pre jednotlivého klienta a jeho používaním zostáva história CA nedotknutá. Tieto dve kontroly odpovedajú na rôzne otázky a ich miešanie vytvára prácu, keď sa zariadenie vráti.
Dva záznamy, dve rôzne úlohy
Databáza CA zaznamenáva, čo vydavateľ podpísal a čo neskôr odvolal. Pýtajú sa jej postupy odvolávania a všetko, čo číta CRL alebo vlastnú kópiu evidencie. Pravidlo prístupu žije na serveri a platí pre spojenia, ktoré tento server prijíma.
Odstránenie záznamu o vydaní certifikát spoľahlivo neodvolá a poškodí históriu, na ktorej závisí neskoršie odvolávanie alebo audit. Kontrola na strane servera je užšia a vratná. Napíšte rozdiel do poznámky k zmene, aby ďalší človek nehľadal odvolanie, ktoré nikdy nenastalo.
Umiestnite direktívu vypnutia do správneho súboru
Pri komunitnom serveri, ktorý používa konfiguráciu pre konkrétneho klienta, dokumentovaná direktíva disable odmieta jedného vybraného klienta. Patrí do súboru tohto klienta v aktívnom client-config-dir, nie do hlavnej konfigurácie servera. Overte adresár, ktorý bežiaci démon skutočne používa, a potom overte identitu, ktorá vyberá súbor. Súbor pomenovaný podľa nesprávneho spoločného mena vyzerá správne a nikdy sa neprečíta.
disable
Voľby mapovania sú tu dôležité. Možnosti ako username-as-common-name menia, ktorú identitu vyhľadávanie používa, takže súbor pomenovaný podľa subjektu certifikátu nemusí byť ten použitý. Prečítajte si referenciu OpenVPN pre nainštalovanú verziu, namiesto toho, aby ste predpokladali, že direktíva platí v každom kontexte.
Oddeľte nový prístup od aktívnych relácií
Odmietnutie ďalšieho handshake neukončí tunel, ktorý už stojí. Ak sa zariadenie musí odpojiť teraz, použite aj autorizovanú cestu správy relácií na serveri pre tú konkrétnu reláciu. Inak môže klient pokračovať v práci, kým sa sám znovu nepripojí, a zatvorenie veka notebooku alebo ukončenie klienta je akcia na strane klienta, ktorá o serveri nič nehovorí.
Overte oba výsledky: aktívna relácia sa zastaví, keď chcete, a nový handshake je odmietnutý. Zatvorené okno klienta nič nedokazuje o politike servera.
Ak nasadenie nemá podporovaný spôsob, ako ukončiť aktívnu reláciu, zaznamenajte túto medzeru namiesto vymýšľania. Blokovaný port na klientovi nie je to isté ako politika na strane servera.
Pauza a kompromitácia sú rôzne udalosti
Stratený alebo ukradnutý kľúč je udalosť odvolania a miestna pauza prístupu ho nenahrádza. Iné servery dôverujúce tej istej CA nebudú zdieľať toto pravidlo konkrétneho klienta. Postupujte podľa procesu odvolania a nahradenia vydavateľa a udržujte databázu CA ako autoritatívny záznam. Dočasná pauza si naopak vyžaduje zdokumentovaný dôvod a krok obnovy.
Keď sa prístup obnoví, odstráňte obmedzenie cez komponent, ktorý ho vlastní, a overte, že nové spojenie uspeje. Zapíšte aj cestu k riadku disable, pretože neskoršia synchronizácia konfigurácie ho môže potichu vrátiť. Uchovajte pauzu, jej vlastníka a dátum v poznámkach k nasadeniu, aby ďalší správca po mesiacoch nenašiel nevysvetlený riadok disable.