لينكس / المتقدم: الحدود والأمان والاسترداد / الدرس 17
فهم سياسة الجدار الناري بأمان
اقرأ مفاهيم ترشيح الحزم وسياق الفضاء وتفاعل القواعد قبل تصميم سياسة مختبر معزول.
في هذه الصفحة
أهداف الدرس
- تمييز حركة الإدخال والإخراج والتمرير.
- شرح القواعد ذات الحالة وسياق تقييمها.
- التحقق من سياسة دون تغيير قواعد المضيف.
تصنيف الحركة قبل كتابة القاعدة
يقيّم الجدار الحزم عبر نقاط محددة في النواة. تستهدف حركة input المضيف، وتنشأ output محلياً، وتعبر forward إلى وجهة أخرى. قد يجعل جسر الحاويات التمرير مهماً رغم التركيز على الخدمات المحلية. لفضاءات الشبكة مكدسات وسياقات جدار منفصلة. حدد المصدر والوجهة والبروتوكول والمنفذ والاتجاه والفضاء قبل موضع القاعدة. لا يفرض تطابق منفذ صحيح في مسار خاطئ السياسة المقصودة.
للجداول والسلاسل والنقاط أدوار مختلفة
ينظم nftables القواعد في جداول وسلاسل. تصل الحركة إلى السلسلة العادية بتدفق القواعد، وترتبط الأساسية بنقطة ونوع وأولوية. تعالج عائلة inet الإصدارين معاً لكن قد تخص عبارة بروتوكولاً واحداً. يؤثر الترتيب والأولوية في التقييم. لا يضمن قبول في سلسلة أساسية عدم إسقاط لاحق في أخرى بالنقطة نفسها. راجع القواعد كاملة والواجهة المديرة لا قاعدة مرئية واحدة.
# Read-only inspection inside an authorized disposable network lab.
nft list tables
nft -a list ruleset
قد يحوي الخرج تفاصيل شبكة حساسة ويحتاج امتياز مختبر مناسباً. تعرض الأوامر السياسة ولا تمحو قواعد أو تضيفها أو تحذفها.
يتتبع الترشيح ذو الحالة الاتصالات
يسمح تتبع الاتصال بتمييز الجديد من حزم تبادل قائم أو مرتبط. تسمح سياسة عادة بالردود القائمة وتقيد الجديد الوارد. لا يصادق ذلك التطبيق ولا يشفر المحتوى. ولـ UDP تتبع رغم غياب جلسة بأسلوب TCP. تدعم ICMP وICMPv6 وظائف أساسية وقد يعطل حجبهما العام الاكتشاف أو سلوك المسار. صمم من الاتصالات المطلوبة وافحص الإصدارين بدلاً من نسخ قواعد مجهولة الافتراضات.
التحقق من الصياغة دون تطبيق سياسة المضيف
يتحقق nft --check من سلسلة أوامر دون تطبيقها، لكنه يحتاج نواة وامتيازاً مناسبين. هو إعداد نحوي ودلالي لا إثبات كامل لسلوك الحزم. استخدمه في مختبر معزول ولا تفترض أمان تثبيت نموذج عن بعد. قد تملك واجهات مثل firewalld القواعد الحية؛ وقد يؤدي تجاوزها إلى تناقض أو استبدال لاحق. اجعل للإدارة مساراً مرجعياً واحداً ووثق علاقة القواعد المولدة بالسياسة.
table inet lab_review {
chain observed_input {
type filter hook input priority 0; policy accept;
ct state established,related counter accept
}
}
هذه صياغة مختبر للدراسة وليست جداراً كاملاً موصى به. يوضح القبول الافتراضي البنية ولا يدعي الحماية. يمكن لمختبر معزول مهيأ فحصها بـ nft --check -f lab-review.nft؛ لا تطبقها على المضيف.
اختبار المسارات المسموحة والمرفوضة
يحتاج التغيير مصفوفة صريحة لمن يصل من مصدر إلى وجهة وخدمة بكل اتجاه وعائلة. افحص مسار سماح وآخر منع من جهات مصرح بها. تساعد العدادات في تحديد القاعدة الراصدة وتشرح أدلة التطبيق والمقبس ما بعد الترشيح. احفظ الإدارة بقناة استرداد مستقلة قبل نشر حقيقي. غيّر فرضية واحدة في المختبر وسجل الأصل والفرق المقترح والنتيجة والرجوع.
الأخطاء الشائعة وإصلاحها
فتح input لا يصلح حركة forward
- لماذا يحدث؟
- صُنّف مسار الحزمة خطأ.
- كيف تصلحه؟
- اربط المسار والفضاء بالنقطة الصحيحة.
- كيف تتجنب تكراره؟
- وثق الاتجاه قبل سياسة المنفذ.
افتراض نهائية قاعدة قبول في كل مكان
- لماذا يحدث؟
- أُهملت سلاسل وأولويات أخرى.
- كيف تصلحه؟
- راجع القواعد كاملة وملكية الواجهة.
- كيف تتجنب تكراره؟
- عامل السياسة كتدفق تقييم كامل.
ترك سياسة IPv4 فجوة IPv6
- لماذا يحدث؟
- رُوعي إصدار واحد فقط.
- كيف تصلحه؟
- راجع الإصدارين وحركة التحكم اللازمة.
- كيف تتجنب تكراره؟
- أدرج IPv6 في مصفوفة الاتصال.
اختبر فهمك
1. يفشل منفذ حاوية ويعمل مستمع المضيف محلياً. ما السياقات المهمة؟
اعرض الحل المشروح
افحص فضاء الحاوية والجسر أو التمرير والترجمة إن وجدت والسياسات وربط المستمع. يختبر الطلب المحلي مساراً يختلف عن البعيد الممرر. حدد المتأثر قبل تعديل قاعدة.
2. لماذا لا يكفي نجاح nft --check للقبول؟
اعرض الحل المشروح
يفحص قبول السلسلة دون تطبيق، ولا يختبر الحركة والتطبيق والتوجيه أو التغيرات المدارة المقبلة. استخدم نشراً معزولاً واختبارات سماح ومنع صريحة كخطوة منضبطة تالية.
أهم ما تعلمته
- طابق السياسة مع الاتجاه والفضاء والعائلة.
- افحص القواعد المُدارة كاملة واختبر السماح والمنع.