Ноутбук виходить з ладу, коли на ньому налаштовано три тунелі 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 — це облікові дані: будь-хто з приватним ключем володіє ідентичністю партнера, і жодного другого пароля на шляху немає. Або експортуйте конфігурацію свідомо й зберігайте її разом з іншими секретами, або прийміть, що відновлення означає перевипуск ключів, і запишіть, який вибір стосується кожного тунелю.

Схожі статті