بازیابی تونلهای WireGuard از یک رایانه ویندوز از کار افتاده
پروفایلها بلابهای 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 را تغییر میدهد و هیچ چیز دیگری. سوار کردن دیسک قدیمی در یک محفظه و کپی کردن بلاب به رایانه جدید متنی رمزشده برایتان باقی میگذارد که کلیدش هرگز کپی نشده است. شکست رمزنگاریست و هیچ مقدار نصب دوباره خدمت آن را تغییر نمیدهد. ماشین جدید هیچ کلید اصلی برای آن حساب ندارد و انبار کلید قدیمی با فایل سفر نمیکند.
محصولاتی که تنظیمات را در فایلی تار نگه میدارند تضاد را روشن میکنند. پیکربندیای که فقط مبهمسازی شده وقتی پرچمی را پیدا کنید که مبهمسازی را خاموش میکند خواندنی میشود؛ بلاب محافظتشده بدون کلید بسته میماند. اشتباه گرفتن این دو مردم را به جستوجوی رمزگشایی میفرستد که وجود ندارد.
چه چیزی را امتحان کنید تا وقتی سیستم قدیمی هنوز بوت میشود
اگر نصب هنوز راه میافتد، تونلها را از کلاینت صادر کنید در حالی که با حسابی که آنها را ساخته وارد شدهاید. صدور فایلهای پیکربندی معمولی میسازد و همانجاست که یک پشتیبان قابل حمل میشود.
اگر دیسک خواندنی است اما ویندوز بوت نمیشود، فایلهای محافظتشده عملاً از دست رفتهاند. ابزارهایی که بازیابی آنها را وعده میدهند یا در بستر اصلی که دیگر ندارید اجرا میشوند یا از شما میخواهند بلاب و تصویر دیسک قدیمیتان را تحویل دهید، که تصمیمی است که ارزش توقف دارد.
در هر صورت آنچه یاد میگیرید بنویسید: نام تونلها، نقاط پایانی و کلیدهای عمومی. نامها و نقاط پایانی به شما امکان بازسازی سریع میدهند و کلیدهای عمومی به طرف مقابل امکان میدهند تشخیص دهد کدام ورودی را حذف کند.
در عوض از سمت طرف مقابل بازسازی کنید
برای طرف مقابلی که کنترلش میکنید، یک جفت کلید تازه بسازید و کلید عمومی جدید را به فهرست طرف مقابل بیفزایید. برای نقطه پایانی سازمانی یا میزبانیشده، از مدیر بخواهید کلید تازه صادر کند و قدیمی را حذف کند. این درخواست همانی است که پس از یک سرقت میکردید، زیرا دیسک گمشده یعنی کلید خصوصی قدیمی باید افشاشده تلقی شود.
سپس تونل را از مقادیری که ثبت کردهاید بازسازی کنید و پیش از حذف هر چیز دیگری دستدادن را تأیید کنید. ورودی قدیمی روی طرف مقابل باید در همان تغییر ناپدید شود تا دیسک دزدیدهشده بعداً نتواند دوباره وصل شود.
این درس به سیاست پشتیبانگیری تعلق دارد نه به ابزار بازیابی. پیکربندی WireGuard یک اعتبارنامه است: هر که کلید خصوصی را دارد هویت طرف مقابل را دارد و هیچ گذرواژه دومی در میان نیست. یا پیکربندی را آگاهانه صادر کنید و با دیگر رازهایتان نگه دارید، یا بپذیرید که بازیابی یعنی صدور دوباره کلیدها، و بنویسید کدام گزینه برای هر تونل صادق است.