Notebook zemře se třemi nakonfigurovanými tunely WireGuard a konfigurační soubory jsou stále na disku. Jejich zkopírování na náhradní stroj vytvoří službu, která se spustí a pak odmítne nastartovat. Soubory jsou chráněné klíčem, který patří účtu a počítači, jež je vytvořily, takže bajty cestují, ale schopnost je číst ne. Následující postup jde od nalezení souboru k možnosti, která službu skutečně obnoví.

Kde soubor tunelu nyní žije

Úložiště se mezi verzemi přesunulo. Starší instalace držely profily v místních datech aplikací systémového profilu ve složce WireGuard\Configurations a současné buildy používají datový adresář uvnitř stromu programových souborů. Každý tunel je jeden soubor s dvojitou příponou, která pojmenovává ochranu:

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

Přípona .dpapi není ozdoba. Soubor je chráněný blob a služba je navržena tak, aby ho spotřebovávala přesně v této podobě. Podporovaný způsob, jak z něj nainstalovat tunel, je zvýšené volání, které ukazuje na blob:

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

Tento příkaz uspěje jen v kontextu, který dokáže blob rozbalit. Nainstaluje službu; nic za vás nedešifruje.

Proč se blob jinde neotevře

Ochrana odvozuje svůj klíč z přihlašovacích údajů uživatele a podle zvoleného rozsahu i ze stroje. Dokumentace Microsoftu k volání ochrany říká, že výchozí hodnota patří uživateli a počítači, které ji zašifrovaly, a volba pro celý počítač mění, kdo ji smí rozbalit. V obou případech klíč žije v přihlašovacím materiálu operačního systému, ne uvnitř souboru. Šifrovaný text je přenosný; klíč ne.

Převzetí vlastnictví složky změní ACL a nic jiného. Nasazení starého disku do rámečku a zkopírování blobu na nový počítač vám nechá šifrovaný text, jehož klíč nebyl nikdy zkopírován. Selhání je kryptografické a žádné přeinstalování služby ho nezmění. Nový stroj nemá hlavní klíč pro ten účet a staré úložiště klíčů se souborem necestuje.

Produkty, které ukládají nastavení do zastřeného souboru, kontrast ukazují jasně. Konfigurace, která je jen obfuskovaná, se stane čitelnou, jakmile najdete přepínač, který obfuskaci vypne; chráněný blob zůstává bez klíče zavřený. Záměna těchto dvou věcí vede lidi k hledání dekodéru, který neexistuje.

Co zkusit, dokud starý systém ještě bootuje

Pokud se instalace ještě spouští, exportujte tunely z klienta, dokud jste přihlášeni jako účet, který je vytvořil. Export vytvoří běžné konfigurační soubory a právě tehdy se záloha stane přenosnou.

Pokud je disk čitelný, ale Windows nenabootuje, jsou chráněné soubory fakticky ztracené. Nástroje, které slibují jejich obnovu, buď běží v původním kontextu, který už nemáte, nebo po vás chtějí vydat blob a obraz starého disku, což je rozhodnutí, u kterého stojí za to se zastavit.

Zapište si, co zjistíte, v obou případech: názvy tunelů, koncové body a veřejné klíče. Názvy a koncové body vám umožní rychle obnovit stavbu a veřejné klíče umožní protistraně určit, který záznam odstranit.

Raději to postavte znovu ze strany protějšku

U protějšku, který ovládáte, vygenerujte nový pár klíčů a přidejte nový veřejný klíč do seznamu protějšku. U firemního nebo hostovaného koncového bodu požádejte správce, aby vydal nový klíč a odstranil starý. Tato žádost je stejná, jakou byste podali po krádeži, protože ztracený disk znamená, že starý soukromý klíč je třeba považovat za vyzrazený.

Potom tunel postavte znovu z hodnot, které jste si poznamenali, a potvrďte handshake, než smažete cokoli dalšího. Starý záznam na protějšku by měl zmizet ve stejné změně, aby se ukradený disk nemohl později znovu připojit.

Poučení patří do zásad zálohování, ne do nástroje pro obnovu. Konfigurace WireGuard je přihlašovací údaj: kdo drží soukromý klíč, drží identitu protějšku, a v cestě není žádné druhé heslo. Buď konfiguraci vědomě exportujte a uložte ji s ostatními tajemstvími, nebo přijměte, že obnova znamená nové vydání klíčů, a zapište, která volba platí pro který tunel.

Související články