Възстановяване на WireGuard тунели от мъртъв компютър с Windows
Профилите са DPAPI блобове, свързани с акаунта и машината, които са ги създали. Копирането на файла на нов компютър ви оставя байтове, които никой локален ключ не може да отвори.
Лаптоп умира с три конфигурирани 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 е идентификационни данни: който държи частния ключ, държи самоличността на партньора и по пътя няма втора парола. Или експортирайте конфигурацията нарочно и я съхранявайте с другите си тайни, или приемете, че възстановяването означава преиздаване на ключове, и запишете кой избор важи за всеки тунел.