تبدو القاعدة دقيقة: اسمح بالحركة المحلية على ملف التعريف الخاص، وبحركة VPN فقط على ملف التعريف العام. لكنها ليست كذلك، لأن ملف تعريف الشبكة يختار مجموعة قواعد جدار الحماية التي تنطبق، ولا يقول شيئًا عن المحوّل الذي حمل الحزمة. التعامل مع اسم ملف التعريف كشرط للمسار هو الخطأ الذي يجعل تصميم خروج مقيّد يبدو منجزًا وهو ليس كذلك.

اكتب مسارات الحركة أولًا، ثم قرر أي آلية تستطيع فعليًا فرض كل واحد منها. تلك القائمة هي الأثر الوحيد الذي يبقى بعد تغيير القاعدة التالي.

الفئة تختار القواعد، لا المسارات

عندما يصنّف Windows شبكة ما كعامة أو خاصة، يطبّق جدار الحماية مجموعة القواعد المهيأة لذلك الملف. يتبع التصنيف الشبكة التي انضم إليها المحوّل، وتقرر مجموعة القواعد ما يُسمح به عليها. ولا تعتمد أي من هاتين الحقيقتين على ما إذا كانت حركة تطبيق ما قد استخدمت النفق. هذا الاستقلال هو الصعوبة كلها.

التوجيه هو من يختار المسار، عبر مقياس الواجهة والبادئة التي يثبّتها النفق. لذلك يمكن أن يُوسم ملف التعريف كعام بينما يأخذ اتصال تطبيق ما المسار الفيزيائي، وسيظل جدار الحماية يبلّغ بأن مجموعة القواعد العامة قد طُبّقت.

لهذا لا يمكن لقاعدة محدودة بملف التعريف أن تعني النفق فقط. الخاصيتان تقررهما مكوّنان مختلفان، ولا يمكن لأحدهما أن ينوب عن الآخر.

FlowWhat decides itWhat a rule can enforce
VPN client to its endpointRouting plus the outer transportAllow the client process before the tunnel exists
Application to an internet hostInterface metric and prefix lengthBlock the process unless the tunnel interface is up
Application to a LAN hostLocal subnet routeAllow one destination, not the whole category

الحظر الصريح يتقدم على السماح الأضيق

تميّز إرشادات قواعد جدار الحماية من Microsoft بين استثناء سماح على إجراء حظر افتراضي وبين حظر صريح يتعارض مع سماح. الحظر الصريح يكسب ذلك التعارض، وقواعد الخروج تتبع الأسبقية نفسها.

لذا فإن الوصفة الشائعة المتمثلة في إضافة قاعدة تحظر كل شيء والاعتماد على سماح أضيق موضوع فوقها لا تفعل ما يتوقعه كاتبها. جدار حماية Windows لا يحل التعارض بترتيب القواعد الذي يخصصه المسؤول. الحظر يُطبّق ببساطة، ويبلّغ التطبيق المتصل بانتهاء المهلة. والقاعدة التي بدت كالاستثناء لم تكن في السباق أصلًا.

الشكل المدعوم هو سياسة رفض افتراضي مع قواعد سماح معتمدة، حيث تسمّي كل قاعدة سماح برنامجًا أو خدمة أو وجهة بدقة كافية للمراجعة. هذا التصميم يصمد أمام التدقيق، لأن كل استثناء مرئي ولا يعتمد أي منها على ترتيب إنشائه.

قاعدتان تتناقضان أسوأ من قاعدة واحدة، لأن السلوك الناتج يكون صحيحًا وغير قابل للتفسير في الوقت نفسه.

أعطِ سياسة الخروج مالكًا واحدًا

عميل VPN مدعوم يدير بالفعل سلوك الحظر الخاص به واستثناءات نقاط النهاية الخاصة به. وإضافة قواعد يدوية غير منسّقة قد تترك ذلك العميل خارج النفق الذي يحتاجه للإعداد، أو تُبقي مسارًا ثانيًا مفتوحًا لم يلاحظه أحد.

قرر من يملك سياسة الخروج قبل كتابة القواعد: تهيئة العميل نفسها، أو سياسة جدار حماية مُدارة، أو قائمة استثناءات محلية موثقة لها مالك. ثم وفّق بين الطبقات بدلًا من تكديس التجارب حتى يتصل شيء ما. والمالك المسمّى هو أيضًا من تسأله عندما تختلف طبقتان.

احتفظ بقناة استعادة قبل تغيير أي شيء. فجهاز بعيد مقفل خارج مسار إدارته هو نتيجة أسوأ من الفجوة السياسية التي كنت تغلقها. قاعدة الاستعادة أسهل تبريرًا عندما تُكتب مسبقًا، وأسهل عثورًا عندما يسوء تغيير في ساعة لا يحبها أحد.

اختبر أربع نتائج بدلًا من قراءة التسمية

السياسة بقدر الحالات التي تميّزها، لذا تعامل مع تسمية ملف التعريف كنقطة بداية لا كنتيجة. أربع نتائج تخبرك هل تعمل: طلب الشبكة المحلية المقصود ينجح، وطلب إنترنت مشمول ينجح، وطلب مباشر محظور يفشل، وحالة فشل النفق تتصرف كما صُممت بدلًا من التراجع بصمت. اكتب النتائج الأربع بجانب تغيير القاعدة. خطة اختبار بأربع حالات مسمّاة قصيرة بما يكفي لتنفيذها كل مرة ومحددة بما يكفي لتفشل بصوت عالٍ.

Get-NetConnectionProfile | Select-Object Name,NetworkCategory,InterfaceAlias
Get-NetFirewallProfile | Select-Object Name,DefaultOutboundAction
Get-NetFirewallRule -Direction Outbound -Enabled True | Where-Object Action -eq Block |
  Select-Object DisplayName,Profile

الأمر الأول يبيّن كيف صُنّفت كل شبكة متصلة، وهو غالبًا ليس ما افترضه من كتب القاعدة. والثاني يبيّن الإجراء الافتراضي لكل ملف تعريف، والثالث يسرد عمليات حظر الخروج المفعّلة، بما فيها أي حظر سيبطل سماحًا أضيق بصمت.

أعد تشغيل الحالات الأربع بعد تغيير في الشبكة، لأن ملف التعريف قد يُعاد تصنيفه عندما ينضم الجهاز إلى شبكة مختلفة. تطابق تسمية ملف التعريف ليس دليلًا على أن المسار كان الذي أردته.

مقالات ذات صلة