En bærbar pc dør med tre konfigurerede WireGuard-tunneler, og konfigurationsfilerne ligger stadig på disken. Kopierer man dem til en erstatningsmaskine, får man en tjeneste, der starter og derefter nægter at komme op. Filerne er beskyttet med en nøgle, der tilhører den konto og maskine, som oprettede dem, så bytes rejser, men evnen til at læse dem gør ikke. Gennemgangen nedenfor går fra at finde filen til den mulighed, der faktisk gendanner tjenesten.

Hvor tunnel-filen bor nu

Opbevaringen har flyttet sig mellem versioner. Ældre installationer holdt profiler i systemprofilens lokale programdata under en WireGuard\Configurations-mappe, og nuværende builds bruger en datamappe inde i programfilstræet. Hver tunnel er en enkelt fil med en dobbelt udvidelse, der navngiver beskyttelsen:

Get-ChildItem "C:\Program Files\WireGuard\Data\Configurations"

Endelsen .dpapi er ikke pynt. Filen er en beskyttet blob, og tjenesten er designet til at forbruge den præcis i den form. Den understøttede måde at installere en tunnel ud fra den er et forhøjet kald, der peger på blobben:

$blob = "C:\Program Files\WireGuard\Data\Configurations\hq.conf.dpapi"
wireguard.exe /installtunnelservice $blob

Den kommando lykkes kun i den kontekst, der kan pakke blobben ud. Den installerer en tjeneste; den dekrypterer ikke noget for dig.

Hvorfor blobben ikke åbner andre steder

Beskyttelsen udleder sin nøgle fra brugerens logonoplysninger og, afhængigt af det valgte omfang, fra maskinen. Microsofts dokumentation for beskyttelseskaldet siger, at standarden tilhører den bruger og maskine, der krypterede den, og en maskinvid mulighed ændrer, hvem der må pakke den ud. I begge tilfælde bor nøglen i operativsystemets legitimationsmateriale, ikke inde i filen. Chifferteksten er flytbar; nøglen er det ikke.

At overtage ejerskabet af mappen ændrer en ACL og intet andet. Monterer man den gamle disk i et kabinet og kopierer blobben til en ny pc, står man tilbage med chiffertekst, hvis nøgle aldrig blev kopieret. Fejlen er kryptografisk, og ingen mængde geninstallation af tjenesten ændrer det. Den nye maskine har ingen hovednøgle til den konto, og det gamle nøglelager rejser ikke med filen.

Produkter, der gemmer indstillinger i en sløret fil, gør kontrasten tydelig. En konfiguration, der blot er obfuskeret, bliver læsbar, når du finder det flag, der slår obfuskeringen fra; en beskyttet blob forbliver lukket uden nøglen. Forveksler man de to, leder folk efter en dekoder, der ikke findes.

Hvad du kan prøve, mens det gamle system stadig booter

Hvis installationen stadig starter, så eksportér tunnelerne fra klienten, mens du er logget ind som den konto, der oprettede dem. Eksporten giver almindelige konfigurationsfiler, og det er på det punkt, en sikkerhedskopi bliver flytbar.

Hvis disken kan læses, men Windows ikke vil boote, er de beskyttede filer reelt tabt. Værktøjer, der lover at gendanne dem, kører enten i den oprindelige kontekst, som du ikke længere har, eller beder dig udlevere blobben og dit gamle diskbillede, hvilket er en beslutning, der er værd at stoppe op over.

Skriv ned, hvad du finder ud af, uanset hvad: tunnelnavnene, endepunkterne og de offentlige nøgler. Navne og endepunkter lader dig genopbygge hurtigt, og offentlige nøgler lader modparten afgøre, hvilken post der skal fjernes.

Genopbyg i stedet fra modpartens side

For en modpart, du kontrollerer, skal du generere et nyt nøglepar og føje den nye offentlige nøgle til modpartens liste. For et virksomheds- eller hostingendepunkt skal du bede administratoren om at udstede en ny nøgle og fjerne den gamle. Den anmodning er den samme, som du ville komme med efter et tyveri, fordi en mistet disk betyder, at den gamle private nøgle skal behandles som afsløret.

Genopbyg derefter tunnelen ud fra de værdier, du skrev ned, og bekræft håndtrykket, før du sletter noget andet. Den gamle post hos modparten bør forsvinde i samme ændring, så en stjålen disk ikke kan forbinde igen senere.

Læren hører hjemme i backup-politikken snarere end i et gendannelsesværktøj. En WireGuard-konfiguration er en legitimationsoplysning: enhver, der har den private nøgle, har modpartens identitet, og der er ingen anden adgangskode i vejen. Enten eksporterer du konfigurationen bevidst og opbevarer den sammen med dine andre hemmeligheder, eller du accepterer, at gendannelse betyder at udstede nye nøgler, og skriver ned, hvilket valg der gælder for hver tunnel.

Relaterede artikler