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

پس چک‌لیست پیش از اجرای هر فرمانی آغاز می‌شود: موضوع بررسی را نام ببرید. هر چیز پس از آن انتخاب رابطی است که واقعاً می‌تواند آن را گزارش کند.

موضوع را پیش از فرمان نام ببرید

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

آمیختن آن‌ها خودکارسازی‌ای می‌سازد که با اعتماد به نفس دروغ می‌گوید. کاری که وضعیت پروفایل را بررسی و سپس فرض می‌کند API آماده است کسی را در لایه اشتباه فرا می‌خواند و کاری که به API پینگ می‌زند و آن را اثبات تونل می‌نامد نمی‌تواند VPN سالم را از لپ‌تاپی که تصادفاً در شبکه دفتر است تشخیص دهد.

یک پروفایل: از چیزی که مالک آن است بپرسید

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

scutil --nc list
scutil --nc status "Office VPN"

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

درون یک برنامه Network Extension، وضعیت را از اشیای مدیر و اتصال بخوانید نه از سیستم. به دامنه توجه کنید: بارگذاری پیکربندی‌های ذخیره‌شده فقط آن‌هایی را برمی‌گرداند که برنامه فراخوان ساخته است، پس نتیجه خالی یعنی «هیچ‌کدام از من» نه «هیچ VPN‌ی روی این مک نیست». پرس‌وجوی ناموفق را از وضعیت قطع‌شده تأییدشده جدا کنید و وضعیت‌های گذرا را به‌عنوان نتایج مستقل خودشان تلقی کنید به‌جای اینکه اتصالی را که در حال بالا آمدن است دوباره امتحان کنید.

یک کار: آمادگی یک محمول جداست

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

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

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

یک جریان: مسیر انتخاب‌شده را بررسی کنید

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

بررسی‌های گسترده مرورگر به پرسشی کاملاً متفاوت پاسخ می‌دهند. نتیجه IP عمومی توصیف می‌کند که یک درخواست از دید یک سرور چگونه بوده و درباره DNS خصوصی، برنامه‌های مستثنی‌شده یا بافت شبکه دومی که فرایند دیگری استفاده می‌کند چیزی نمی‌گوید.

نتیجه‌ای برگردانید که فراخوان بتواند استفاده کند

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

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

مرجع Network Extension درباره بارگذاری پیکربندی‌های تونل ذخیره‌شده جایی است که پیش از ساختن چیزی روی آن، دامنه برنامه فراخوان را تأیید می‌کنید.

مقالات مرتبط