تكوين iptables على CentOS 7

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

نقوم بتكوين iptables في CentOS 7

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

مزيد من التفاصيل: تعطيل firewallD في CentOS 7

كما تعلم ، يمكن للنظام استخدام IPv4 و IPv6. سنركز اليوم على مثال IPv4 ، ولكن إذا كنت ترغب في التهيئة لبروتوكول آخر ، فستحتاج إلى استخدام ip6tables بدلاً من أمر iptables في وحدة التحكم.

تثبيت خدمات iptables

بادئ ذي بدء ، أضف مكونات إضافية من الأداة التي تعتبر اليوم إلى النظام. وسوف تساعد في وضع القواعد وغيرها من المعالم. يتم التحميل من المستودع الرسمي ، لذلك لا يستغرق الكثير من الوقت.

  1. سيتم تنفيذ جميع الإجراءات الأخرى في وحدة التحكم الكلاسيكية ، لذلك قم بتشغيلها بأي طريقة مناسبة.
  2. بدء تشغيل محطة لتكوين الأداة المساعدة iptables على CentOS 7

  3. يكون الأمر sudo yum install iptables-services مسؤولاً عن تثبيت sudo yum install iptables-services . أدخله واضغط على مفتاح Enter .
  4. تثبيت خدمات لتشغيل الأداة المساعدة iptables على CentOS 7

  5. قم بتأكيد حساب المستخدم الخارق بكلمة مرور. لاحظ أنه عند الاستعلام عن sudo ، لا يتم أبدًا عرض الأحرف التي تم إدخالها في السلسلة.
  6. إدخال كلمة المرور لتثبيت خدمات iptables في CentOS 7 من خلال الجهاز

  7. سيُطلب منك إضافة حزمة واحدة إلى النظام ، وتأكيد هذا الإجراء عن طريق تحديد الخيار y .
  8. تأكيد إضافة حزم خدمات iptables جديدة إلى CentOS 7

  9. عند الانتهاء من التثبيت ، تحقق من الإصدار الحالي للأداة: sudo iptables --version .
  10. التحقق من إصدار الأداة المساعدة iptables في CentOS 7 عبر الجهاز

  11. سوف تظهر النتيجة في سطر جديد.
  12. عرض الإصدار الحالي من الأداة المساعدة iptables في CentOS 7 من خلال الجهاز

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

وقف وبدء خدمات iptables

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

  1. اكتب sudo service iptables stop ثم اضغط على المفتاح Enter لإيقاف الخدمات.
  2. وقف خدمات المرافق iptables على CentOS 7 عبر محطة

  3. لتأكيد هذا الإجراء ، أدخل كلمة مرور المستخدم الخارق.
  4. إدخال كلمة مرور لإيقاف خدمات الأداة المساعدة iptables على CentOS 7

  5. إذا نجحت العملية ، فسيظهر سطر جديد يشير إلى التغييرات في ملف التكوين.
  6. إشعار حول إيقاف خدمات الأداة المساعدة iptables في CentOS 7

  7. يتم تنفيذ خدمات البدء بالطريقة نفسها تقريبًا ، فقط يأخذ الخط ظهور ظهور sudo service iptables start .
  8. قم بتشغيل خدمات أداة iptables على CentOS 7 في الجهاز

يتوفر مثل هذا إعادة التشغيل أو بدء أو إيقاف الأداة في أي وقت ، تذكر فقط إرجاع قيمة الإرجاع عندما تكون مطلوبة.

عرض وحذف القواعد

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

عرض قائمة بجميع قواعد الأداة المساعدة iptables الحالية في CentOS 7

في النتيجة المعروضة ، ستكون هناك معلومات عن ثلاث سلاسل: "INPUT" و "OUTPUT" و "FORWARD" - حركة المرور الواردة والصادرة والموجهة إلى الأمام ، على التوالي.

عرض قائمة بجميع قواعد الأداة المساعدة iptables في CentOS 7

يمكنك تحديد حالة كل السلاسل عن طريق كتابة sudo iptables -S .

عرض قائمة سلاسل الأدوات المساعدة iptables في CentOS 7

إذا كانت القواعد التي تراها لا تناسبك ، فيتم إزالتها ببساطة. يتم مسح القائمة بأكملها مثل هذا: sudo iptables -F . بعد التنشيط ، سيتم مسح القواعد تمامًا لجميع الدوائر الثلاث.

امسح قائمة بجميع قواعد الأداة المساعدة iptables في CentOS 7

عندما يكون من الضروري التأثير على السياسات فقط من أي سلسلة واحدة ، تتم إضافة وسيطة إضافية إلى السطر:

sudo iptables -F INPUT
sudo iptables -F OUTPUT
sudo iptables -F FORWARD

امسح قائمة القواعد لسلسلة iptables محددة في CentOS 7

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

تلقي وإسقاط حركة المرور في سلاسل

يتم تكوين كل دائرة بشكل منفصل لاستقبال أو حظر حركة المرور. من خلال تحديد قيمة محددة ، يمكنك التأكد من ، على سبيل المثال ، سيتم حظر كل حركة المرور الواردة. للقيام بذلك ، يجب أن يكون الأمر sudo iptables --policy INPUT DROP ، حيث INPUT هو اسم الدائرة ، و DROP هي قيمة إعادة sudo iptables --policy INPUT DROP .

إعادة تعيين الطلبات الواردة في الأداة المساعدة iptables على CentOS 7

بالضبط يتم تعيين نفس المعلمات للدوائر الأخرى ، على سبيل المثال ، sudo iptables --policy OUTPUT DROP . إذا كان من الضروري تعيين القيمة لاستقبال حركة المرور ، فسيتم تغيير DROP إلى ACCEPT sudo iptables --policy INPUT ACCEPT .

السماح وحظر المنافذ

كما تعلم ، تعمل جميع تطبيقات الشبكة وعملياتها عبر منفذ محدد. من خلال حظر عناوين معينة أو السماح بها ، يمكنك التحكم في الوصول إلى جميع أهداف الشبكة. دعنا نحلل ميناء الشحن باستخدام المثال 80 . في "المحطة الطرفية" سيكون كافياً لإدخال الأمر sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT ، حيث -A هي إضافة قاعدة جديدة ، INPUT هو إشارة دارة ، -P هو تعريف بروتوكول ، في هذه الحالة TCP ، و - المنفذ هو منفذ الوجهة.

قاعدة فتح المنفذ 80 في الأداة المساعدة iptables في CentOS 7

ينطبق الأمر نفسه بالضبط على المنفذ 22 ، والذي تستخدمه خدمة SSH: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT .

قاعدة فتح المنفذ 22 في الأداة المساعدة iptables في CentOS 7

لحظر المنفذ المحدد ، يتم استخدام سلسلة من نفس النوع تمامًا ، فقط في النهاية يتم تغيير ACCEPT إلى DROP . والنتيجة هي ، على سبيل المثال ، sudo iptables -A INPUT -p tcp --dport 2450 -j DROP .

قاعدة حظر المنفذ في الأداة المساعدة iptables على CentOS 7

يتم تخزين كل هذه القواعد في ملف التكوين ويمكنك عرضها في أي وقت. تذكر ، يتم ذلك من خلال sudo iptables -L . إذا كان يجب حل عنوان IP الخاص بالشبكة إلى جانب المنفذ ، فسيتم تعديل الخط بشكل طفيف - بعد إضافة TPC ، ثم يتم إضافة العنوان نفسه. sudo iptables -A INPUT -p tcp -s 12.12.12.12/32 --dport 22 -j ACCEPT ، حيث 12.12.12.12/32 هو عنوان IP المطلوب.

قاعدة قبول عنوان IP والمنفذ في iptables في CentOS 7

يحدث الحظر على نفس المبدأ ، مع تغيير قيمة ACCEPT إلى DROP في النهاية. ثم اتضح ، على سبيل المثال ، sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --dport 22 -j DROP .

قاعدة حظر عنوان IP والمنفذ في iptables في CentOS 7

حجب ICMP

ICMP (بروتوكول رسائل التحكم في الإنترنت) هو بروتوكول يمثل جزءًا من TCP / IP ويستخدم لإرسال رسائل الخطأ وحالات الطوارئ عند العمل مع حركة المرور. على سبيل المثال ، عند عدم توفر الخادم المطلوب ، تؤدي هذه الأداة وظائف الخدمة. تسمح لك الأداة المساعدة iptables بحظرها من خلال جدار الحماية ، ويمكنك القيام بذلك باستخدام الأمر sudo iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP . سوف تمنع طلباتك ومن خادمك.

القاعدة الأولى لحظر pting ping في CentOS 7

يتم حظر الطلبات الواردة بشكل مختلف قليلاً. ثم تحتاج إلى إدخال sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP . بعد تنشيط هذه القواعد ، لن يستجيب الخادم لطلبات اختبار الاتصال.

القاعدة الثانية لحظر الأزيز في iptables على CentOS 7

منع الإجراءات غير المصرح بها على الخادم

في بعض الأحيان تخضع الخوادم لهجمات DDoS أو غيرها من الإجراءات غير المصرح بها من قبل المتسللين. سوف يسمح لك التكوين الصحيح لجدار الحماية بحماية نفسك من هذا النوع من الاختراقات. لبداية ، نوصي بتعيين مثل هذه القواعد:

  1. قم iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/minute --limit-burst 100 -j ACCEPT في وحدة التحكم iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/minute --limit-burst 100 -j ACCEPT ، حيث - 20 / دقيقة حد أقصى لتكرار النتائج الإيجابية. يمكنك تحديد وحدة القياس بنفسك ، على سبيل المثال ، /second, /minute, /hour, /day . - عدد انفجار الحد - الحد من عدد الحزم التي يتعين تمريرها. يتم تعيين كل القيم بشكل فردي وفقًا لتفضيلات المسؤول.
  2. قاعدة الأمان من DDoS في iptables في CentOS 7

  3. بعد ذلك ، يمكنك تعطيل مسح المنافذ المفتوحة لإزالة أحد الأسباب المحتملة للاختراق. أدخل أول sudo iptables -N block-scan الأمر.
  4. القاعدة الأولى التي تمنع iptables فحص المنفذ في CentOS 7

  5. ثم حدد sudo iptables -A block-scan -p tcp —tcp-flags SYN,ACK,FIN,RST -m limit —limit 1/s -j RETURN .
  6. القاعدة الثانية لمنع iptables فحص المنفذ في CentOS 7

  7. الأمر الثالث الأخير هو: sudo iptables -A block-scan -j DROP . تعبير كتلة المسح في هذه الحالات هو اسم الدائرة المستخدمة.
  8. القاعدة الثالثة لمنع تفحص منفذ iptables على CentOS 7

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