كيفية تكوين جدار الحماية في Linux باستخدام IPtables

iptable لينكس

على الرغم من أنني في بعض الأحيان ما زلت أتطرق إلى Windows بنفسي وفي العديد من الأشخاص الآخرين يجبرونني (مارديتوه رودوريه) على القيام بأشياء بعيدًا عن أجهزة الكمبيوتر الخاصة بي ، بالنسبة لي ، فإن الحديث عن Windows يشبه شيئًا تركه بعيدًا في الوقت المناسب. عندما استخدمته كنظام رئيسي (لم يكن لدي أي نظام آخر) ، حاولت حمايته ببرامج مثل برنامج مكافحة الفيروسات من Kaspersky وجدار الحماية العرضي ، من بين العديد من أدوات الأمان الأخرى. في Linux ، لم نتعرض أبدًا للخطر كما هو الحال في Windows ، ولكن هناك أيضًا برامج تساعدنا على أن نكون أكثر هدوءًا ، مثل جداول IPأو جدار حماية أو جدار ناري.

جدار الحماية هو نظام أمان مسؤول عن التحكم في حركة مرور الشبكة التي تدخل نظام التشغيل وتخرج منه. واحدة من أكثرها انتشارًا في Linux هي IPtables المذكورة أعلاه ، لدرجة أنه ، على الأرجح وبدون علمك ، تم تثبيتها بالفعل في نظام التشغيل الخاص بك منذ إصداره. ما سنحاول القيام به في هذه المقالة هو التوضيح كيفية تكوين جدار الحماية في نظام التشغيل Linux مع IPtables.

IPtables على نظام Linux ، ما تحتاج إلى معرفته

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

أيضًا ، ولما قد يحدث ، إذا كان لدينا جدار حماية آخر على نظام Linux الخاص بنا وسنبدأ في تعديل الأشياء في IPtables ، فإن الأمر يستحق عمل نسخة احتياطية من تكوين جدار الحماية الحالي. مع كل هذا واضح ، بدأنا نتحدث بشكل كامل عن تكوين IPtables.

  1. أول شيء يتعين علينا القيام به هو تثبيت الحزمة. يتم تثبيته في معظم توزيعات Linux افتراضيًا ، ولكن هذا ليس هو الحال دائمًا. لمعرفة ما إذا كان لدينا IPtables مثبتة في نظام التشغيل الخاص بنا ، نفتح Terminal ونكتب iptables -v. في حالتي ووقت كتابة هذا المقال ، أعادني جهاز طرفي iptable v1.8.8. في حالة عدم تثبيته يمكن تثبيته بـ:

Ubuntu / Debian أو المشتقات:

سودو ملائمة تثبيت iptables

فيدورا / ريدهات أو المشتقات:

sudo yum قم بتثبيت iptables

قوس لينكس ومشتقاتها

سودو بكمن -S iptables

بعد التثبيت ، سيتم تمكينه من خلال:

sudo systemctl تمكين iptables sudo systemctl بدء iptables

ويمكنك رؤية حالتها من خلال:

سودو systemctl status iptables
  1. مع تثبيت جدار الحماية بالفعل ، يجب عليك تكوين قواعده. تنقسم قواعد IPtables إلى جداول (والتي سنتحدث عنها بمزيد من التفصيل لاحقًا في هذه المقالة): filter و nat و mangle ، والتي يجب أن نضيف إليها خامًا وأمانًا. يتم استخدام جدول التصفية للتحكم في حركة المرور الواردة والصادرة ، ويتم استخدام جدول nat للقيام بترجمة عنوان الشبكة (NAT) ويتم استخدام جدول mangle لتعديل حزمة IP. لتكوين قواعد جدول التصفية ، يتم استخدام الأوامر التالية:
  • iptables -A INPUT -j ACCEPT (السماح لكل حركة المرور الواردة).
  • iptables -A OUTPUT -j ACCEPT (السماح لجميع حركات المرور الصادرة).
  • iptables -A FORWARD -j ACCEPT (السماح لجميع حركات التوجيه). ومع ذلك ، فإن هذا التكوين يسمح بكل حركة المرور ، ولا يوصى به لنظام الإنتاج. من المهم تحديد قواعد جدار الحماية بناءً على الاحتياجات المحددة للنظام. على سبيل المثال ، إذا كنت تريد حظر حركة المرور الواردة على المنفذ 22 (SSH) ، فيمكنك استخدام الأمر:
iptables -A INPUT -p tcp - منفذ 22 -j DROP
  1. شيء مهم آخر هو حفظ الإعدادات ، حتى لا تفقدها عند إعادة تشغيل النظام. في Ubuntu و Debian ، يتم استخدام الأمر "iptables-save" لحفظ التكوينات الحالية في ملف. في Red Hat و Fedora ، يتم استخدام الأمر "service iptables save" لحفظ التكوينات. إذا كنت تشك في أيهما ستستخدمه ، فإن أوامر Ubuntu / Debian تميل إلى العمل على توزيعات أكثر.

تكوينات التحميل بعد إعادة التشغيل

إلى تحميل الإعدادات المحفوظة، يتم استخدام نفس الأوامر المستخدمة لحفظها ، ولكن مع إجراء "الاستعادة" بدلاً من "حفظ". في Ubuntu و Debian ، يتم استخدام الأمر iptables-Restore لتحميل التكوينات المحفوظة من ملف. في Red Hat و Fedora ، يتم استخدام أمر "service iptables استعادة" لتحميل التكوينات المحفوظة. مرة أخرى ، إذا كنت تشك في الأمر الذي يجب استخدامه ، فعادة ما تعمل أوامر Ubuntu / Debian بشكل أفضل.

من المهم ملاحظة أنه إذا تم إجراء تغييرات على إعدادات جدار الحماية ، فيجب حفظها وإعادة تحميلها حتى تدخل التغييرات حيز التنفيذ. إنها طريقة لاستبدال ملف التكوين بالبيانات الجديدة ، وإذا لم يتم ذلك بهذه الطريقة ، فلن يتم حفظ التغييرات.

الجداول في IPtables

هناك نوعان من رسم في IPTables ولكل منها قواعد مختلفة مطبقة:

  • تصفية : هذا هو الجدول الرئيسي والافتراضي عند استخدام IPTables. هذا يعني أنه إذا لم يتم ذكر أي جدول معين عند تطبيق القواعد ، فسيتم تطبيق القواعد على جدول التصفية. كما يوحي اسمه ، يتمثل دور جدول المرشح في تحديد ما إذا كان سيتم السماح للحزم بالوصول إلى وجهتها أو رفض طلبها.
  • نات (ترجمة عنوان الشبكة): كما يوحي الاسم ، يسمح هذا الجدول للمستخدمين بتحديد ترجمة عناوين الشبكة. يتمثل دور هذا الجدول في تحديد ما إذا كان سيتم تعديل عنوان حزمة المصدر والوجهة وكيفية تعديله.
  • مفقود: هذا الجدول يسمح لنا بتعديل رؤوس IP للحزم. على سبيل المثال ، يمكن ضبط TTL لإطالة أو تقصير قفزات الشبكة التي يمكن أن تدعمها الحزمة. بطريقة مماثلة ، يمكن أيضًا تعديل رؤوس IP الأخرى وفقًا لتفضيلاتك.
  • الخام: الاستخدام الرئيسي لهذا الجدول هو تتبع الاتصالات لأنه يوفر آلية لتمييز الحزم لعرض الحزم كجزء من جلسة مستمرة.
  • أمن: باستخدام جدول الأمان ، يمكن للمستخدمين تطبيق إشارات سياق أمان SELinux الداخلية على حزم الشبكة.

نادراً ما يتم استخدام الجدولين الأخيرين ، لدرجة أن معظم التوثيق يتحدث فقط عن عامل التصفية ، و nat ، و mangle.

في ملف المساعدة ، يمكننا العثور على أمثلة حول كيفية إدارة IPtables. لرؤيتها ، سنفتح Terminal ونكتب iptables -h.

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


اترك تعليقك

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

*

*

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