Att kopiera en konfigurationsfil är inte en säkerhetskopia, och en säkerhetskopia som ingen kan återställa är inte en plan. Arkivet måste innehålla tjänstens identitet, policyn runt den och tillståndet som säger vilka enheter som fortfarande är tillåtna. Det måste också skyddas, eftersom arkivet i de flesta driftsättningar ger precis det VPN ger. Beslutet om vad som måste kunna återställas kommer först; fillistan följer av det beslutet.

Börja med återuppbyggnadsmålet

Skriv ned vad en återuppbyggd server måste göra innan du listar en enda fil: avsluta samma tunnlar, presentera samma identitet och neka de enheter som just nu är återkallade. Den meningen utesluter de flesta naiva kopior, eftersom en konfigurationskatalog sällan innehåller återkallningslistan eller det externa identitetsberoendet. Den blottar också delarna som lever utanför värden, som DNS-poster, molnbrandväggsregler och katalogen som gatewayen autentiserar mot. En plan som ignorerar dem ger en återställd server som ser frisk ut och inte släpper in någon.

Gruppera materialet i tre hinkar: identitet, konfiguration och tillstånd. Identiteten är nycklarna, certifikaten och myndigheten som signerar dem. Konfigurationen är daemoninställningarna, poolerna, rutterna och brandväggspolicyn, medan tillståndet är mängden peers, konton och återkallelser som ändras varje dag.

Identiteten är den del du inte kan återskapa

Privata nycklar kan inte återskapas ur minnet, och certifikaten som hänger på dem löper ut enligt ett schema du ärver i stället för väljer. Säkerhetskopiera serverns nyckel, klienternas etableringsmaterial och certifikatmyndigheten, och notera sedan vilka av dem som ska förbli offline. En myndighetsnyckel som bara lever på den körande gatewayen är en kompromiss bort från en fullständig identitetsåterställning för varje klient. Registrera vad som medvetet lagras någon annanstans, så att ingen duplicerar det till ett arkiv med lägre skydd.

Återkallelse förtjänar en egen rad i planen. Återställning av gårdagens konfiguration kan återinföra en identitet som du tog bort i dag, vilket gör en återställning till en säkerhetsincident. Förvara det aktuella återkallningstillståndet på en plats som är oberoende av den ögonblicksbild du skulle rulla tillbaka till, och kontrollera det efter varje återställning.

Ta en ögonblicksbild av tillståndet vid ett tillfälle

En kopia som tas medan tjänsten skriver ger ett inkonsekvent inventarium, och inkonsekventa identitetsdata är sämre än en äldre ren kopia. Använd den exportväg som stöds för varje lager och registrera sedan tidpunkten för ögonblicksbilden, eftersom varje senare fråga om återställningen hänger på den.

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

Det första kommandot skriver ut det körande gränssnittet tillbaka som konfiguration, vilket är det snabbaste sättet att fånga peers som lagts till för hand i stället för av ett administrationsverktyg; det wg(8)-handboken dokumenterar det. Raden sqlite är mönstret för en administrationsdatabas: säkerhetskopieringskommandot skapar en konsekvent kopia medan skrivaren fortsätter. Katalogkopian bevarar behörigheterna, vilket spelar roll eftersom de nyckelfilerna bara kan läsas av root. Manifestet är det som låter dig skilja ett komplett arkiv från ett avkortat.

Gör återställningen möjlig och prova den sedan

Kryptera arkivet och förvara återställningsnyckeln någon annanstans än på maskinen den kom från. En säkerhetskopia vars lösenfras bara finns på den misslyckade servern är en säkerhetskopia som ingen kommer att öppna. Begränsa hämtningen till personerna som redan kunde administrera gatewayen, och logga varje hämtning. Testa återställningen på ett isolerat nätverk, eftersom en klonad identitet som startas bredvid produktionen skapar två servrar som svarar för samma peer-nyckel.

Dokumentera undantagen lika noggrant som innehållet. Molnbrandväggsregler, DNS-poster och en extern katalog kan var och en behöva sitt eget återställningssteg. En lyckad filkopiering är inte bevis på att tjänsten kommer tillbaka; det enda bevis som räknas är en återuppbyggd slutpunkt som klarar samma acceptanstest som originalet.

Relaterade artiklar