Zálohování VPN serveru: rozhodněte, co musí být obnovitelné
Identita, konfigurace a stav jsou tři různé problémy zálohování. Nejprve rozhodněte cíl obnovy, pak sejměte jeden okamžik a teprve potom obnovu otestujte.
Kopírování konfiguračního souboru není záloha a záloha, kterou nikdo nedokáže obnovit, není plán. Archiv musí obsahovat identitu služby, politiku kolem ní a stav, který říká, která zařízení jsou dosud povolena. Musí být také chráněn, protože ve většině nasazení archiv dává přesně to, co dává VPN. Rozhodnutí, co musí být obnovitelné, přichází první; seznam souborů z něj vyplývá.
Začněte cílem obnovy
Napište, co musí obnovený server dělat, než vypíšete jediný soubor: ukončovat stejné tunely, předkládat stejnou identitu a odmítat zařízení, která jsou právě odvolána. Tato věta vylučuje většinu naivních kopií, protože konfigurační adresář zřídka obsahuje seznam odvolání nebo externí závislost identity. Odhaluje také části žijící mimo hostitele, jako jsou záznamy DNS, pravidla cloudového firewallu a adresář, proti kterému se brána ověřuje. Plán, který je ignoruje, vytvoří obnovený server, který vypadá zdravě a nikoho nepustí.
Rozdělte materiál do tří košů: identita, konfigurace a stav. Identita jsou klíče, certifikáty a autorita, která je podepisuje. Konfigurace jsou nastavení démona, fondy, trasy a politika firewallu, zatímco stav je sada protějšků, účtů a odvolání, která se mění každý den.
Identitu znovu vygenerovat nelze
Soukromé klíče nelze znovu vytvořit z paměti a certifikáty na nich závislé vyprší podle plánu, který dědíte, místo abyste jej volili. Zazálohujte klíč serveru, materiál pro zřizování klientů a certifikační autoritu, potom poznamenejte, které z nich mají zůstat offline. Klíč autority, který žije jen na běžící bráně, je jedno kompromitování od úplného resetu identity pro každého klienta. Zaznamenejte, co se záměrně ukládá jinde, aby to nikdo neduplikoval do archivu s nižší ochranou.
Odvolání si v plánu zaslouží vlastní řádek. Obnova včerejší konfigurace může obnovit identitu, kterou jste dnes odstranili, což mění obnovu v bezpečnostní incident. Udržujte aktuální stav odvolání na místě nezávislém na snímku, ke kterému byste se vraceli, a po každé obnově jej zkontrolujte.
Sejměte stav v jednom okamžiku
Kopie pořízená během zápisu služby vytváří nekonzistentní inventář a nekonzistentní data identity jsou horší než starší čistá kopie. Pro každé úložiště použijte podporovanou cestu exportu a potom zaznamenejte čas snímku, protože na něm závisí každá další otázka o obnově.
wg showconf wg0 > /srv/backup/wg0.runtime.conf
sqlite3 /var/lib/vpn/admin.db ".backup '/srv/backup/admin.db'"
cp -a /etc/wireguard /srv/backup/etc-wireguard
sha256sum /srv/backup/*.conf > /srv/backup/MANIFEST
První příkaz vypíše běžící rozhraní zpět jako konfiguraci, což je nejrychlejší způsob, jak zachytit protějšky přidané ručně místo nástrojem pro správu; dokumentuje to manuál wg(8). Řádek sqlite je vzor pro databázi správy: příkaz zálohy vytvoří konzistentní kopii, zatímco zapisující proces běží dál. Kopie adresáře zachovává oprávnění, což je důležité, protože tyto klíčové soubory může číst jen root. Manifest je to, co vám umožní rozeznat úplný archiv od zkráceného.
Umožněte obnovu a pak ji vyzkoušejte
Zašifrujte archiv a klíč pro obnovu držte jinde než na stroji, ze kterého přišel. Záloha, jejíž přístupová fráze existuje jen na selhaném serveru, je záloha, kterou nikdo neotevře. Omezte vyzvednutí na lidi, kteří už mohli spravovat bránu, a každé vyzvednutí zaznamenejte. Otestujte obnovu v izolované síti, protože klonovaná identita spuštěná vedle produkce vytváří dva servery odpovídající za stejný klíč protějšku.
Zdokumentujte výjimky stejně pečlivě jako obsah. Pravidla cloudového firewallu, záznamy DNS a externí adresář mohou každé potřebovat vlastní krok obnovy. Úspěšná kopie souborů není důkazem, že se služba vrací; jediný důkaz, který platí, je obnovený koncový bod, který projde stejnou přejímací zkouškou jako originál.