مقدمة إلى IPTABLES: تكوين جدار حماية على Linux

يبتابليس

إلى تكوين جدار حماية أو جدار ناري في Linux ، يمكننا الاستفادة من iptables، أداة قوية يبدو أن العديد من المستخدمين قد نسيها. على الرغم من وجود طرق أخرى ، مثل ebtables و arptables لتصفية حركة المرور على مستوى الارتباط ، أو Squid على مستوى التطبيق ، يمكن أن يكون iptables مفيدًا جدًا في معظم الحالات ، حيث يوفر أمانًا جيدًا في نظامنا على مستوى حركة المرور والنقل على الشبكة.

تقوم نواة Linux بتنفيذ iptables ، وهو جزء من ملفات يعتني بحزم الترشيح ونعلمك في هذه المقالة التهيئة بطريقة بسيطة. ببساطة ، يحدد iptables المعلومات التي يمكن وما لا يمكن إدخالها ، مما يعزل فريقك عن التهديدات المحتملة. وعلى الرغم من وجود مشاريع أخرى مثل Firehol و Firestarter وما إلى ذلك ، فإن العديد من برامج جدار الحماية هذه تستخدم iptables ...

حسنا، دعنا نبدأ العمل ، بالأمثلة سوف تفهم كل شيء بشكل أفضل (في هذه الحالات ، من الضروري أن يكون لديك امتيازات ، لذا استخدم sudo أمام الأمر أو اصبح جذرًا):

الطريقة العامة لاستخدام iptables لإنشاء سياسة تصفية هو:

IPTABLES - مكونات I / O ACTION

أين هو -ARGUMENT الحجة التي سوف نستخدمها، عادةً -P لإنشاء السياسة الافتراضية ، على الرغم من وجود سياسات أخرى مثل -L لمعرفة السياسات التي قمنا بتكوينها ، -F لحذف سياسة تم إنشاؤها ، -Z لإعادة تعيين عدادات البايت والحزم ، إلخ. خيار آخر هو -A لإضافة سياسة (وليس الافتراضي) ، و -I لإدراج قاعدة في موضع معين ، و -D لحذف قاعدة معينة. ستكون هناك أيضًا وسيطات أخرى للإشارة إلى بروتوكولات p ، و- منفذ مصدر الرياضة ، و- منفذ لمنفذ الوجهة ، و- واجهة واردة ، و -o واجهة صادرة ، وعنوان IP المصدر -s وعنوان IP الوجهة -d.

iptables المدخلات والمخرجات

علاوة على ذلك ، I / O سوف تمثل إذا سياسة يتم تطبيقه على إدخال INPUT ، أو إخراج الإخراج أو إعادة توجيه حركة المرور إلى الأمام (هناك أمور أخرى مثل PREROUTING ، POSTROUTING ، لكننا لن نستخدمها). أخيرًا ، ما أسميته ACTION يمكن أن يأخذ القيمة التي تقبلها إذا قبلنا ، أرفض إذا رفضنا أو أسقطنا إذا ألغينا. الفرق بين DROP و REJECT هو أنه عندما يتم رفض الحزمة باستخدام رفض ، فإن الجهاز الذي أنشأها سيعرف أنه تم رفضه ، ولكن مع DROP يتصرف بصمت ولن يعرف المهاجم أو الأصل ما حدث ، ولن يعرف معرفة ما إذا كان لدينا جدار حماية أو فشل الاتصال للتو. هناك أيضًا جهات أخرى مثل LOG ، والتي ترسل متابعة لسجل النظام ...

لتعديل القواعد، يمكننا تحرير ملف iptables باستخدام محرر النصوص المفضل لدينا ، nano ، gedit ، ... أو إنشاء نصوص برمجية بقواعد (إذا كنت تريد تجاوزها ، فيمكنك القيام بذلك عن طريق وضع # أمام السطر بحيث يكون تم تجاهله كتعليق) من خلال وحدة التحكم مع الأوامر كما سنوضحها هنا. في دبيان والمشتقات ، يمكنك أيضًا استخدام أدوات iptables-save و iptables-Restore ...

السياسة الأكثر تطرفا هي منع كل شيء، كل حركة المرور تمامًا ، ولكن هذا سيتركنا معزولين ، مع:

iptables -P INPUT DROP

لقبول كل شيء:

iptables -P INPUT ACCEPT

إذا أردنا ذلك يتم قبول جميع حركة المرور الصادرة من فريقنا:

iptables -P OUTPUT ACEPT

La عمل جذري آخر هو محو كل السياسات من iptables مع:

iptables -F

دعنا نذهب إلى المزيد من القواعد الملموسةتخيل أن لديك خادم ويب وبالتالي يجب السماح بحركة المرور عبر المنفذ 80:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

وإذا أردنا بالإضافة إلى القاعدة السابقة فريقًا به iptables يمكن رؤيتها فقط بواسطة أجهزة الكمبيوتر الموجودة على شبكتنا الفرعية وهذا يمر دون أن تلاحظه شبكة خارجية:

iptables -A INPUT -p tcp -s 192.168.30.0/24 --dport 80 -j ACCEPT

في السطر السابق ، ما نقوله لـ iptables هو إضافة قاعدة - A ، بحيث يتم قبول مدخلات INPUT وبروتوكول TCP عبر المنفذ 80. الآن تخيل أنك تريدني تصفح الويب مرفوض للآلات المحلية التي تمر عبر الآلة التي تشغل iptables:

iptables -t filter -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 DROP

أعتقد أن الاستخدام بسيط ، مع الأخذ في الاعتبار الغرض من كل معلمة في iptables ، يمكننا إضافة قواعد بسيطة. يمكنك القيام بكل التركيبات والقواعد التي نتخيلها ... لكي لا أطيل نفسي أكثر ، فقط أضف شيئًا آخر ، وهو أنه إذا تم إعادة تشغيل الجهاز ، فسيتم حذف السياسات التي تم إنشاؤها. يتم إعادة تشغيل الجداول وستظل كما كانت من قبل ، لذلك بمجرد تحديد القواعد جيدًا ، إذا كنت تريد جعلها دائمة، يجب عليك تشغيلها من /etc/rc.local أو إذا كان لديك Debian أو مشتقات ، فاستخدم الأدوات التي نوفرها (iptables-save و iptables-استعادة و iptables-application).


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   جيمي أولانو قال

    هذه هي المقالة الأولى التي أراها على IPTABLES والتي على الرغم من كثافتها - تتطلب مستوى متوسط ​​من المعرفة - فإنها تذهب مباشرة إلى الحبوب.

    أوصي الجميع باستخدامه "كدليل مرجعي سريع" لأنه مكثف وموضح جيدًا. 8-)

  2.   JESUS قال

    أود أن تتحدث في مقال مستقبلي حول ما إذا كان التغيير إلى systemd في معظم توزيعات Linux ، يؤثر بطريقة ما على أمان Linux بشكل عام ، وما إذا كان هذا التغيير للأفضل أو الأسوأ من توزيعات Linux في المستقبل. أود أيضًا أن أعرف ما هو معروف عن مستقبل devuan (دبيان بدون systemd).
    شكرا جزيلا لك على كتابة مقالات جيدة جدا.

  3.   سلفين قال

    هل يمكنك عمل مقال يشرح طاولة الشوائب؟

  4.   سيباستيان قال

    فقط حظر الفيسبوك؟