لماذا لا يوقف حظر منافذ VPN الأنفاق غير المصرح بها
تغفل قوائم المنافذ الأنفاق التي تمر عبر 443 أو عبر أرقام البروتوكولات. تحكّم في صلاحيات الجهاز والوجهات المعتمدة والتدفقات المرصودة بدلاً من المفضلات.
قاعدة جدار الحماية ترفض حركة المرور التي تطابقها. لكنها لا ترفض كل استخدام لاتصال تسمح به، وفي هذه الفجوة تفشل معظم السياسات ضد الأنفاق غير المصرح بها. حظر منافذ العميل الذي كان شائعاً قبل خمس سنوات يترك كل ما يمر عبر 443 دون مساس، ولا يقول شيئاً عن جهاز قادر على إعادة كتابة مساراته. ابنِ الضبط حول الصلاحية والوجهات، ثم اقرأ التدفقات التي تسمح بها فعلاً.
لماذا لا تكون قائمة المنافذ سياسة
المنافذ مفهوم من طبقة النقل، وعدة تقنيات نفق لا تستخدم أي منفذ على الإطلاق. وتتقاسم أخرى منفذاً مع حركة الويب العادية عن قصد، لأن ذلك المنفذ هو المضمون المرور. لذلك تعدّد قاعدة مبنية على منفذ تاريخي حفنة من التطبيقات بدل فئة السلوك. كما أنها تقدم بسرعة: فبمجرد أن يغيّر مزوّد ما القيم الافتراضية، تصف القائمة الماضي.
والأسوأ أن الحظر الناجح لمنفذ واحد قد يُقرأ كدليل على أن المشكلة كلها قد حُلّت، فيؤخر ذلك الضوابط التي كانت ستهم.
أرقام البروتوكولات والمنافذ فضاءات أسماء مختلفة
يُخصص لـ GRE رقم بروتوكول IP 47. وهو ليس منفذ TCP 47 ولا منفذ UDP 47، والمرشح المكتوب لمنفذ لا يمسّه. ويقع ESP و AH عند رقمي البروتوكول 50 و 51 بالخاصية نفسها. ويمكن لحركة المرور المغلفة أن تختبئ داخل اتصال مسموح، ولهذا قد تساعد فئة أو بصمة، لكنها لا تشهد على الغرض وحدها أبداً. الثقة والتغطية تنتميان إلى منتج وإصدار معينين، لا إلى المفهوم.
nft list ruleset | grep -nE 'gre|esp|ah|47|50|51'
cat /proc/net/protocols | head -20
ss -tn state established '( dport = :443 )'
يعرض الأمر الأول ما كتبته فعلاً؛ ويعرض الثاني جدول البروتوكولات الذي يعرفه المكدس؛ ويعرض الثالث عدد الجلسات التي تستخدم منفذ الويب الآن. ولا يخبرك أي منها بالغرض من تلك الجلسات. اعتراض TLS قرار منفصل بتكاليفه الخاصة في الثقة والخصوصية وتوافق العملاء. وهو ليس شرطاً مسبقاً لرفض وجهة مسماة، وليس ضماناً للتعرف على الأنفاق أيضاً.
اضبط الصلاحية التي يملكها الجهاز
الجهاز الذي يستطيع تغيير جدول توجيهه وتصفيته يملك قدرات لا يملكها تطبيق عادي. وإدارة القبول والإعداد هي ما يزيل تلك القدرة، وهي تعمل بصرف النظر عن المنفذ الذي قد يستخدمه النفق.
وهذا يعني أن الملحقات المعتمدة تحصل على دورها المعلن بدلاً من إذن غير مقيد بالتمرير عن أجهزة أخرى، ويعني أن حقوق التثبيت وإدارة الشبكة جزء من السياسة بدلاً من فكرة لاحقة.
راقب التدفقات التي تبقى. اربط هوية الجهاز والدور المخصص وبيانات التدفق الوصفية، وتعامل مع التصنيف كدليل له حدود لا كحكم.
conntrack -L | awk '{print $1, $4, $5}' | sort | uniq -c | sort -rn | head
ip -br addr show
ip route show default
الجلسة المشفرة الطويلة أو العدد الكبير من البايتات ليس دليلاً على إساءة الاستخدام: النسخ الاحتياطية وأدوات الدعم وروابط المواقع تبدو متطابقة. أبقِ الجمع محصوراً في التحقيق واحفظ ما تجده ضمن العملية التي تملكه.
اجعل الاستثناءات صريحة
لكل بيئة وجهات يجب أن تبقى قابلة للوصول من أجل التحديثات والمصادقة والاستعادة. اكتبها مع الغرض والمسؤول، وراجعها بدلاً من اكتشافها عطلاً بعد عطل.
حين تسمح الأعمال حقاً بخدمة خارجية واسعة، قيّم الصلاحية التي توفرها تلك الخدمة بدلاً من افتراض أن وسم الوجهة يجعل كل استخدام مقبولاً.
الاستثناء غير المراجَع ثقب برقم تذكرة. أما الاستثناء الذي له اسم وسبب وتاريخ مراجعة فهو قرار.
اقبل بخطة مكتوبة لا بشعار
للقبول نصفان: العمل المعتمد ما زال ينجح، والحالات المحظورة المحددة تفشل في اختبار مصرح به. ويجب كتابة كليهما قبل التغيير وتكراره بعده.
أدرج تغييرات نقاط النهاية والسياسة في تلك المراجعة، لأن مساراً يُضاف على حاسوب محمول قد يبطل مرشحاً كان يعمل بشكل مثالي عند الحافة.
المُسلَّم هو حد خروج مملوك بقائمة معروفة من المخاطر المتبقية. والادعاء بأن بعض المنافذ المغلقة أنهت استخدام VPN غير المصرح به ليس ذلك.