Pozastavte jednoho klienta OpenVPN bez odvolání jeho certifikátu
Dočasná blokace patří na server, ne do evidence CA. Použijte direktivu disable pro konkrétního klienta, ukončete aktivní relace a odvolávejte certifikát jen při kompromitaci.
Když notebook na týden zamíří na opravárenský stůl, obvyklý instinkt je odstranit jeho certifikát z CA. Ten záznam je evidence vydavatele, ne dočasný vypínač přístupu. OpenVPN už má mechanismus pro odmítnutí spojení u jednotlivého klienta a jeho použitím zůstane historie CA nedotčená. Tyto dvě kontroly odpovídají na různé otázky a jejich míchání vytváří práci, až se zařízení vrátí.
Dva záznamy, dva různé úkoly
Databáze CA zaznamenává, co vydavatel podepsal a co později odvolal. Dotazují se jí postupy odvolávání a vše, co čte CRL nebo vlastní kopii evidence. Pravidlo přístupu žije na serveru a platí pro spojení, která tento server přijímá.
Smazání záznamu o vydání certifikát spolehlivě neodvolá a poškodí historii, na níž závisí pozdější odvolávání nebo audit. Kontrola na straně serveru je užší a vratná. Napište rozdíl do poznámky ke změně, aby příští člověk nehledal odvolání, které nikdy nenastalo.
Umístěte direktivu pro vypnutí do správného souboru
U komunitního serveru, který používá konfiguraci pro konkrétního klienta, dokumentovaná direktiva disable odmítá jednoho vybraného klienta. Patří do souboru tohoto klienta v aktivním client-config-dir, ne do hlavní konfigurace serveru. Ověřte adresář, který běžící démon skutečně používá, a poté ověřte identitu, která soubor vybírá. Soubor pojmenovaný podle špatného obecného jména vypadá správně a nikdy se nepřečte.
disable
Volby mapování jsou tu důležité. Možnosti jako username-as-common-name mění, kterou identitu vyhledávání použije, takže soubor pojmenovaný podle subjektu certifikátu nemusí být ten použitý. Přečtěte si referenci OpenVPN pro nainstalovanou verzi, místo abyste předpokládali, že direktiva platí v každém kontextu.
Oddělte nový přístup od aktivních relací
Odmítnutí dalšího handshake neukončí tunel, který už běží. Pokud je třeba zařízení odpojit hned, použijte také autorizovanou cestu správy relací na serveru pro tuto konkrétní relaci. Jinak může klient pokračovat v práci, dokud se sám nepřipojí znovu, a zavření víka notebooku nebo ukončení klienta je akce na straně klienta, která o serveru nic neříká.
Ověřte oba výsledky: aktivní relace se zastaví, kdy chcete, a nový handshake je odmítnut. Zavřené okno klienta o politice serveru nic nedokazuje.
Pokud nasazení nemá podporovaný způsob, jak ukončit aktivní relaci, zapište tuto mezeru, místo abyste nějaký vymýšleli. Blokovaný port na klientovi není totéž jako politika na straně serveru.
Pauza a kompromitace jsou různé události
Ztracený nebo ukradený klíč je událost odvolání a místní pauza přístupu jej nenahrazuje. Jiné servery, které důvěřují stejné CA, nebudou toto pravidlo pro konkrétního klienta sdílet. Postupujte podle procesu odvolání a nahrazení vydavatele a udržujte databázi CA jako autoritativní záznam. Dočasná pauza naopak potřebuje zdokumentovaný důvod a krok obnovy.
Když se přístup obnoví, odeberte omezení přes komponentu, která ho vlastní, a ověřte, že nové spojení uspěje. Zapište také cestu k řádku disable, protože pozdější synchronizace konfigurace ho může tiše vrátit. Uchovejte pauzu, jejího vlastníka a datum v poznámkách k nasazení, aby příští správce po měsících nenašel nevysvětlený řádek disable.