Plánování servisního okna OpenVPN bez ztráty hostitele
Zastavte tunel, ztratíte relaci. Zaznamenejte běžící jednotku, sestavte záchrannou sadu, vyzkoušejte to na pilotním listeneru a pak přepněte zvenčí VPN.
Restart služby VPN ukončí každou relaci, která ji používá, takže okno musí být postavené kolem rozhovorů, ne kolem správce balíčků. Uživatelé potřebují dostatečné oznámení, aby dokončili citlivou práci, a vy potřebujete cestu zpět, která nezávisí na tunelu, který se chystáte zastavit. Všechno ostatní v playbooku existuje proto, aby se tyto dva fakty daly zvládnout. Vynechte kterýkoli z nich a rutinní aktualizace se změní ve výpadek bez východiska.
Pořadí níže je záměrné: každá fáze vytváří něco, co další fáze potřebuje, a kterákoli fáze může změnu ukončit dřív, než začne.
Zaznamenejte službu, která existuje, dřív než ji změníte
Čtěte nainstalovanou jednotku, ne tu, o které si myslíte, že jste ji napsali: systemctl cat [email protected] vypíše jednotku a všechny drop-in soubory a systemctl show [email protected] -p ExecStart -p User -p WorkingDirectory ukáže, co skutečně běží a pod jakou identitou. Ptejte se binárky, kterou ta jednotka uvádí, protože openvpn --version z shellu se může přeložit na jiné sestavení. Zapište cestu k profilu a každý soubor, na který odkazuje.
Všimněte si také naslouchajících socketů: ss -lunp | grep 1194 vám řekne, kterou adresu a protokol dnes démon vlastní. Pokud odpověď není to, co profil naznačuje, přepisuje ji drop-in nebo soubor prostředí a upgrade to překvapení zdědí.
Sestavte záchrannou sadu, kterou by mohl použít někdo jiný
Záchranná sada musí být použitelná kolegou ve 03:00 bez vašeho kontextu. Zahrňte efektivní konfiguraci s každým odkazovaným souborem, materiál důvěry a odvolání pod kontrolou vlastníka PKI, přiřazení a hooky pro jednotlivé klienty a přesné verze balíčků nainstalovaných dnes. Kopie jednoho názvu souboru není konfigurace. Uložte ji tam, kam se pohotovostní operátor dostane bez VPN.
Řízení přístupu platí i pro tuto sadu, protože obsahuje soukromé klíče nebo přihlašovací údaje backendu. Nepřestavujte CA ani znovu nevydávejte identity jen proto, že se změnila verze balíčku.
Vyzkoušejte to na pilotním listeneru se skutečným klientem
Spusťte kandidátské vydání na samostatném listeneru s vlastním plánem portů a adres, ne vedle produkční instance na stejném socketu. Připojujte se klientskými enginy, které vaši uživatelé skutečně používají, včetně toho nepohodlného. Zkontrolujte přiřazení adres, vynucené DNS, jednu aplikaci, na které záleží, a jednu cestu, která má zůstat zablokovaná. Vlastní hooky musí běžet ve skutečném kontextu oprávnění a souborového systému služby, protože root shell o nich nic nedokazuje.
Čtěte poznámky k vydání kvůli změnám chování, ne jen kvůli novým funkcím. Výchozí hodnoty šifer a TLS se mezi verzemi mění a profil, který se stále parsuje, může selhat při handshake. Pokud upgrade vyžaduje změny profilu nebo certifikátu, naplánujte to jako vlastní krok, místo abyste to spojili s aktualizací balíčku.
Přepněte jednou, z cesty mimo tunel
Začněte okno z konzole nebo z management sítě, která neprochází službou. Potvrďte, že uživatelé byli informováni a že druhý operátor ví, jak vrátit změny. Aplikujte připravenou změnu přes jejího vlastníka, pak restartujte pomocí sudo systemctl restart [email protected] a sledujte journal pomocí journalctl -u openvpn-server@office -b -f. Pokud se změnily jen definice jednotky, stačí reload; změněný profil vyžaduje restart procesu.
Očekávejte, že se každý klient znovu připojí, a očekávejte, že některé relace aplikací nebudou pokračovat. Koordinujte čistou pauzu se zátěžemi, které to nesnesou.
Přijměte nebo vraťte zpět, pak uživatelům řekněte, co se změnilo
Přijetí znamená nové přihlášení plus skutečnou operaci plus omezení, která stále platí. Aktivní jednotka a zelený řádek stavu jsou fakta o procesu. Pokud kritéria v rámci okna selžou, vraťte se připravenou metodou, ne obnovením jednoho souboru a doufáním; změněná binárka nebo politika služby přežije obnovení konfigurace. Zachovejte každou změnu odvolání nebo autorizace provedenou během okna, aby vrácení nevrátilo zpět bezpečnostní práci.
Zapište verze, změny profilu a výsledky přijetí pro dalšího operátora, vyřaďte pilotní listener a řekněte uživatelům, který profil mají teď používat. Okno, které skončí bez této poznámky, se při další aktualizaci znovu rozebírá.