این پروفایل در 2016 نوشته شده و هنوز وارد می‌شود و هنوز متصل می‌شود. دقیقاً به همین دلیل است که هیچ‌کس به آن نگاه نمی‌کند. کلاینتی که روزی این دستورها را می‌خواند مدت‌هاست رفته، و نسخه فعلی ممکن است چند مورد از آنها را متفاوت تحلیل کند.

باقی ماندن یک فایل به معنای به‌روز بودن پیکربندی نیست. جدا کردن این دو ایده بیشتر کار است.

بفهمید کدام کلاینت پروفایل را نوشته است

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

OpenVPN روشن‌ترین نمونه است. نسخه 2.5 data-ciphers را معرفی کرد و تغییر داد که دستور قدیمی‌تر cipher چگونه در مذاکره شرکت می‌کند. پروفایلی که فقط cipher AES-128-CBC دارد اکنون پیشنهادی بسیار باریک‌تر از آنچه نویسنده‌اش قصد داشت ارائه می‌دهد.

یادداشت‌های انتشار را برای تنظیمی که اکنون هشدار می‌دهد یا شکست می‌خورد بخوانید. هشدار در گزارش یک واقعیت درباره نسخه فعلی است و از هر خاطره‌ای درباره دلیل افزودن آن خط قوی‌تر است.

ببینید واقعاً چه چیزی مذاکره شد

ورود موفق تحلیل را اثبات می‌کند، نه سیاست را. نتیجه مذاکره‌شده پس از برپا شدن اتصال در گزارش کلاینت ظاهر می‌شود. می‌تواند از هر دو انتهای فایل پیکربندی متفاوت باشد.

# OpenVPN: what did this session agree on?
sudo journalctl -u openvpn-client@office --since '5 min ago' | grep -i 'cipher\|Data Channel'

# which directives does the profile actually carry?
grep -n -E 'cipher|auth|tls-|dh ' office.ovpn

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

چیدمان را ارتقا دهید، نه خط را

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

ممکن است سرور هم به ارتقای هماهنگ نیاز داشته باشد. کلاینت فعلی نمی‌تواند پشتیبانی برای پیشنهادی بسازد که طرف مقابل هرگز ارائه نمی‌دهد. هیچ گزینه‌ای در سمت کلاینت جای دروازه‌ای را که به‌روز نشده نمی‌گیرد.

چیزی که نباید فدا شود تأیید است. حذف بررسی گواهی‌ها، غیرفعال کردن بررسی نام میزبان یا خاموش کردن به‌روزرسانی‌ها برای زنده نگه داشتن یک پروفایل قدیمی، مشکل سازگاری را به مشکل اعتماد تبدیل می‌کند. این معمولاً هر بار با یک ویرایش کوچک رخ می‌دهد.

نتیجه را تأیید کنید و استثنا را ثبت کنید

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

پیکربندی قبلیِ شناخته‌شده‌سالم را در جایی محافظت‌شده نگه دارید. مقایسه تنها زمانی ممکن است که فایل قدیمی هنوز وجود دارد.

هر استثنای سازگاری را با یک مالک و تاریخ بازبینی مستند کنید. ترتیبی موقت که مالک ندارد به سیاستی دائمی تبدیل می‌شود. فرد بعدی که فایل را می‌خواند گمان می‌کند آگاهانه انتخاب شده است.

مقالات مرتبط