En bärbar dator dör med tre konfigurerade WireGuard-tunnlar, och konfigurationsfilerna ligger fortfarande på disken. Kopierar man dem till en ersättningsmaskin får man en tjänst som startar och sedan vägrar att komma upp. Filerna skyddas av en nyckel som tillhör kontot och maskinen som skapade dem, så byten färdas men förmågan att läsa dem gör det inte. Genomgången nedan går från att hitta filen till det alternativ som faktiskt återställer tjänsten.

Var tunnelfilen bor nu

Lagringen har flyttat mellan versioner. Äldre installationer höll profiler i systemprofilens lokala programdata under en WireGuard\Configurations-mapp, och dagens byggen använder en datamapp inne i programfilsträdet. Varje tunnel är en enda fil med en dubbel filändelse som namnger skyddet:

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

Ändelsen .dpapi är ingen dekoration. Filen är en skyddad blob, och tjänsten är byggd för att konsumera den exakt i den formen. Det stödda sättet att installera en tunnel från den är ett förhöjt anrop som pekar på bloben:

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

Det kommandot lyckas bara i den kontext som kan packa upp bloben. Det installerar en tjänst; det dekrypterar ingenting åt dig.

Varför bloben inte öppnas någon annanstans

Skyddet härleder sin nyckel från användarens inloggningsuppgifter och, beroende på vald omfattning, från maskinen. Microsofts dokumentation för skyddsanropet säger att standardvärdet tillhör användaren och maskinen som krypterade den, och ett maskinvitt alternativ ändrar vem som får packa upp den. I båda fallen lever nyckeln i operativsystemets autentiseringsmaterial, inte i filen. Chiffertexten är flyttbar; nyckeln är det inte.

Att ta över ägandet av mappen ändrar en ACL och ingenting annat. Att montera den gamla disken i ett hölje och kopiera bloben till en ny dator lämnar dig med chiffertext vars nyckel aldrig kopierades. Felet är kryptografiskt, och ingen ominstallation av tjänsten ändrar det. Den nya maskinen har ingen huvudnyckel för det kontot, och det gamla nyckellagret färdas inte med filen.

Produkter som lagrar inställningar i en beslöjad fil gör kontrasten tydlig. En konfiguration som bara är obfuskerad blir läsbar när du hittar flaggan som stänger av obfuskeringen; en skyddad blob förblir stängd utan nyckeln. Blandar man ihop de två letar folk efter en avkodare som inte finns.

Vad du kan prova medan det gamla systemet fortfarande bootar

Om installationen fortfarande startar exporterar du tunnlarna från klienten medan du är inloggad som kontot som skapade dem. Exporten skapar vanliga konfigurationsfiler, och det är då en säkerhetskopia blir flyttbar.

Om disken är läsbar men Windows inte startar är de skyddade filerna i praktiken förlorade. Verktyg som lovar att återställa dem kör antingen i den ursprungliga kontexten som du inte längre har, eller ber dig lämna ut bloben och din gamla diskavbildning, vilket är ett beslut som är värt att stanna vid.

Skriv ned vad du lär dig, oavsett: tunnlarnas namn, ändpunkterna och de offentliga nycklarna. Namn och ändpunkter låter dig bygga upp igen snabbt, och offentliga nycklar låter motparten identifiera vilken post som ska tas bort.

Bygg hellre upp igen från motpartens sida

För en motpart du kontrollerar genererar du ett nytt nyckelpar och lägger till den nya offentliga nyckeln i motpartens lista. För en företags- eller hostingändpunkt ber du administratören utfärda en ny nyckel och ta bort den gamla. Den begäran är samma som du skulle göra efter en stöld, eftersom en förlorad disk betyder att den gamla privata nyckeln måste behandlas som röjd.

Bygg sedan upp tunneln igen från de värden du skrev ned, och bekräfta handskakningen innan du raderar något annat. Den gamla posten hos motparten bör försvinna i samma ändring, så att en stulen disk inte kan ansluta igen senare.

Lärdomen hör hemma i säkerhetskopieringspolicyn, inte i ett återställningsverktyg. En WireGuard-konfiguration är en autentiseringsuppgift: den som har den privata nyckeln har motpartens identitet, och det finns inget andra lösenord i vägen. Antingen exporterar du konfigurationen medvetet och förvarar den med dina andra hemligheter, eller så accepterar du att återställning betyder att nya nycklar utfärdas, och skriver ned vilket val som gäller för varje tunnel.

Relaterade artiklar