Notebook zomrie s tromi nakonfigurovanými tunelmi WireGuard a konfiguračné súbory sú stále na disku. Ich skopírovanie na náhradný stroj vytvorí službu, ktorá sa spustí a potom odmietne nabehnúť. Súbory sú chránené kľúčom, ktorý patrí účtu a počítaču, ktoré ich vytvorili, takže bajty cestujú, ale schopnosť ich čítať nie. Nasledujúci postup ide od nájdenia súboru k možnosti, ktorá službu naozaj obnoví.

Kde teraz žije súbor tunela

Úložisko sa medzi verziami presunulo. Staršie inštalácie držali profily v lokálnych údajoch aplikácií systémového profilu v priečinku WireGuard\Configurations, a súčasné zostavenia používajú dátový adresár v strome programových súborov. Každý tunel je jeden súbor s dvojitou príponou, ktorá pomenúva ochranu:

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

Prípona .dpapi nie je ozdoba. Súbor je chránený blob a služba je navrhnutá tak, aby ho spotrebúvala presne v tejto podobe. Podporovaný spôsob, ako z neho nainštalovať tunel, je zvýšené volanie, ktoré ukazuje na blob:

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

Tento príkaz uspeje len v kontexte, ktorý dokáže blob rozbaliť. Nainštaluje službu; nič za vás nedešifruje.

Prečo sa blob inde neotvorí

Ochrana odvodzuje svoj kľúč z prihlasovacích údajov používateľa a podľa zvoleného rozsahu aj zo stroja. Dokumentácia Microsoftu k volaniu ochrany hovorí, že predvolená hodnota patrí používateľovi a počítaču, ktoré ju zašifrovali, a voľba pre celý počítač mení, kto ju smie rozbaliť. V oboch prípadoch kľúč žije v prihlasovacom materiáli operačného systému, nie v súbore. Šifrovaný text je prenosný; kľúč nie.

Prevzatie vlastníctva priečinka zmení ACL a nič iné. Nasadenie starého disku do rámu a skopírovanie blobu na nový počítač vám nechá šifrovaný text, ktorého kľúč nikdy nebol skopírovaný. Zlyhanie je kryptografické a žiadna preinštalácia služby ho nezmení. Nový stroj nemá hlavný kľúč pre ten účet a staré úložisko kľúčov so súborom necestuje.

Produkty, ktoré ukladajú nastavenia do zastretého súboru, ukazujú kontrast jasne. Konfigurácia, ktorá je iba obfuskovaná, sa stane čitateľnou, keď nájdete prepínač, ktorý obfuskáciu vypne; chránený blob zostáva bez kľúča zavretý. Zámena týchto dvoch vedie ľudí k hľadaniu dekodéra, ktorý neexistuje.

Čo skúsiť, kým starý systém ešte bootuje

Ak sa inštalácia ešte spúšťa, exportujte tunely z klienta, kým ste prihlásený ako účet, ktorý ich vytvoril. Export vytvorí bežné konfiguračné súbory a práve vtedy sa záloha stane prenosnou.

Ak je disk čitateľný, ale Windows nenabootuje, chránené súbory sú fakticky stratené. Nástroje, ktoré sľubujú ich obnovu, buď bežia v pôvodnom kontexte, ktorý už nemáte, alebo po vás žiadajú vydať blob a obraz starého disku, čo je rozhodnutie, pri ktorom sa oplatí zastaviť.

Zapíšte si, čo zistíte, v oboch prípadoch: názvy tunelov, koncové body a verejné kľúče. Názvy a koncové body vám umožnia rýchlo obnoviť stavbu a verejné kľúče umožnia protistrane určiť, ktorý záznam odstrániť.

Radšej to postavte znova zo strany protistrany

Pre protistranu, ktorú ovládate, vygenerujte nový pár kľúčov a pridajte nový verejný kľúč do zoznamu protistrany. Pre firemný alebo hostovaný koncový bod požiadajte správcu, aby vydal nový kľúč a odstránil starý. Táto žiadosť je tá istá, akú by ste podali po krádeži, pretože stratený disk znamená, že starý súkromný kľúč treba považovať za vyzradený.

Potom tunel postavte znova z hodnôt, ktoré ste si poznamenali, a potvrďte handshake, skôr než vymažete čokoľvek ďalšie. Starý záznam na protistrane by mal zmiznúť v tej istej zmene, aby sa ukradnutý disk nemohol neskôr znova pripojiť.

Poučenie patrí do zásad zálohovania, nie do nástroja na obnovu. Konfigurácia WireGuard je prihlasovací údaj: kto drží súkromný kľúč, drží identitu protistrany, a v ceste nie je žiadne druhé heslo. Buď konfiguráciu vedome exportujte a uložte ju s ostatnými tajomstvami, alebo prijmite, že obnova znamená nové vydanie kľúčov, a zapíšte, ktorá voľba platí pre ktorý tunel.

Súvisiace články