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

Похожие статьи