چگونه یک استثنای قفل VPN را مستند کنیم تا بتوان آن را حذف کرد
استثنایی که هیچکس نمیتواند توصیفش کند ماندگار است. ترافیکی را که مجاز میکند، نیاز، رفتار هنگام خطا و مؤلفهای که آن را حذف میکند ثبت کنید.
دورزدنهایی که هدفشان همراه با نویسندهشان رفته است همانهایی هستند که از سودمندی خود عمر بیشتری میکنند، و سیاستهای قفل آنها را سریعتر از هر نوع پیکربندی دیگری جمع میکنند. استثنایی که به شکل «اجازه دادن به شبکه محلی» نوشته شده، قاعدهای است که هیچکس نمیتواند از آن دفاع کند و هیچکس نمیتواند بازنشستهاش کند، زیرا نیاز پشت آن همراه با کسی که آن را افزوده بود رفته است. چنین سیاستهایی شکست میخورند چون استثناهایی را حمل میکنند که دلیلشان بخار شده و ریسکشان مانده است. لحظهی نوشتن دامنه، رفتار هنگام خطا و گام حذف همان لحظهای است که استثنا را اضافه میکنید، تا وقتی کسی هنوز دلیل را به یاد دارد.
این تصمیمی درباره این است که یادداشت چه باید داشته باشد، نه قالبی برای پر کردن. چهار فیلد زیر همانهایی هستند که تعیین میکنند آیا یک بازبین میتواند یک سال بعد قاعده را بدون جلسه حذف کند یا نه. هر یک وجود دارد چون نبودش هزینهای قابل پیشبینی دارد.
چرا یک دورزدن مستندنشده هرگز بازنشسته نمیشود
دورزدنی که توصیف ندارد قابل آزمون نیست و بنابراین نمیتوان آن را بهطور ایمن حذف کرد. از هر بازبینی جان سالم به در میبرد چون حذف پرخطر و نگهداشتن بیضرر به نظر میرسد، و هر بازبینی که از آن بگذرد بازبینی بعدی را هم آسانتر میکند. هزینه تا زمانی که یک ممیزی نپرسد چرا یک محدوده خصوصی مستثناست نامرئی است، و آن وقت پاسخ شانه بالا انداختن است.
رکورد باید آنقدر کوتاه باشد که مردم واقعاً آن را در پنجره تغییر بنویسند. یک خط برای ترافیک، یک خط برای نیازی که به آن خدمت میکند.
نوشتن دامنه بهصورت ترافیک
برنامه یا محدوده مقصد، خانوادههای نشانی درگیر، سرویس و پورت، و بافت شبکهای که قاعده در آن اعمال میشود را فهرست کنید، سپس تأییدکننده و تنظیم دقیق کلاینت یا پلتفرمی که آن را حمل میکند نام ببرید. «چاپگر» یک قصد است؛ «TCP 631 به 192.168.1.50، فقط شبکه خانگی» دامنهای است که کسی میتواند آن را بررسی کند. اگر پاسخ به «این کجا زندگی میکند» «جایی در پروفایل MDM» باشد، رکورد تمام نشده است. یک مسیر فایل، یک نام پروفایل یا یک کلید رجیستری بهتر از توصیف این است که تنظیم ممکن است کجا باشد.
جایی که پلتفرم از قواعد بهازای هر برنامه پشتیبانی میکند، آنها را به محدودههای نشانی ترجیح دهید، زیرا اجازه دادن به یک برنامه برای دور زدن تونل باریکتر از مستثنا کردن یک زیرشبکه خصوصی کامل است و از جابهجایی دستگاه به نشانی جدید جان سالم به در میبرد. راهنمای VpnService اندروید آن مدل بهازای هر برنامه را توصیف میکند؛ کلاینتهای رومیزی همان ایده را از طریق تنظیمات پروفایل خودشان بیان میکنند. استثناهای مبتنی بر نشانی گزینه پشتیبان هستند وقتی پلتفرم چیز باریکتری ارائه نمیدهد، و به همین دلیل به خط دامنه دقیقتری نیاز دارند.
چهار نوع استثنا، چهار ریسک حذف
استثناها یک مقوله نیستند و حذفشان پیامدهای متفاوتی دارد. تقسیم یک خط بین دو نوع همان راهی است که بازنشسته کردن یک چاپگر توانایی اتصال را هم بازنشسته میکند.
| Kind | Typical example | Removal risk |
|---|---|---|
| Endpoint bootstrap | reaching the gateway before the tunnel exists | high: nothing comes up without it |
| Captive portal | hotel or airport sign-in page | medium: only matters on untrusted networks |
| Local device | printer, casting target, test instrument | low: one service at one address |
| Excluded application | an app that must not use the tunnel | medium: depends on the app's own behaviour |
استثناهای راهاندازی، درگاه، دستگاه و برنامه را حتی وقتی در عمل همپوشانی دارند در خطوط جداگانه نگه دارید. استثنای یک محدوده خصوصی بیصدا به هر همسایه در آن زیرشبکه دسترسی میدهد نه فقط به همان دستگاه واحدی که میخواستید به آن برسید، و این تفاوت میان دامنهای است که میتوانید از آن دفاع کنید و دامنهای که فقط به آن امید دارید.
دورزدن وقتی تونل قطع میشود چه میکند
سه پرسش بپرسید و پاسخها را بنویسید، چون آنها تعیین میکنند که آیا قفل واقعی است. آیا استثنا وقتی تونل قطع میشود قابل استفاده میماند: برای درگاه اسیر باید بماند، وگرنه هیچکس هرگز نمیتواند وارد شود، و برای یک منبع خصوصی معمولاً نباید بماند، وگرنه سیاست تزئینی است. آیا در هر شبکهای اعمال میشود یا فقط در محیط موردنظر، چون قاعدهای که به زیرشبکه خانگی محدود شده در یک شبکه عمومی که تصادفاً همان محدوده را به کار میبرد بسیار متفاوت رفتار میکند. هر پاسخ هم قاعده و هم یادداشت را تغییر میدهد، پس پرسش بیپاسخ تصمیمی است که کس دیگری بعداً اشتباه میگیرد.
پرسش سوم این است که چه میشود وقتی مقصد نشانیاش را تغییر میدهد، جایی که استثناهای مبتنی بر دامنه و مبتنی بر نشانی از هم جدا میشوند. قواعد مبتنی بر دامنه به زمان انجام resolve و به نحوه اعمال نتیجه توسط کلاینت بستگی دارند، پس میتوانند پس از تغییری که نامرتبط به نظر میرسد بیصدا از تطابق باز بمانند، و خطا شبیه یک VPN خراب به نظر میرسد نه یک استثنای کهنه.
آزمایش کنید، دوباره آزمایش کنید و گام حذف را بنویسید
یک آزمون بیضرر برای مسیر مجاز و یک مورد ردشده نزدیک بنویسید: صفحه چاپگر بارگذاری میشود و اشتراک فایل در همان زیرشبکه بارگذاری نمیشود. همان جفت ثابت میکند استثنا باریک است، و همان جفتی است که بازبین میتواند بدون فهمیدن درخواست اولیه تکرارش کند. سپس محرکهای آزمون دوباره را تنظیم کنید، چون استثنایی که هرگز دوباره آزمون نمیشود از نیازی که برایش نوشته شده دور میافتد، و این دورافتادن تا وقتی چیزی بشکند نامرئی میماند.
در پایان، ثبت کنید که قاعده از طریق مؤلفهای که مالک آن است چگونه حذف میشود، و رازها را از یادداشت بیرون نگه دارید. توصیف یک سرویس و یک مسیر هرگز به کلید خصوصی، گذرواژه یا تاریخچه مرور کسی نیاز ندارد، و یک فهرست کوتاه نگهداریشده از قاعدهای موقت که از نویسندهاش عمر بیشتری کرده بهتر است.