Back-up van VPN-server: bepaal wat herstelbaar moet zijn
Identiteit, configuratie en toestand zijn drie verschillende back-upproblemen. Bepaal eerst het herbouwdoel, maak één momentopname en test daarna het herstel.
Een configuratiebestand kopiëren is geen back-up, en een back-up die niemand kan herstellen is geen plan. Het archief moet de identiteit van de dienst, het beleid eromheen en de toestand bevatten die zegt welke apparaten nog zijn toegestaan. Het moet ook worden beschermd, want in de meeste implementaties geeft het archief precies wat de VPN geeft. De beslissing wat herstelbaar moet zijn komt eerst; de bestandslijst volgt uit die beslissing.
Begin bij het herbouwdoel
Schrijf op wat een herbouwde server moet doen voordat u één bestand opsomt: dezelfde tunnels beëindigen, dezelfde identiteit presenteren en de apparaten weigeren die nu zijn ingetrokken. Die zin sluit de meeste naïeve kopieën uit, omdat een configuratiemap zelden de intrekkingslijst of de externe identiteitsafhankelijkheid bevat. Hij legt ook de delen bloot die buiten de host leven, zoals DNS-records, cloudfirewallregels en de map waartegen de gateway authenticeert. Een plan dat ze negeert, levert een herstelde server op die er gezond uitziet en niemand toelaat.
Groepeer het materiaal in drie bakken: identiteit, configuratie en toestand. Identiteit zijn de sleutels, de certificaten en de autoriteit die ze ondertekent. Configuratie zijn de daemoninstellingen, pools, routes en firewallbeleid, terwijl toestand de verzameling peers, accounts en intrekkingen is die elke dag verandert.
Identiteit is het deel dat u niet opnieuw kunt genereren
Privésleutels kunnen niet uit het geheugen worden herschapen, en de certificaten die ervan afhangen verlopen volgens een schema dat u erft in plaats van kiest. Maak een back-up van de serversleutel, het cliëntvoorzieningsmateriaal en de certificaatautoriteit, en noteer daarna welke daarvan offline moeten blijven. Een autoriteitssleutel die alleen op de draaiende gateway leeft, is één compromis verwijderd van een volledige identiteitsreset voor elke cliënt. Leg vast wat bewust elders wordt opgeslagen, zodat niemand het dupliceert naar een archief met lagere bescherming.
Intrekking verdient een eigen regel in het plan. Het herstellen van de configuratie van gisteren kan een identiteit terugzetten die u vandaag hebt verwijderd, waardoor een herstel een beveiligingsincident wordt. Bewaar de huidige intrekkingstoestand op een plek die onafhankelijk is van de momentopname waarnaar u zou terugrollen, en controleer die na elk herstel.
Leg de toestand op één moment vast
Een kopie die wordt gemaakt terwijl de dienst schrijft, levert een inconsistente inventaris op, en inconsistente identiteitsgegevens zijn erger dan een oudere schone kopie. Gebruik het ondersteunde exportpad voor elke opslag en noteer daarna het tijdstip van de momentopname, want elke latere vraag over het herstel hangt daarvan af.
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
De eerste opdracht drukt de draaiende interface weer af als configuratie, wat de snelste manier is om peers vast te leggen die met de hand zijn toegevoegd in plaats van door een beheertool; dat wg(8)-handboek documenteert het. De sqlite-regel is het patroon voor een beheerdatabase: de back-upopdracht maakt een consistente kopie terwijl de schrijver doorloopt. De mapkopie behoudt de rechten, wat ertoe doet omdat die sleutelbestanden alleen door root leesbaar zijn. Het manifest is wat u een volledig archief van een afgekapt archief laat onderscheiden.
Maak het herstel mogelijk en probeer het dan
Versleutel het archief en bewaar de herstelsleutel ergens anders dan op de machine waar het vandaan kwam. Een back-up waarvan de wachtwoordzin alleen op de mislukte server bestaat, is een back-up die niemand zal openen. Beperk het ophalen tot de mensen die de gateway al konden beheren, en log elk ophalen. Test het herstel op een geïsoleerd netwerk, want een gekloonde identiteit die naast productie wordt opgestart, maakt twee servers die voor dezelfde peersleutel antwoorden.
Documenteer de uitsluitingen even zorgvuldig als de inhoud. Cloudfirewallregels, DNS-records en een externe map kunnen elk hun eigen herstelstap nodig hebben. Een geslaagde bestandskopie is geen bewijs dat de dienst terugkeert; het enige bewijs dat telt, is een herbouwd eindpunt dat dezelfde acceptatietest doorstaat als het origineel.