En bærbar PC dør med tre konfigurerte WireGuard-tunneler, og konfigurasjonsfilene ligger fortsatt på disken. Kopierer man dem til en erstatningsmaskin, får man en tjeneste som starter og deretter nekter å komme opp. Filene er beskyttet med en nøkkel som tilhører kontoen og maskinen som laget dem, så bytene reiser, men evnen til å lese dem gjør det ikke. Gjennomgangen nedenfor går fra å finne filen til alternativet som faktisk gjenoppretter tjenesten.

Hvor tunnelfilen bor nå

Lagringen har flyttet seg mellom versjoner. Eldre installasjoner holdt profiler i systemprofilens lokale programdata under en WireGuard\Configurations-mappe, og dagens bygg bruker en datamappe inne i programfilstreet. Hver tunnel er én fil med en dobbel utvidelse som navngir beskyttelsen:

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

Endelsen .dpapi er ikke pynt. Filen er en beskyttet blob, og tjenesten er laget for å konsumere den nøyaktig i den formen. Den støttede måten å installere en tunnel fra den er et forhøyet kall som peker på bloben:

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

Den kommandoen lykkes bare i konteksten som kan pakke ut bloben. Den installerer en tjeneste; den dekrypterer ikke noe for deg.

Hvorfor bloben ikke åpner seg andre steder

Beskyttelsen utleder nøkkelen sin fra brukerens påloggingsinformasjon og, avhengig av omfanget som velges, fra maskinen. Microsofts dokumentasjon for beskyttelseskallet sier at standarden tilhører brukeren og maskinen som krypterte den, og et maskinvidt alternativ endrer hvem som kan pakke den ut. I begge tilfeller bor nøkkelen i operativsystemets legitimasjonsmateriale, ikke inne i filen. Chifferteksten er flyttbar; nøkkelen er det ikke.

Å ta eierskap til mappen endrer en ACL og ingenting annet. Å montere den gamle disken i et kabinett og kopiere bloben til en ny PC etterlater deg med chiffertekst som nøkkelen aldri ble kopiert for. Feilen er kryptografisk, og ingen mengde reinstallasjon av tjenesten endrer det. Den nye maskinen har ingen hovednøkkel for den kontoen, og det gamle nøkkellageret reiser ikke med filen.

Produkter som lagrer innstillinger i en sløret fil gjør kontrasten tydelig. En konfigurasjon som bare er obfuskert, blir lesbar når du finner flagget som slår av obfuskeringen; en beskyttet blob forblir lukket uten nøkkelen. Forveksler man de to, leter folk etter en dekoder som ikke finnes.

Hva du kan prøve mens det gamle systemet fortsatt starter

Hvis installasjonen fortsatt starter, eksporterer du tunnelen fra klienten mens du er logget på som kontoen som laget dem. Eksporten lager vanlige konfigurasjonsfiler, og det er på det punktet en sikkerhetskopi blir flyttbar.

Hvis disken er lesbar men Windows ikke starter, er de beskyttede filene i praksis tapt. Verktøy som lover å gjenopprette dem, kjører enten i den opprinnelige konteksten du ikke lenger har, eller ber deg overlevere bloben og ditt gamle diskbilde, noe som er en beslutning det er verdt å stoppe ved.

Skriv ned det du lærer, uansett: tunnelnavnene, endepunktene og de offentlige nøklene. Navn og endepunkter lar deg bygge opp igjen raskt, og offentlige nøkler lar motparten identifisere hvilken oppføring som skal fjernes.

Bygg heller opp igjen fra motpartens side

For en motpart du kontrollerer, genererer du et nytt nøkkelpar og legger den nye offentlige nøkkelen til motpartens liste. For et bedrifts- eller hostingendepunkt ber du administratoren utstede en ny nøkkel og fjerne den gamle. Den forespørselen er den samme som du ville sendt etter et tyveri, fordi en tapt disk betyr at den gamle private nøkkelen må behandles som avslørt.

Bygg deretter opp tunnelen igjen fra verdiene du skrev ned, og bekreft håndtrykket før du sletter noe annet. Den gamle oppføringen hos motparten bør forsvinne i samme endring, slik at en stjålet disk ikke kan koble til igjen senere.

Lærdommen hører hjemme i sikkerhetskopipolicyen, ikke i et gjenopprettingsverktøy. En WireGuard-konfigurasjon er en legitimasjon: den som har den private nøkkelen, har motpartens identitet, og det er ikke noe andre passord i veien. Enten eksporterer du konfigurasjonen med vilje og oppbevarer den sammen med de andre hemmelighetene dine, eller du godtar at gjenoppretting betyr å utstede nye nøkler, og skriver ned hvilket valg som gjelder for hver tunnel.

Relaterte artikler