Лаптоп умире са три конфигурисана WireGuard тунела, а конфигурационе датотеке су још на диску. Њихово копирање на заменску машину даје сервис који се покрене и затим одбије да се подигне. Датотеке су заштићене кључем који припада налогу и машини који су их направили, па бајтови путују, а способност да их читате не. Поступак испод иде од проналажења датотеке до опције која заиста враћа сервис.

Где сада живи датотека тунела

Складиштење се мењало између издања. Старије инсталације држале су профиле у локалним подацима апликација системског профила у фасцикли WireGuard\Configurations, а тренутне верзије користе директоријум података унутар стабла програмских датотека. Сваки тунел је једна датотека са двоструким проширењем које именује заштиту:

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

Наставак .dpapi није украс. Датотека је заштићени блоб, а сервис је направљен да га троши управо у том облику. Подржани начин да из ње инсталирате тунел је позив са подигнутим правима који показује на блоб:

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

Та команда успева само у контексту који може да отвори блоб. Она инсталира сервис; не дешифрује ништа за вас.

Зашто се блоб не отвара другде

Заштита изводи свој кључ из корисникових акредитива за пријаву и, зависно од изабраног опсега, из машине. Microsoft документација за позив заштите каже да подразумевано припада кориснику и машини који су га шифровали, а опција на нивоу целе машине мења кога сме да га отвори. У оба случаја кључ живи у акредитивном материјалу оперативног система, не унутар датотеке. Шифрат је преносив; кључ није.

Преузимање власништва над фасциклом мења ACL и ништа друго. Монтирање старог диска у кућишту и копирање блоба на нови рачунар оставља вам шифрат чији кључ никада није копиран. Квар је криптографски и никакво поновно инсталирање сервиса га не мења. Нова машина нема главни кључ за тај налог, а старо складиште кључева не путује са датотеком.

Производи који чувају подешавања у замућеној датотеци јасно показују разлику. Конфигурација која је само обфусцирана постаје читљива када нађете заставицу која искључује обфускацију; заштићени блоб остаје затворен без кључа. Мешање тога двоје наводи људе да траже декодер који не постоји.

Шта покушати док се стари систем још подиже

Ако се инсталација још покреће, извезите тунеле из клијента док сте пријављени као налог који их је направио. Извоз прави обичне конфигурационе датотеке, и тада резервна копија постаје преносива.

Ако је диск читљив али Windows се не подиже, заштићене датотеке су практично изгубљене. Алати који обећавају да ће их вратити или раде у изворном контексту који више немате, или траже да им предате блоб и слику старог диска, што је одлука о којој вреди стати.

Запишите шта сте научили у оба случаја: имена тунела, крајње тачке и јавне кључеве. Имена и крајње тачке вам омогућавају брзу поновну изградњу, а јавни кључеви омогућавају другој страни да препозна који унос треба уклонити.

Уместо тога, поново изградите са друге стране

За другу страну коју контролишете, генеришите нови пар кључева и додајте нови јавни кључ на листу друге стране. За корпоративну или хостовану крајњу тачку, замолите администратора да изда нови кључ и уклони стари. Тај захтев је исти онај који бисте упутили након крађе, јер изгубљени диск значи да се стари приватни кључ мора третирати као изложен.

Затим поново изградите тунел из вредности које сте записали и потврдите руковање пре него што обришете било шта друго. Стари унос на другој страни треба да нестане у истој промени, како украдени диск не би касније могао поново да се повеже.

Научено припада политици резервних копија, а не алату за опоравак. WireGuard конфигурација је акредитив: ко год држи приватни кључ, држи идентитет друге стране, и на путу нема друге лозинке. Или намерно извезите конфигурацију и чувајте је са осталим тајнама, или прихватите да опоравак значи поновно издавање кључева, и запишите која опција важи за сваки тунел.

Повезани чланци