برگرداندن سرور تصمیمی درباره این است که کدام لایه شکست خورده، نه تمرینی در کپی کردن فایل‌ها۔ پیکربندی، اعتبارنامه‌ها و نسخه‌های بسته با ساعت‌های جداگانه حرکت می‌کنند و بازگرداندن یکی در حالی که بقیه به‌روز می‌مانند میزبانی می‌سازد که سالم به نظر می‌رسد و ناسازگار رفتار می‌کند۔ دنباله زیر فرض می‌کند تغییری از پیش اشتباه شده است و از شما می‌خواهد کوچک‌ترین وضعیت منسجم را بازگردانید۔ آن را به ترتیب انجام دهید و بررسی دسترسی خارج از باند را گامی بدانید که هیچ‌کس نباید از آن بگذرد۔

یک نقطه بررسی ثبت کنید که واقعاً بتوانید بازگردانید

پیکربندی‌ای را که سرویس هنگام راه‌اندازی می‌خواند همراه با نسخه‌ای که آخرین بار آن را تجزیه کرد ثبت کنید۔ فایلی که در انتشار قدیمی‌تر بی‌عیب بار می‌شد ممکن است پس از ارتقا رد یا بی‌صدا نادیده گرفته شود، پس نسخه به همان یادداشت تعلق دارد۔ مطالبی را که پیکربندی به آن‌ها اشاره دارد نیز بیاورید: کلیدهای خصوصی، مسیرهای گواهی، تعریف شنودگرها و ورودی‌های DNS و دیوار آتش که سرویس را در دسترس می‌کنند۔ اگر بازگردانی به فایلی نیاز داشته باشد که ذخیره نکرده‌اید، نقطه بررسی ناقص است۔

تا وقتی سیستم سالم است، مالک هر تنظیم را نام‌گذاری کنید۔ مسیری که پنل ارائه‌دهنده نصب می‌کند، مسیری که دیوار آتش میزبان اضافه می‌کند و مسیری که به کارخواهان فرستاده می‌شود سه شیء متفاوت‌اند و بازگرداندن شیء نادرست دو شیء دیگر را سر جای خود می‌گذارد۔ جدولی کوتاه از تنظیم، مالک و مسیر فایل کافی است۔

ابطال‌ها را از پیکربندی جدا نگه دارید

پیکربندی قدیمی می‌تواند بی‌صدا دستگاهی را که آگاهانه حذف کرده بودید دوباره متصل کند، و این بازیابی را به یک پس‌رفت امنیتی تبدیل می‌کند۔ فهرست ابطال کنونی و حساب‌های غیرفعال را هنگام بازگرداندن سیاست شبکه حفظ کنید، سپس پیش از آنکه سرویس کارخواهان را بپذیرد دوباره آن‌ها را اعمال کنید۔

وضعیت هویت را بازگردانی جداگانه‌ای با شواهد خودش بدانید۔ فایل‌های ابطال گواهی، غیرفعال‌سازی حساب و ثبت MFA به‌ندرت در همان جای پیکربندی دیمن قرار دارند و بازگردانی پیکربندی به آن‌ها دست نمی‌زند۔ نخست وضعیت کنونی را بررسی کنید تا بدانید چه چیزی باید زنده بماند۔ پس از بازگردانی تأیید کنید که هویت حذف‌شده هنوز نمی‌تواند متصل شود۔

وقتی تونل از کار می‌افتد به میزبان برسید

مسیری به ماشین باز کنید که به مؤلفه‌ای که تغییر می‌کند وابسته نباشد۔ کنسول ابرناظر، نشانی مدیریت روی رابط جداگانه یا کنسول سریال همه پذیرفتنی‌اند؛ نشست SSH که از تونل عبور می‌کند نه۔ اگر تنها راه ورود همان VPNی است که می‌خواهید دوباره راه‌اندازی کنید، یک مسیر یا قاعده دیوار آتش نادرست توانایی اصلاح آن را از شما می‌گیرد۔ مسیر جایگزین را پیش از تغییر آزمایش کنید، نه پس از آن۔ یک بار از آن وارد شوید، مطمئن شوید sudo کار می‌کند و نشانی دقیقی را که به کار بردید یادداشت کنید۔

آزمایش ساده است: تونل را در حالی که از مسیر جایگزین متصل هستید پایین بیاورید و ببینید نشست زنده می‌ماند یا نه۔ اگر قطع شد، پیش از آنکه شما را زمین‌گیر کند خطا را یافته‌اید۔

یک بازبینی اعمال کنید و بدانید کِی اثر می‌کند

از مستندات سرویس برای reload یا restart استفاده کنید و دریابید کدام دستورها در چه لحظه‌ای خوانده می‌شوند۔ برخی مقادیر هنگام reload اعمال می‌شوند، برخی دیگر تنها وقتی نشست یا فرایند تازه‌ای آغاز شود، پس ویرایش یک فایل چیزی درباره وضعیت در حال اجرا ثابت نمی‌کند۔ یک بازبینی را بازگردانید، نه اینکه فایل تازه را با وضعیت اجرای کهنه بیامیزید۔ در شک، راه‌اندازی دوباره کامل سرویس آسان‌تر از reload جزئی قابل استدلال است۔

پیش از انتخاب تعریف واحد را بررسی کنید: systemctl show -p ExecReload openvpn@server به شما می‌گوید اصلاً قلاب reload وجود دارد یا نه۔ سپس بازبینی را اعمال کنید و پیش از تغییر هر چیز دیگری نخستین خطاهای تازه را در ژورنال بخوانید۔

تأیید، ثبت و سپس بررسی کنید

یک کارخواه مجاز را متصل کنید و آنچه سرویس برایش هست را بیازمایید: تبدیل نام، اتصال دوباره و برنامه‌ای که شکست خورده بود۔ تأیید کنید که هویت ابطال‌شده هنوز رد می‌شود۔ بازبینی‌ای را که بازگرداندید، زمان و دلیل را ثبت کنید، چون اپراتور بعدی به هر سه نیاز دارد۔ بازگردانی‌ای که کسی مستندش نکرده باشد، بار بعد که سرویس بدرفتاری کند به رازی تبدیل می‌شود۔

systemctl status openvpn@server --no-pager
journalctl -u openvpn@server -n 50 --no-pager

وقتی سرویس پایدار شد، تغییر شکست‌خورده را روی میزبان یا عکسی که می‌توانید دور بیندازید بازتولید کنید۔ این کار پیکربندی بد را از بسته بد یا گواهی منقضی جدا می‌کند۔ پیکربندی بازگردانده‌شده را زیر کنترل نسخه نگه دارید تا نقطه بررسی بعدی از یک کامیت شناخته‌شده آغاز شود۔ هدف این تمرین یک نقطه پایانی مستند است، نه تنزل دائمی۔

مقالات مرتبط