Ein Laptop stirbt mit drei eingerichteten WireGuard-Tunneln, und die Konfigurationsdateien liegen noch auf der Platte. Kopiert man sie auf einen Ersatzrechner, entsteht ein Dienst, der startet und sich dann weigert hochzukommen. Die Dateien sind mit einem Schlüssel geschützt, der zu dem Konto und dem Rechner gehört, die sie erzeugt haben, also wandern die Bytes, die Fähigkeit sie zu lesen aber nicht. Die folgende Anleitung geht vom Auffinden der Datei bis zu der Option, die den Dienst tatsächlich wiederherstellt.

Wo die Tunneldatei jetzt liegt

Der Speicherort hat sich zwischen den Versionen verschoben. Ältere Installationen hielten Profile in den lokalen Anwendungsdaten des Systemprofils unter einem Ordner WireGuard\Configurations, und aktuelle Builds verwenden ein Datenverzeichnis innerhalb des Programmdateibaums. Jeder Tunnel ist eine einzelne Datei mit einer doppelten Erweiterung, die den Schutz benennt:

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

Die Endung .dpapi ist keine Zierde. Die Datei ist ein geschützter Blob, und der Dienst ist darauf ausgelegt, sie genau in dieser Form zu verarbeiten. Der unterstützte Weg, daraus einen Tunnel zu installieren, ist ein erhöhter Aufruf, der auf den Blob zeigt:

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

Dieser Befehl gelingt nur in dem Kontext, der den Blob entpacken kann. Er installiert einen Dienst; er entschlüsselt nichts für Sie.

Warum sich der Blob anderswo nicht öffnet

Der Schutz leitet seinen Schlüssel aus den Anmeldeinformationen des Benutzers und, je nach gewähltem Bereich, aus dem Rechner ab. Die Microsoft-Dokumentation zum Schutzaufruf sagt, dass die Voreinstellung dem Benutzer und Rechner gehört, die ihn verschlüsselt haben, und eine rechnerweite Option ändert, wer ihn entpacken darf. In beiden Fällen lebt der Schlüssel in den Anmeldeinformationsmaterialien des Betriebssystems, nicht in der Datei. Der Geheimtext ist übertragbar; der Schlüssel nicht.

Den Besitz des Ordners zu übernehmen ändert eine ACL und sonst nichts. Die alte Platte in ein Gehäuse zu bauen und den Blob auf einen neuen PC zu kopieren, hinterlässt Geheimtext, dessen Schlüssel nie kopiert wurde. Der Fehlschlag ist ein kryptografischer, und kein Neuinstallieren des Dienstes ändert das. Der neue Rechner hat keinen Hauptschlüssel für dieses Konto, und der alte Schlüsselspeicher reist nicht mit der Datei.

Produkte, die Einstellungen in einer verschleierten Datei speichern, machen den Unterschied deutlich. Eine nur verschleierte Konfiguration wird lesbar, sobald man das Flag findet, das die Verschleierung abschaltet; ein geschützter Blob bleibt ohne den Schlüssel verschlossen. Wer beides verwechselt, sucht nach einem Decoder, den es nicht gibt.

Was man versuchen kann, solange das alte System noch bootet

Wenn die Installation noch startet, exportieren Sie die Tunnel im Client, während Sie als das Konto angemeldet sind, das sie erzeugt hat. Der Export erzeugt gewöhnliche Konfigurationsdateien, und an diesem Punkt wird eine Sicherung übertragbar.

Ist die Platte lesbar, aber Windows bootet nicht, sind die geschützten Dateien praktisch verloren. Werkzeuge, die ihre Wiederherstellung versprechen, laufen entweder in dem ursprünglichen Kontext, den Sie nicht mehr haben, oder sie verlangen, dass Sie den Blob und Ihr altes Plattenabbild herausgeben, was eine Entscheidung ist, über die es sich lohnt innezuhalten.

Notieren Sie in jedem Fall, was Sie lernen: die Tunnelnamen, die Endpunkte und die öffentlichen Schlüssel. Namen und Endpunkte lassen Sie schnell neu aufbauen, und öffentliche Schlüssel lassen die Gegenseite erkennen, welchen Eintrag sie entfernen muss.

Bauen Sie stattdessen von der Gegenseite neu auf

Für eine Gegenseite, die Sie kontrollieren, erzeugen Sie ein neues Schlüsselpaar und fügen den neuen öffentlichen Schlüssel der Liste der Gegenseite hinzu. Für einen Firmen- oder Hosting-Endpunkt bitten Sie den Administrator, einen neuen Schlüssel auszugeben und den alten zu entfernen. Diese Anfrage ist dieselbe, die Sie nach einem Diebstahl stellen würden, denn eine verlorene Platte bedeutet, dass der alte private Schlüssel als offengelegt gelten muss.

Bauen Sie dann den Tunnel aus den notierten Werten neu auf und bestätigen Sie den Handshake, bevor Sie irgendetwas anderes löschen. Der alte Eintrag auf der Gegenseite sollte in derselben Änderung verschwinden, damit eine gestohlene Platte später nicht erneut verbinden kann.

Die Lehre gehört in die Backup-Richtlinie und nicht in ein Wiederherstellungswerkzeug. Eine WireGuard-Konfiguration ist ein Zugangsdatum: Wer den privaten Schlüssel hält, hält die Identität der Gegenseite, und es gibt kein zweites Passwort dazwischen. Exportieren Sie die Konfiguration entweder bewusst und bewahren Sie sie mit Ihren anderen Geheimnissen auf, oder akzeptieren Sie, dass Wiederherstellung das Neuausstellen von Schlüsseln bedeutet, und schreiben Sie auf, welche Wahl für welchen Tunnel gilt.

Ähnliche Artikel