مرشّح مرور VPN أو قاعدة IPsec: أين تفرض Windows المنفذ
المسار يرى وجهة لا خدمة. قرّر إن كنت تحتاج مرشّح وصول على ملف تعريف VPN أو قاعدة IPsec تشترط الحماية للتدفق.
يجب أن يصل مستخدم VPN واحد على Windows إلى HTTPS على خادم وألا يصل إلى SMB على الخادم نفسه، ولا يستطيع أي مسار التعبير عن ذلك. كلا الطلبين يحمل عنوان الوجهة نفسه، لذا فإن البادئة التي توجّه المرور إلى النفق تحمل أيضاً التدفق الذي أردت استبعاده. ويتطلب فصل الاثنين قاعدة تفحص شيئاً أدق من الوجهة.
يُبنى قصدان مختلفان بآليتين مختلفتين في Windows. وخلطهما ينتج سياسة تبدو كاملة بينما تفرض نصف ما قصدته.
لا يمكن للمسار فصل خدمتين على عنوان واحد
التوجيه الأصلي في VPN قائم على البادئات: فهو يقرر أي الوجهات تمر عبر النفق وأيها يبقى خارجه. هذه هي الأداة الصحيحة لإبقاء شبكة فرعية داخل النفق وأخرى خارجه، وهي عمياء عن المنافذ بحكم بنائها. ويضيف مرشّح المرور على ملف تعريف VPN بُعداً ثانياً، إذ يطابق البروتوكول وعنوان الوجهة البعيد، ثم المنفذ البعيد لما قد يعبر تلك الواجهة. وتعمل قاعدة IPsec في موضع ثالث، فتعبّر عن التدفقات التي تتطلب الحماية وعن هوية الطرف الذي تُصادق معه. الثلاثة تجيب عن أسئلة مختلفة ولا يغني أحدها عن الآخر.
ابدأ بكتابة الجملة المقصودة. «اسمح بـ HTTPS فقط» جملة وصول، بينما «اشترط IPsec لـ HTTPS» جملة حماية، وكلتاهما تؤديان إلى إعداد مختلف.
قيود الوصول ومتطلبات الحماية يفترقان
يحدد قيد الوصول ما يجوز له استخدام الواجهة، ويُفرض بالسماح بمجموعة ورفض كل ما عداها. ويحدد متطلب الحماية أي التدفقات يجب أن تُشفَّر وتُصادَق، ويُفرض بالتفاوض على ارتباطات أمان تطابقها. الأول ينتج طلباً محظوراً عندما لا يكون الشيء في القائمة، بينما ينتج الثاني اتصالاً إما يحمل الحماية المطلوبة أو يفشل في الإنشاء. والتعامل مع أحدهما كأنه الآخر يؤدي إلى سياسة لا تحجب شيئاً ولا تحمي شيئاً.
النتيجة العملية هي أن قائمة المرشّح مجموعة مغلقة. فبمجرد وجود قائمة على ملف التعريف، يُرفض المرور على تلك الواجهة إذا لم يطابق أي إدخال، لذا تحتاج DNS وتبادلات المصادقة وأي تبعية يحتاجها التطبيق إلى إدخالات خاصة بها. وإضافة قاعدة واحدة واسعة لإسكات الرفض تعيد فتح الواجهة بالكامل وتلغي القيد بهدوء. وينبغي أن تكون القائمة قصيرة بقدر ما يسمح المتطلب ومكتملة بقدر ما يتطلبه التطبيق.
ابنِ قائمة المرشّح كمجموعة كاملة
تحمل ملفات تعريف VPNv2 قائمة المرشّح منفصلة عن قائمة المسارات، وإدخالاتها خصائص ملف تعريف لا أوامر. في مثال HTTPS يحتاج الإدخال إلى البروتوكول 6 وعنوان الوجهة البعيد والمنفذ البعيد، ويُنشر عبر قناة الإدارة أو ProfileXML لنوع ملف التعريف المستخدم. ويوضح تعريف مرشّح مرور VPNv2 من Microsoft أن الشروط داخل القاعدة الواحدة تتضافر بينما تعمل معرّفات القواعد المنفصلة كبدائل.
TrafficFilterList/0/Protocol = 6
TrafficFilterList/0/RemoteAddressRanges = 10.60.4.20/32
TrafficFilterList/0/RemotePortRanges = 443
RouteList/0/Address = 10.60.4.0/24
تصف قيم المنافذ في تلك القائمة منفذ الخدمة عند الطرف البعيد، وينبغي أن يبقى المنفذ المحلي غير مقيّد حتى لا يُستبعد منفذ المصدر العابر للعميل. وعكس ذلك ينتج قاعدة لا تطابق شيئاً ولغزاً يستهلك بقية بعد الظهر.
اكتب المسار والمرشّح كقرارين منفصلين. يقرر المسار أن هذا الخادم يُبلغ عبر النفق، ويقرر المرشّح أي الخدمات يجوز لها استخدام ذلك المسلك.
أثبت النتيجتين بطلبين
اختبر التدفق المسموح والتدفق المرفوض منفصلين، واقرأ سبب الفشل بدلاً من الصفحة المفقودة. فالرفض السريع قرار سياسة، بينما المهلة الزمنية أكثر ترجيحاً أن تكون مساراً مفقوداً أو خدمة لا تستمع. وتشغّل الأوامر أدناه الطلبين وتعرض القواعد السارية.
Test-NetConnection 10.60.4.20 -Port 443
Test-NetConnection 10.60.4.20 -Port 445
Get-NetIPsecRule -DisplayName *Vpn*
Get-VpnConnection -Name Corp
الرفض السريع في اختبار SMB مع نجاح اختبار HTTPS هو النتيجة التي كان المرشّح يفترض أن ينتجها. والرفض على المنفذين معاً يعني أن القائمة تفتقد شيئاً تحتاجه الجلسة، بينما تشير المهلة على المنفذين معاً إلى التوجيه لا إلى الترشيح. وإذا أظهرت التدفقات المحمية عدم وجود ارتباط أمان في مخرجات IPsec، فمتطلب الحماية غير مستوفٍ حتى عندما ينجح الاتصال. اقرأ المخرجات الأربع معاً، لأن كل واحدة منها وحدها تدعم رواية مختلفة.
سجّل ملف التعريف الفعلي ومجموعة القواعد وسياسة الطرف النظير إلى جانب النتائج. فملاحظات التوافق التاريخية عن عملاء Windows الأقدم لا تصف ما تدعمه ميزات ملف التعريف المُدار اليوم على بوابة معيّنة. والسلوك الخاص بإصدار بعينه ينتمي إلى السجل لا إلى الافتراض.