باستخدام Iptables على لينكس
سيحاول هذا الدليل شرح كيفية استخدام iptables على linux بلغة سهلة الفهم.
محتويات[إخفاء]
|
نظرة عامة
Iptables هو جدار حماية يستند إلى القواعد ، والذي سيعالج كل قاعدة بالترتيب حتى يعثر على واحد يطابق.
تودو: تشمل المثال هنا
استعمال
عادة ما تكون أداة iptables مثبتة مسبقا على توزيعة لينكس الخاصة بك ، ولكنها لا تشغل أي قواعد بالفعل. ستجد الأداة هنا في معظم التوزيعات:
/ دليل / إيبتبلس
حظر عنوان IP مفرد
يمكنك حظر عنوان IP باستخدام المعلمة -s ، مع استبدال 10.10.10.10 بالعنوان الذي تحاول حظره. ستلاحظ في هذا المثال أننا استخدمنا المعامل -I (أو - يعمل -inertert أيضًا) بدلاً من الملحق ، لأننا نريد التأكد من ظهور هذه القاعدة أولاً ، قبل أي قواعد مسموح بها..
/ sbin / iptables -I INPUT -s 10.10.10.10 -j DROP
السماح لجميع حركة المرور من عنوان IP
يمكنك بالتبادل السماح لكل حركة المرور من عنوان IP باستخدام نفس الأمر على النحو الوارد أعلاه ، ولكن استبدال DROP بـ ACCEPT. يجب أن تتأكد من ظهور هذه القاعدة أولاً ، قبل أي قواعد DROP.
/ sbin / iptables -A INPUT -s 10.10.10.10 -j ACCEPT
حجب منفذ من جميع العناوين
يمكنك حظر المنفذ تمامًا من الوصول إليه عبر الشبكة باستخدام مفتاح تبديل المنفذ وإضافة منفذ الخدمة الذي تريد حظره. في هذا المثال ، سنحظر منفذ mysql:
/ sbin / iptables -A INPUT -p tcp --dport 3306 -j DROP
السماح لمنفذ واحد من IP واحد
يمكنك إضافة الأمر -s مع الأمر -dport لمزيد من تقييد القاعدة إلى منفذ معين:
/ sbin / iptables -A INPUT -p tcp -s 10.10.10.10 - dport 3306 -j ACCEPT
عرض القواعد الحالية
يمكنك عرض القواعد الحالية باستخدام الأمر التالي:
/ sbin / iptables -L
يجب أن يمنحك هذا إخراج مشابهة لما يلي:
سلسلة INPUT (سياسة ACCEPT) الهدف الهدف opt opt prot ACCEPT all - 192.168.1.1/24 ACCEPT all - 10.10.10.0/24 في أي مكان في أي مكان tcp dpt: ssh DROP tcp - أي مكان في أي مكان tcp dpt: ك
الانتاج الفعلي سيكون أطول قليلا ، بطبيعة الحال.
مسح القواعد الحالية
يمكنك مسح جميع القواعد الحالية باستخدام المعلمة دافق. هذا أمر مفيد للغاية إذا كنت بحاجة إلى وضع القواعد بالترتيب الصحيح ، أو عند الاختبار.
/ sbin / iptables --flush
توزيع محددة
في حين أن معظم توزيعات لينكس تتضمن شكلاً من أشكال iptables ، فإن بعضها يشتمل أيضًا على أغلفة مما يجعل الإدارة أسهل قليلاً. غالباً ما تأخذ هذه "الإضافات" شكل البرامج النصية التمهيدية التي تهتم بتهيئة iptables عند بدء التشغيل ، على الرغم من أن بعض التوزيعات تتضمن أيضًا تطبيقات مجمعة كاملة والتي تحاول تبسيط الحالة الشائعة.
جنتو
ال إيبتبلس برنامج init النصي على Gentoo قادر على التعامل مع العديد من السيناريوهات الشائعة. بالنسبة للمبتدئين ، فإنه يسمح لك بتكوين iptables لتحميل عند بدء التشغيل (عادة ما تريد):
تحديث RC إضافة iptables الافتراضي
باستخدام البرنامج النصي init ، من الممكن تحميل ومسح جدار الحماية باستخدام أمر يسهل تذكره:
/etc/init.d/iptables start /etc/init.d/iptables stop
يعالج البرنامج النصي الأول تفاصيل استمرار تكوين جدار الحماية الحالي عند بدء / إيقاف. وبالتالي ، يكون جدار الحماية دائمًا في الحالة التي تركتها فيها. إذا كنت بحاجة إلى حفظ قاعدة جديدة يدويًا ، فيمكن لبرنامج نصي init التعامل مع ذلك أيضًا:
/etc/init.d/iptables حفظ
بالإضافة إلى ذلك ، يمكنك استعادة جدار الحماية إلى الحالة المحفوظة السابقة (للحالة التي كنت تجرّب فيها القواعد وترغب الآن في استعادة تكوين العمل السابق):
إعادة تحميل /etc/init.d/iptables
وأخيرًا ، يمكن لبرنامج النصي الأول وضع iptables في وضع "الذعر" ، حيث يتم حظر جميع حركة المرور الواردة والصادرة. لست متأكدًا من سبب فائدة هذا الوضع ، ولكن يبدو أن جميع جُدر حماية نظام التشغيل Linux لديها.
/etc/init.d/iptables ذعر
تحذير: لا تبدأ حالة الذعر إذا كنت متصلاً بخادمك عبر SSH ؛ أنت سوف انقطع! الوقت الوحيد الذي يجب عليك وضع iptables في حالة الذعر هو أثناء وجودك جسديا أمام الكمبيوتر.