Centos 7 جدار الحماية كمد منفذ مفتوح

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

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

أساسيات جدار الحماية

هناك عدة مناطق - مجموعات من القواعد لإدارة حركة المرور بناءً على الثقة في الشبكات. يتم منح كل منهم سياساته الخاصة، والتي يشكل مجملها تكوين جدار الحماية. يتم تخصيص واجهة شبكة واحدة أو أكثر لكل منطقة، مما يسمح لك أيضًا بضبط التصفية. تعتمد القواعد المطبقة بشكل مباشر على الواجهة المستخدمة. على سبيل المثال، عند الاتصال بشبكة Wi-Fi عامة جدار الحمايةسيزيد من مستوى السيطرة، و شبكة منزليةسيفتح وصولاً إضافيًا للمشاركين في السلسلة. يحتوي جدار الحماية المعني على المناطق التالية:

  • موثوق به - أقصى مستوى من الثقة في جميع أجهزة الشبكة؛
  • المنزل - المجموعة شبكه محليه. هناك ثقة في البيئة، لكن الاتصالات الواردة متاحة فقط لأجهزة معينة؛
  • العمل - منطقة العمل. هناك ثقة في معظم الأجهزة، ويتم تفعيل الخدمات الإضافية؛
  • dmz هي منطقة لأجهزة الكمبيوتر المعزولة. يتم فصل هذه الأجهزة عن بقية الشبكة وتسمح فقط بحركة مرور واردة معينة؛
  • الداخلية — منطقة الشبكات الداخلية. يتم تطبيق الثقة على جميع الأجهزة، ويتم فتح خدمات إضافية؛
  • المنطقة الخارجية - عكس المنطقة السابقة. في الشبكات الخارجية، يكون تنكر NAT نشطًا، مما يؤدي إلى إغلاق الشبكة الداخلية، ولكن لا يمنع القدرة على الوصول؛
  • عامة - منطقة شبكات عامة مع عدم الثقة في جميع الأجهزة والاستقبال الفردي لحركة المرور الواردة؛
  • الحظر - تتم إعادة تعيين جميع الطلبات الواردة مع إرسال خطأ icmp-المضيف محظورأو icmp6-adm-محظور;
  • انخفاض - الحد الأدنى لمستوى الثقة. يتم إسقاط الاتصالات الواردة دون أي إشعار.

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

تمكين جدار الحماية د

تحتاج أولاً إلى تشغيل FirewallD أو التأكد من أنه في حالة نشطة. فقط البرنامج الخفي الفعال (برنامج يعمل في خلفية) سيتم تطبيق قواعد جدار الحماية. يتم التنشيط ببضع نقرات فقط:

  1. إطلاق الكلاسيكية "صالة"بأي طريقة مريحة، على سبيل المثال، من خلال القائمة "التطبيقات".
  2. أدخل الأمر sudo systemctl start firewalld.service واضغط على المفتاح يدخل.
  3. تتم إدارة الأداة نيابة عن المستخدم المتميز، لذلك سيتعين عليك تأكيد أصالتك عن طريق إدخال كلمة المرور.
  4. للتأكد من أن الخدمة تعمل، حدد firewall-cmd --state .
  5. في المفتوحة نافذة الرسوماتإعادة المصادقة.
  6. سيتم عرض سطر جديد. معنى "جري"يشير إلى أن جدار الحماية يعمل.

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

عرض القواعد الافتراضية والمناطق المتاحة

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

  1. سيساعدك الأمر firewall-cmd --get-default-zone على تحديد المنطقة الافتراضية.
  2. بعد تفعيله، سترى سطرًا جديدًا حيث سيتم عرض المعلمة المطلوبة. على سبيل المثال، في لقطة الشاشة أدناه، تعتبر المنطقة نشطة "عام".
  3. ومع ذلك، يمكن أن تكون عدة مناطق نشطة في وقت واحد، وتكون مرتبطة بواجهة منفصلة. تعرف على هذه المعلومات عبر firewall-cmd --get-active-zones .
  4. سيعرض الأمر firewall-cmd --list-all القواعد التي تم تكوينها للمنطقة الافتراضية. ألق نظرة على لقطة الشاشة أدناه. ترى أن المنطقة النشطة "عام"القاعدة المعينة "تقصير"- العملية الافتراضية، واجهة "enp0s3"وتمت إضافة خدمتين.
  5. إذا كنت تريد معرفة جميع مناطق جدار الحماية المتاحة، فأدخل firewall-cmd --get-zones .
  6. يتم تحديد معلمات منطقة معينة عبر firewall-cmd --zone=name --list-all ، حيث اسم- اسم المنطقة.

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

إعداد مناطق الواجهة

كما تعلم من المعلومات الواردة أعلاه، فإن كل واجهة لها منطقتها الافتراضية الخاصة. وسيبقى هناك حتى يتم تغيير الإعدادات من قبل المستخدم أو برمجياً. من الممكن نقل واجهة يدويًا إلى منطقة ما لجلسة واحدة، ويتم ذلك عن طريق تفعيل الأمر sudo firewall-cmd --zone=home --change-interface=eth0 . نتيجة "نجاح"يشير إلى أن عملية النقل كانت ناجحة. دعنا نذكرك أنه تتم إعادة تعيين هذه الإعدادات فورًا بعد إعادة تشغيل جدار الحماية.

عند تغيير المعلمات مثل هذا، يجب أن تأخذ في الاعتبار أنه قد تتم إعادة تعيين الخدمات. بعضها لا يدعم التشغيل في مناطق معينة، على سبيل المثال، على الرغم من توفر SSH في "بيت"لكن في الحالات المخصصة أو الخاصة سترفض الخدمة العمل. يمكنك التحقق من أن الواجهة قد تم ربطها بنجاح بالفرع الجديد عن طريق إدخال firewall-cmd --get-active-zones .

إذا كنت تريد إعادة ضبط الإعدادات التي قمت بإعدادها مسبقًا، فما عليك سوى إعادة تشغيل جدار الحماية: sudo systemctl Restart firewalld.service .

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

  1. افتح ملف التكوين من خلال محرر عن طريق كتابة sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0 ، حيث إيث0- اسم الواجهة المطلوبة.
  2. تأكيد الأصالة حسابلتنفيذ المزيد من الإجراءات.
  3. ابحث عن المعلمة "منطقة"وتغيير قيمتها إلى القيمة المرغوبة مثلاً عامة أو منزلية .
  4. اضغط باستمرار على المفاتيح السيطرة + Oلحفظ التغييرات.
  5. لا تغير اسم الملف، فقط اضغط على يدخل.
  6. مخرج محرر النصخلال السيطرة + X.

ستكون منطقة الواجهة الآن كما حددتها حتى المرة التالية التي تقوم فيها بتحرير ملف التكوين. لتفعيل الإعدادات المحدثة، قم بتشغيل Sudo systemctl Restart Network.service و Sudo Systemctl Restart Firewalld.service .

تحديد المنطقة الافتراضية

أعلاه، أظهرنا بالفعل أمرًا يسمح لنا بمعرفة المنطقة الافتراضية. ويمكن أيضًا تغييره عن طريق تحديد معلمة من اختيارك. للقيام بذلك، فقط اكتب sudo firewall-cmd --set-default-zone=name في وحدة التحكم، حيث اسم- إسم المنطقة المطلوبة .

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

إنشاء قواعد للبرامج والمرافق

في بداية المقال تحدثنا عن عمل كل منطقة. سيسمح لك تحديد الخدمات والمرافق والبرامج في هذه الفروع بتطبيق معلمات فردية لكل منها لتناسب احتياجات كل مستخدم. للبدء، ننصحك بالتعرف على القائمة الكاملة للخيارات المتاحة على هذه اللحظةالخدمات: جدار الحماية-cmd --get-services.

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

يعرض الأمر أعلاه أسماء الخدمات فقط. يتم الحصول على المعلومات التفصيلية لكل منها من خلال ملف فردي موجود على طول المسار /usr/lib/firewalld/services. تكون هذه المستندات بتنسيق XML، ويبدو المسار، على سبيل المثال، إلى SSH كما يلي: /usr/lib/firewalld/services/ssh.xml، ويحتوي المستند على المحتوى التالي:

سش
Secure Shell (SSH) هو بروتوكول لتسجيل الدخول وتنفيذ الأوامر على الأجهزة البعيدة. ويوفر اتصالات مشفرة آمنة. إذا كنت تخطط للوصول إلى جهازك عن بعد عبر SSH عبر واجهة محمية بجدار الحماية، فقم بتمكين هذا الخيار. أنت بحاجة إلى تثبيت حزمة openssh-server حتى يكون هذا الخيار مفيدًا.

يتم تنشيط دعم الخدمة في منطقة معينة يدويًا. في "صالة"يجب عليك إصدار الأمر sudo firewall-cmd --zone=public --add-service=http ، حيث --zone=public- منطقة التنشيط، و --add-service=http- اسم الخدمة. يرجى ملاحظة أن هذا التغيير لن ينطبق إلا على جلسة واحدة.

تتم الإضافة الدائمة عبر sudo firewall-cmd --zone=public --permanent --add-service=http والنتيجة "نجاح"يشير إلى الانتهاء بنجاح من العملية.

منظر القائمة الكاملةيمكنك إنشاء قواعد دائمة لمنطقة معينة عن طريق عرض القائمة في سطر منفصل لوحدة التحكم: sudo firewall-cmd --zone=public --permanent --list-services .

حل مشكلة عدم الوصول للخدمة

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

ميناء الشحن

كما تعلم، تستخدم جميع خدمات الشبكة منفذًا محددًا. يتم اكتشافه بسهولة بواسطة جدار الحماية، ويمكن تنفيذ الحظر باستخدامه. لتجنب مثل هذه الإجراءات من جدار الحماية، تحتاج إلى فتح المنفذ المطلوب باستخدام الأمر sudo firewall-cmd --zone=public --add-port=0000/tcp ، حيث --zone=public- منطقة الميناء، --add-port=0000/tcp- رقم المنفذ والبروتوكول. سيعرض خيار firewall-cmd --list-ports قائمة بالمنافذ المفتوحة.

إذا كنت بحاجة إلى فتح المنافذ المضمنة في النطاق، فاستخدم السطر sudo firewall-cmd --zone=public --add-port=0000-9999/udp ، حيث --add-port=0000-9999/udp- نطاق المنافذ وبروتوكولها.

ستسمح لك الأوامر المذكورة أعلاه فقط باختبار استخدام هذه المعلمات. إذا نجحت، يجب عليك إضافة نفس المنافذ إلى الإعدادات الدائمة، ويتم ذلك عن طريق إدخال sudo firewall-cmd --zone=public --permanent --add-port=0000/tcp أو sudo firewall-cmd -- Zone=public --permanent --add-port=0000-9999/udp . يتم عرض قائمة المنافذ الدائمة المفتوحة على النحو التالي: sudo firewall-cmd --zone=public --permanent --list-ports .

تعريف الخدمة

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


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

إنشاء مناطق مخصصة

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


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

كما ترون، يعد جدار الحماية FirewallD أداة شاملة إلى حد ما تسمح لك بإنشاء تكوين جدار الحماية الأكثر مرونة. كل ما تبقى هو التأكد من أن الأداة المساعدة تبدأ بالنظام وأن القواعد المحددة تبدأ عملها على الفور. قم بذلك باستخدام الأمر Sudo systemctl Enable Firewalld.

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

هذه المقالة جزء من سلسلة واحدة من المقالات حول الخادم.

مقدمة

يعد Iptables حاليًا المعيار الفعلي بين توزيعات Linux الحديثة. لا أستطيع حتى أن أتذكر على الفور ما الذي يتم استخدامه كجدار حماية. لذلك يتعين على أي مسؤول Linux التعامل مع إعداد جدار الحماية هذا في عمله.

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

تعطيل جدار الحماية

لقد تطرقت بالفعل إلى مسألة تعطيل جدار الحماية في الموضوع الخاص بـ . أولاً، لنقم بتعطيل جدار الحماية، الموجود افتراضيًا في Centos 7 مباشرة بعد التثبيت:

# توقف جدار الحماية systemctl

لنقم الآن بإزالته من بدء التشغيل حتى لا يتم تشغيله مرة أخرى بعد إعادة التشغيل:

#systemctl تعطيل جدار الحماية

بعد ذلك، تصبح إعدادات جدار الحماية على الخادم مفتوحة بالكامل. يمكنك عرض قواعد iptables باستخدام الأمر:

تثبيت iptables

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

# systemctl Restart iptables.service فشل في إصدار استدعاء الأسلوب: فشل تحميل وحدة iptables.service: لا يوجد مثل هذا الملف أو الدليل.

أو لن تتمكن من إضافته إلى التشغيل التلقائي:

# systemctl Enable iptables.service فشل في إصدار استدعاء الأسلوب: لا يوجد مثل هذا الملف أو الدليل

لتجنب مثل هذه الأخطاء، قم بتثبيت الحزمة الضرورية مع الأدوات المساعدة:

# yum -y تثبيت iptables-services

يمكنك الآن إضافة iptables لبدء التشغيل والتشغيل:

# systemctl تمكين iptables.service # systemctl بدء تشغيل iptables.service

إعداد جدار الحماية

أستخدم برنامجًا نصيًا لإدارة قواعد جدار الحماية. لنقم بإنشائها:

# mcedit /etc/iptables.sh

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

سننظر في الموقف الذي يكون فيه الخادم بمثابة بوابة إلى الإنترنت لشبكة محلية.

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

قبل تطبيق القواعد الجديدة، نقوم بمسح كافة السلاسل:

نقوم بحظر كل حركة المرور التي لا تتطابق مع أي من القواعد:

السماح لجميع المضيف المحلي وحركة المرور المحلية:

نحن نسمح بينغ:

إذا لم تكن بحاجة إلى هذا، فلا تقم بإضافة قواعد السماح لـ icmp.

نفتح الوصول إلى الإنترنت إلى الخادم نفسه:

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

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

حظر الحزم الفارغة:

حماية نفسك من هجمات الفيضانات:

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

بعد ذلك نحظر الوصول من الإنترنت إلى الشبكة المحلية:

لكي تتمكن شبكتنا المحلية من استخدام الإنترنت، نقوم بتمكين nat:

لكي لا نفقد الوصول إلى الخادم، بعد تطبيق القواعد، نسمح بالاتصالات عبر ssh:

وفي النهاية نكتب القواعد بحيث يتم تطبيقها بعد إعادة التشغيل:

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

احفظ البرنامج النصي، واجعله قابلاً للتنفيذ، ثم قم بتشغيله:

# chmod 0740 /etc/iptables.sh # /etc/iptables.sh

دعنا نراجع القواعد ونتحقق من تطبيق جميع القواعد:

# iptables -L -v -n

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

فتح المنافذ

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

تمت إضافة الإذن للاتصالات الواردة على المنفذين 80 و443، اللذين يستخدمهما خادم الويب في عمله.

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

للتشغيل الصحيح خوادم DNSتحتاج إلى فتح منفذ UDP 53

ميناء الشحن

دعونا نفكر في الموقف الذي يكون فيه من الضروري إعادة توجيه المنافذ من واجهة خارجية إلى بعض أجهزة الكمبيوتر الموجودة على الشبكة المحلية. لنفترض أنك بحاجة للحصول عليها الوصول إلى RDPإلى الكمبيوتر 10.1.3.50 من الإنترنت. نقوم بإعادة توجيه منفذ TCP 3389:

إذا كنت لا تريد الكشف عن منفذ معروف من الخارج، فيمكنك إعادة التوجيه من منفذ غير قياسي إلى منفذ RDP للكمبيوتر الهدف:

إذا قمت بإعادة توجيه منفذ من الخارج إلى الشبكة المحلية، فتأكد من التعليق على القاعدة التي تمنع الوصول من الشبكة الخارجية إلى الشبكة الداخلية. في المثال الخاص بي، هذه القاعدة هي: $IPT -A FORWARD -i $WAN -o $LAN1 -j REJECT

أو قبل هذه القاعدة، قم بإنشاء قاعدة السماح بالوصول الخارجي إلى الخدمة الداخلية، على سبيل المثال مثل هذا:

$IPT -A FORWARD -i $WAN -d 10.1.3.50 -p tcp -m tcp --dport 3389 -j قبول

تمكين السجلات

أثناء الإعداد، من المفيد تمكين السجلات لمراقبة الحزم المحظورة ومعرفة سبب عدم إمكانية الوصول إلى الخدمات الضرورية التي يبدو أننا فتحناها بالفعل. أقوم بإرسال جميع الحزم المحظورة إلى سلاسل منفصلة (block_in، block_out، block_fw) المقابلة لاتجاه حركة المرور ووضع علامة على كل اتجاه في السجلات. وهذا يجعل الأمر أكثر ملاءمة للقيام باستخلاص المعلومات. أضف القواعد التالية إلى نهاية البرنامج النصي، قبل حفظ الإعدادات:

يمكنك تتبع جميع الحزم المحظورة في الملف /var/log/messages.

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

كيفية تعطيل iptables

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

# توقف systemctl عن خدمة iptables

يقوم هذا الأمر بإيقاف جدار الحماية. وما يلي يزيله من بدء التشغيل:

#systemctl تعطيل iptables.service

من خلال تعطيل جدار الحماية، سمحنا بجميع الاتصالات.

خاتمة

كما وعدت، أقوم بنشر نص نهائي يتضمن مجموعة القواعد الأساسية التي أخذناها في الاعتبار

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

دورة تدريبية عبر الإنترنت بعنوان "Linux Administrator" في OTUS. الدورة ليست للمبتدئين، للقبول تحتاج إلى المعرفة الأساسية بالشبكات و تثبيت لينكسإلى الجهاز الظاهري. يستمر التدريب لمدة 5 أشهر، وبعدها سيتمكن خريجو الدورة الناجحون من إجراء مقابلات مع الشركاء. ماذا ستقدم لك هذه الدورة:

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

FirewallD هي أداة لإدارة جدار الحماية متاحة بشكل افتراضي على خوادم CentOS 7. وهي في الأساس عبارة عن غلاف حول IPTables وتأتي مع أداة تكوين رسومية، وتكوين جدار الحماية، وأداة تكوين جدار الحماية. سطر الأوامرجدار الحماية-كمد. مع خدمة IPtables، يتطلب كل تغيير حذف القواعد القديمة وإنشاء قواعد جديدة في الملف ` /etc/sysconfig/iptables`، ومع جدار الحماية يتم تطبيق الاختلافات فقط.

مناطق جدار الحماية د

يستخدم FirewallD الخدمات والمناطق بدلاً من القواعد والسلاسل في Iptables. بشكل افتراضي، تتوفر المناطق التالية:

  • يسقط- إسقاط كافة حزم الشبكة الواردة دون استجابة، فقط الصادرة منها اتصالات الشبكةمتاح.
  • حاجز– رفض كافة حزم الشبكة الواردة مع الرسالة icmp-host-prohibited، يُسمح فقط باتصالات الشبكة الصادرة.
  • عام– يتم قبول الاتصالات الواردة المحددة فقط للاستخدام في المناطق العامة
  • خارجي– بالنسبة للشبكات الخارجية ذات التنكر، يتم قبول الاتصالات الواردة المحددة فقط.
  • dmz– المنطقة المنزوعة السلاح DMZ، يمكن الوصول إليها من خلال الجمهور وصول محدودإلى الشبكة الداخلية، يتم قبول الاتصالات الواردة المحددة فقط.
  • عمل
  • بيت– بالنسبة لأجهزة الكمبيوتر الموجودة في المنطقة الرئيسية، يتم قبول الاتصالات الواردة المحددة فقط.
  • داخلي– بالنسبة لأجهزة الكمبيوتر الموجودة على شبكتك الداخلية، يتم قبول الاتصالات الواردة المحددة فقط.
  • موثوق به– يتم قبول جميع اتصالات الشبكة.

للحصول على قائمة بجميع المناطق المتاحة:

# firewall-cmd --get-zones يعمل على إسقاط الكتلة العامة الداخلية والخارجية للمنزل الموثوق به dmz

لعرض قائمة المناطق الافتراضية:

# جدار الحماية - cmd --get-default-zone public

لتغيير المنطقة الافتراضية:

خدمات جدار الحماية

خدمات FirewallD هي ملفات تكوين XML تحتوي على معلومات إدخال الخدمة لجدار الحماية. للحصول على قائمة بجميع الخدمات المتاحة:

# جدار الحماية-cmd --get-services أماندا-عميل amanda-k5-client bacula bacula-client ceph ceph-mon dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync freeipa-ldap freeipa-ldaps freeipa-replication ftp عالي التوفر http https، imap، imaps، ipp، ipp-client، ipsec، iscsi-target، kadmin kerberos، kpasswd، ldap، ldaps، libvirt، libvirt-tls، mdns، mosh mountd، ms-wbt، mysql، nfs، ntp، openvpn،pmcd،proxy،pmwebapi،pmwebapis pop3، pop3s، postgresql، وكيل privoxy، dhcp، ptp،pulseaudio، puppetmaster، radius r. ربط الكمبيوتر rsyncd سامبا سامبا-العميل عاقل smtp smtps snmp snmptrap الحبار ssh التآزر سجل النظام سجل النظام-tls telnet tftp tftp-العميل tinc tor-socks انتقال العميل vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server

يتم تخزين ملفات تكوين XML في الدلائل /usr/lib/جدار الحماية/الخدمات/و /الخ/جدار الحماية/الخدمات/.

إعداد جدار الحماية باستخدام FirewallD

على سبيل المثال، إليك كيفية تكوين جدار الحماية باستخدام FirewallD إذا كنت تقوم بتشغيل خادم ويب وSSH على المنفذ 7022 وخادم بريد.

أولاً سنقوم بتعيين المنطقة الافتراضية للمنطقة المجردة من السلاح.

# جدار الحماية-cmd --set-default-zone=dmz # جدار الحماية-cmd --get-default-zone dmz

لإضافة قواعد الخدمة المستمرة لـ HTTP وHTTPS في المنطقة المجردة من السلاح، قم بتشغيل الأمر التالي:

# جدار الحماية-cmd --zone=dmz --add-service=http --permanent # جدار الحماية-cmd --zone=dmz --add-service=https --permanent

افتح المنفذ 25 (SMTP) والمنفذ 465 (SMTPS):

جدار الحماية-cmd --zone=dmz --add-service=smtp --جدار الحماية الدائم-cmd --zone=dmz --add-service=smtps --permanent

فتح منافذ IMAP وIMAPS وPOP3 وPOP3S:

جدار الحماية-cmd --zone=dmz --add-service=imap --جدار الحماية الدائم-cmd --zone=dmz --add-service=imaps --جدار الحماية الدائم-cmd --zone=dmz --add-service= pop3 --جدار الحماية الدائم-cmd --zone=dmz --add-service=pop3s --permanent

بما أنه تم تغيير منفذ SSH إلى 7022، فسوف نقوم بإزالة خدمة SSH (المنفذ 22) وفتح المنفذ 7022

جدار الحماية-cmd --remove-service=ssh --جدار الحماية الدائم-cmd --add-port=7022/tcp --دائم

لتنفيذ التغييرات نحتاج إلى إعادة تشغيل جدار الحماية:

جدار الحماية-cmd --إعادة التحميل

وأخيرا، يمكنك سرد القواعد.

FirewallD هي أداة لإدارة جدار الحماية متاحة بشكل افتراضي على خوادم CentOS 7. وهي في الأساس عبارة عن غلاف حول IPTables وتأتي مع أداة تكوين رسومية، وتكوين جدار الحماية، وأداة سطر الأوامر، جدار الحماية cmd. مع خدمة IPtables، يتطلب كل تغيير حذف القواعد القديمة وإنشاء قواعد جديدة في الملف ` /etc/sysconfig/iptables`، ومع جدار الحماية يتم تطبيق الاختلافات فقط.

مناطق جدار الحماية د

يستخدم FirewallD الخدمات والمناطق بدلاً من القواعد والسلاسل في Iptables. بشكل افتراضي، تتوفر المناطق التالية:

  • يسقط- قم بإسقاط كافة حزم الشبكة الواردة دون استجابة، ولا تتوفر سوى اتصالات الشبكة الصادرة.
  • حاجز– رفض كافة حزم الشبكة الواردة مع الرسالة icmp-host-prohibited، يُسمح فقط باتصالات الشبكة الصادرة.
  • عام– يتم قبول الاتصالات الواردة المحددة فقط للاستخدام في المناطق العامة
  • خارجي– بالنسبة للشبكات الخارجية ذات التنكر، يتم قبول الاتصالات الواردة المحددة فقط.
  • dmz- المنطقة المنزوعة السلاح DMZ، التي يمكن الوصول إليها بشكل عام مع وصول محدود إلى الشبكة الداخلية، ولا يتم قبول سوى الاتصالات الواردة المختارة.
  • عمل
  • بيت– بالنسبة لأجهزة الكمبيوتر الموجودة في المنطقة الرئيسية، يتم قبول الاتصالات الواردة المحددة فقط.
  • داخلي– بالنسبة لأجهزة الكمبيوتر الموجودة على شبكتك الداخلية، يتم قبول الاتصالات الواردة المحددة فقط.
  • موثوق به– يتم قبول جميع اتصالات الشبكة.

للحصول على قائمة بجميع المناطق المتاحة:

# firewall-cmd --get-zones يعمل على إسقاط الكتلة العامة الداخلية والخارجية للمنزل الموثوق به dmz

لعرض قائمة المناطق الافتراضية:

# جدار الحماية - cmd --get-default-zone public

لتغيير المنطقة الافتراضية:

خدمات جدار الحماية

خدمات FirewallD هي ملفات تكوين XML تحتوي على معلومات إدخال الخدمة لجدار الحماية. للحصول على قائمة بجميع الخدمات المتاحة:

# جدار الحماية-cmd --get-services أماندا-عميل amanda-k5-client bacula bacula-client ceph ceph-mon dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync freeipa-ldap freeipa-ldaps freeipa-replication ftp عالي التوفر http https، imap، imaps، ipp، ipp-client، ipsec، iscsi-target، kadmin kerberos، kpasswd، ldap، ldaps، libvirt، libvirt-tls، mdns، mosh mountd، ms-wbt، mysql، nfs، ntp، openvpn،pmcd،proxy،pmwebapi،pmwebapis pop3، pop3s، postgresql، وكيل privoxy، dhcp، ptp،pulseaudio، puppetmaster، radius r. ربط الكمبيوتر rsyncd سامبا سامبا-العميل عاقل smtp smtps snmp snmptrap الحبار ssh التآزر سجل النظام سجل النظام-tls telnet tftp tftp-العميل tinc tor-socks انتقال العميل vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server

يتم تخزين ملفات تكوين XML في الدلائل /usr/lib/جدار الحماية/الخدمات/و /الخ/جدار الحماية/الخدمات/.

إعداد جدار الحماية باستخدام FirewallD

على سبيل المثال، إليك كيفية تكوين جدار الحماية باستخدام FirewallD إذا كنت تقوم بتشغيل خادم ويب وSSH على المنفذ 7022 وخادم بريد.

أولاً سنقوم بتعيين المنطقة الافتراضية للمنطقة المجردة من السلاح.

# جدار الحماية-cmd --set-default-zone=dmz # جدار الحماية-cmd --get-default-zone dmz

لإضافة قواعد الخدمة المستمرة لـ HTTP وHTTPS في المنطقة المجردة من السلاح، قم بتشغيل الأمر التالي:

# جدار الحماية-cmd --zone=dmz --add-service=http --permanent # جدار الحماية-cmd --zone=dmz --add-service=https --permanent

افتح المنفذ 25 (SMTP) والمنفذ 465 (SMTPS):

جدار الحماية-cmd --zone=dmz --add-service=smtp --جدار الحماية الدائم-cmd --zone=dmz --add-service=smtps --permanent

فتح منافذ IMAP وIMAPS وPOP3 وPOP3S:

جدار الحماية-cmd --zone=dmz --add-service=imap --جدار الحماية الدائم-cmd --zone=dmz --add-service=imaps --جدار الحماية الدائم-cmd --zone=dmz --add-service= pop3 --جدار الحماية الدائم-cmd --zone=dmz --add-service=pop3s --permanent

بما أنه تم تغيير منفذ SSH إلى 7022، فسوف نقوم بإزالة خدمة SSH (المنفذ 22) وفتح المنفذ 7022

جدار الحماية-cmd --remove-service=ssh --جدار الحماية الدائم-cmd --add-port=7022/tcp --دائم

لتنفيذ التغييرات نحتاج إلى إعادة تشغيل جدار الحماية:

جدار الحماية-cmd --إعادة التحميل

وأخيرا، يمكنك سرد القواعد.

بدءًا من CentoOS 7، ظهرت أداة جديدة لتكوين قواعد تصفية حركة المرور جدار الحماية. يوصى باستخدامه لإدارة قواعد iptables. في CentOS 8، بدلاً من حزمة تصفية iptables القياسية، يتم الآن استخدام إطار عمل nftables، وعندما تقوم بتكوين قواعد جدار الحماية من خلال جدار الحماية، فإنك تقوم بالفعل بتكوين nftables. في هذه المقالة، سنلقي نظرة على التثبيت والمفاهيم الأساسية وتكوين جدار الحماية على خادم يعمل بنظام CentOS 8 (CentOS 7 هو نفسه).


جدار الحماية د– جدار حماية لحماية الخادم من حركة المرور غير المرغوب فيها مع دعم إدارة القواعد الديناميكية (بدون إعادة التشغيل) وتنفيذ قواعد جدار الحماية الدائمة. يعمل كواجهة لـ وnftables. يمكن استخدام FirewallD في جميع توزيعات Linux تقريبًا.

المفاهيم الأساسية لجدار الحماية والمناطق والقواعد

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

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

يحتوي جدار الحماية على مناطق تم تكوينها مسبقًا بأذونات لخدمات متنوعة. يمكنك استخدام هذه الإعدادات أو إنشاء مناطقك الخاصة. قائمة المناطق الافتراضية التي يتم إنشاؤها عند تثبيت جدار الحماية (المخزنة في الدليل /usr/lib/firewalld/zones/):

يسقط الحد الأدنى من الثقة. يتم حظر كافة الاتصالات الواردة دون استجابة، ويسمح فقط بالاتصالات الصادرة؛
حاجز المنطقة مشابهة للمنطقة السابقة، ولكن عند رفض الطلبات الواردة، يتم إرسال الرسالة icmp-host-prohibited لـ Ipv4 أو icmp6-adm-prohibited لـ Ipv6؛
عام يمثل الشبكات العامة وغير الموثوقة. يمكنك السماح بالاتصالات الواردة المحددة على أساس فردي؛
خارجي الشبكات الخارجية عند استخدام جدار الحماية كبوابة. لقد تم تكوينه لإخفاء NAT بحيث تظل شبكتك الداخلية خاصة ولكن يمكن الوصول إليها؛
داخلي مرادف المنطقة الخارجية. يتمتع المضيف بمستوى كافٍ من الثقة، ويتوفر عدد من الخدمات الإضافية؛
dmz يُستخدم لأجهزة الكمبيوتر الموجودة في المنطقة المجردة من السلاح (أجهزة كمبيوتر معزولة لا يمكنها الوصول إلى بقية الشبكة). يُسمح فقط باتصالات واردة معينة؛
عمل منطقة لأجهزة العمل (معظم أجهزة الكمبيوتر الموجودة على الشبكة موثوقة)؛
بيت منطقة الشبكة المنزلية. يمكن الوثوق بمعظم أجهزة الكمبيوتر، ولكن يتم دعم اتصالات واردة معينة فقط؛
موثوق به الثقة بجميع الأجهزة الموجودة على الشبكة. الأكثر انفتاحًا من بين جميع الخيارات المتاحة، فهو يتطلب استخدامًا واعيًا.

في جدار الحمايةيتم استخدام مجموعتين من القواعد - الدائمة والمؤقتة. تعمل القواعد المؤقتة حتى يتم إعادة تشغيل الخادم. بشكل افتراضي، عند إضافة قواعد إلى جدار الحماية، تعتبر القواعد مؤقتة ( مدة العرض). لإضافة قاعدة بشكل دائم، تحتاج إلى استخدام العلامة - دائم. سيتم تطبيق هذه القواعد بعد إعادة تشغيل الخادم.

تثبيت وتمكين جدار الحماية على CentOS

في CentOS 7/8، يتم تثبيت جدار الحماية افتراضيًا مع نظام التشغيل. إذا قمت بإزالته وترغب في تثبيت جدار الحماية، فيمكنك استخدام مدير /dnf القياسي:

# yum install firewalld -y - لـ Centos 7
# dnf تثبيت جدار الحماية -y - لـ Centos 8

الى الشيطان جدار الحمايةبدأ تلقائيًا عند بدء تشغيل الخادم، فأنت بحاجة إلى إضافته إلى:

#systemctl تمكين جدار الحماية

و اهرب:

# Systemctl بدء تشغيل جدار الحماية

التحقق من حالة الخدمة:

# جدار الحماية لحالة systemctl

● firewalld.service - جدار الحماية - البرنامج الخفي لجدار الحماية الديناميكي تم تحميله: تم تحميله (/usr/lib/systemd/system/firewalld.service؛ ممكّن؛ الإعداد المسبق للمورد: ممكّن) نشط: نشط (قيد التشغيل) منذ الإثنين 2019-10-14 14:54 :40 +06; منذ 22 ثانية المستندات: man:firewalld(1) PID الرئيسي: 13646 (firewalld) CGroup: /system.slice/firewalld.service └─13646 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid 14 أكتوبر 14:54:40 server.vpn.ru systemd: بدء تشغيل جدار الحماية - البرنامج الخفي لجدار الحماية الديناميكي... 14 أكتوبر 14:54:40 server.vpn.ru systemd: بدء تشغيل جدار الحماية - البرنامج الخفي لجدار الحماية الديناميكي.

أو مع الأمر:

# جدار الحماية-cmd --state

يعد أمر firewall-cmd بمثابة واجهة جدار الحماية لـ nftables/iptables.

# جدار الحماية-cmd --state

العمل مع قواعد جدار الحماية

القواعد الافتراضية:

قبل إعداد قواعد جدار الحماية، تحتاج إلى التحقق من المنطقة المستخدمة افتراضيًا:

# جدار الحماية - cmd --get-default-zone

نظرًا لأننا قمنا للتو بتثبيت جدار الحماية ولم نقوم بتكوينه بعد، فلدينا منطقة افتراضية عام.

دعونا نتحقق من المنطقة النشطة. هناك أيضًا واحد - عام:

# جدار الحماية - cmd - المناطق النشطة

الواجهات العامة: eth0

كما ترون، يتم التحكم في واجهة شبكة eth0 بواسطة المنطقة عام.

لعرض القواعد الأساسية، أدخل:

# جدار الحماية-cmd--قائمة-الكل

الهدف العام (النشط): انعكاس كتلة icmp الافتراضي: لا توجد واجهات: مصادر eth0: الخدمات: منافذ ssh لعميل dhcpv6: البروتوكولات: حفلة تنكرية: لا توجد منافذ إعادة توجيه: منافذ المصدر: كتل icmp: قواعد غنية:

من القائمة، يمكنك أن ترى أنه تمت إضافة العمليات المعتادة المتعلقة بعميل DHCP وSSH إلى هذه المنطقة.

المناطق المتاحة

لعرض قائمة بجميع المناطق، تحتاج إلى تشغيل الأمر:

# جدار الحماية-cmd--get-zones

حصلت على القائمة التالية:

حظر dmz إسقاط العمل العام الموثوق به في المنزل الخارجي

للتحقق من قواعد منطقة معينة، تحتاج إلى إضافة العلم - المنطقة.

# جدار الحماية-cmd --zone=home --list-all

الهدف الرئيسي: انعكاس كتلة icmp الافتراضي: لا توجد واجهات: المصادر: الخدمات: dhcpv6-client mdns samba-client ssh منافذ: البروتوكولات: حفلة تنكرية: لا توجد منافذ أمامية: منافذ المصدر: كتل icmp: قواعد غنية:

يمكن الاطلاع على قواعد جميع المناطق باستخدام الأمر:

# جدار الحماية - cmd - قائمة جميع المناطق

ستكون القائمة كبيرة جدًا، حيث يمكن أن يكون هناك العديد من المناطق.

تغيير المنطقة الافتراضية.

الافتراضي هو كل شيء واجهات الشبكةتقع في المنطقة عام، ولكن يمكن نقلها إلى أي من المناطق باستخدام الأمر:

# جدار الحماية-cmd --zone=home -change-interface=eth0

بعد المعلمة --المنطقة=تشير إلى المنطقة المطلوبة.

لتغيير المنطقة الافتراضية، تحتاج إلى استخدام الأمر:

# جدار الحماية-cmd --set-default-zone=home

إضافة قواعد التطبيق

لفتح منفذ لتطبيق ما، يمكنك إضافة خدمة إلى الاستثناءات. عرض قائمة الخدمات المتاحة:

سيحتوي الإخراج على عدد كبير من الخدمات. معلومات مفصلةحول الخدمة الواردة في xmlملف. توجد هذه الملفات في الدليل /usr/lib/firewalld/services.

على سبيل المثال:

# cd /usr/lib/firewalld/services

البريد (SMTP) يسمح هذا الخيار بتسليم بريد SMTP الوارد. إذا كنت تريد السماح للمضيفين البعيدين بالاتصال مباشرة بجهازك لتسليم البريد، فقم بتمكين هذا الخيار. لا تحتاج إلى تمكين هذا إذا كنت تجمع بريدك من خادم مزود خدمة الإنترنت الخاص بك عن طريق POP3 أو IMAP، أو إذا كنت تستخدم أداة مثل fetchmail. لاحظ أن SMTP الذي تم تكوينه بشكل غير صحيح يمكن للخادمالسماح للأجهزة البعيدة باستخدام الخادم الخاص بك لإرسال البريد العشوائي.

يحتوي ملف XML على وصف الخدمة والبروتوكول ورقم المنفذ الذي سيتم فتحه في جدار الحماية.

عند إضافة القواعد، يمكنك استخدام المعلمة --إضافة الخدمةلفتح الوصول إلى خدمة معينة:

# جدار الحماية-cmd --zone=public --add-service=http

# جدار الحماية-cmd --zone=public --add-service=https

بعد إضافة القواعد، يمكنك التحقق من إضافة الخدمات إلى المنطقة المحددة:

# جدار الحماية-cmd --zone=public --list-services

Dhcpv6-client http https ssh

إذا كنت تريد جعل هذه القواعد دائمة، فستحتاج إلى إضافة المعلمة عند الإضافة -دائم.

لإزالة خدمة من منطقة ما:

# جدار الحماية-cmd --permanent --zone=public --remove-service=http

اختبار Dhcpv6-client https ssh

إذا كنت تريد إضافة الخدمة الخاصة بك إلى الاستثناءات، يمكنك إنشاء ملف xmlنفسك واملأها. يمكنك نسخ البيانات من أي خدمة وتغيير الاسم والوصف ورقم المنفذ.

دعونا نسخ الملف smtp.xmlإلى دليل العمل مع خدمات المستخدم:

# cp /usr/lib/firewalld/services/smtp.xml /etc/firewalld/services

قم بتغيير وصف الخدمة في الملف.

نفسي ملف XMLتحتاج أيضًا إلى إعادة تسميته باسم خدمتك. بعد ذلك، تحتاج إلى إعادة تشغيل جدار الحماية والتحقق من وجود خدمتنا في القائمة:

اتصلت بالخدمة امتحانوظهر في القائمة:

اختبار Syslog-TLS telnet TFTP

يمكنك الآن إضافة الخدمة التي تم إنشاؤها إلى أي منطقة:

# جدار الحماية-cmd --zone=public --add-service=test --permanent

# جدار الحماية-cmd --zone=public --permanent --list-services

اختبار Dhcpv6-client http https ssh

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

# جدار الحماية-cmd --zone=public -add-port=77/tcp - افتح المنفذ 77 tcp
# جدار الحماية-cmd --zone=public -add-port=77/udp - افتح المنفذ 77 udp
# جدار الحماية-cmd --zone=public -add-port=77-88/udp - نطاق المنفذ المفتوح 77-88 udp
# firewall-cmd --zone=public -list-ports - تحقق من قائمة المنافذ المسموح بها

حظر/السماح بردود ICMP:

# جدار الحماية-cmd --zone=public --add-icmp-block=echo-reply
# جدار الحماية-cmd --zone= public --remove-icmp-block=echo-reply

إزالة المنفذ المضافة:

# firewall-cmd --zone=public -remove-port=77/udp - إزالة القاعدة المؤقتة 77 udp

# firewall-cmd --permanent --zone=public -remove-port=77/udp - إزالة القاعدة الدائمة

إضافة المناطق الخاصة بك

يمكنك إنشاء منطقتك الخاصة (سأسميها ملكنا):

# جدار الحماية-cmd --permanent --new-zone=our

بعد إنشاء منطقة جديدة، وكذلك بعد إنشاء الخدمة، يلزم إعادة التشغيل جدار الحماية:

# جدار الحماية-cmd --إعادة التحميل

# جدار الحماية-cmd--get-zones

قم بحظر dmz وإسقاط المنزل الخارجي والداخلي وعملنا العام الموثوق به

منطقة ملكنامتاح. يمكنك إضافة خدمات إليه أو فتح منافذ محددة.

جدار الحماية: حظر عناوين IP وإنشاء الاستثناءات

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

لإضافة واحد محدد إلى الاستثناءات عنوان IP(على سبيل المثال 8.8.8.8) على الخادم الخاص بك عبر جدار الحماية، استخدم الأمر:

# جدار الحماية-cmd --zone=public --add-rich-rule = "عائلة القاعدة = "ipv4" عنوان المصدر = "8.8.8.8" قبول"

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

الهدف العام (النشط): انعكاس كتلة icmp الافتراضي: لا توجد واجهات: مصادر eth0: الخدمات: dhcpv6-client http https ssh منافذ الاختبار: البروتوكولات: حفلة تنكرية: لا توجد منافذ أمامية: منافذ المصدر: كتل icmp: قواعد غنية: عائلة القاعدة = "ipv4" عنوان المصدر = "8.8.8.8" قبول

ليحجب الملكية الفكرية، بحاجة إلى استبدال يقبلعلى يرفض:

# جدار الحماية-cmd --zone=public --add-rich-rule = "عائلة القاعدة = "ipv4" عنوان المصدر = "8.8.4.4" رفض"

# جدار الحماية-cmd --zone=public --list-all

الهدف العام (النشط): انعكاس كتلة icmp الافتراضي: لا توجد واجهات: مصادر eth0: الخدمات: dhcpv6-client http https ssh منافذ الاختبار: البروتوكولات: حفلة تنكرية: لا توجد منافذ أمامية: منافذ المصدر: كتل icmp: قواعد غنية: عائلة القاعدة = "عنوان المصدر IPv4" = "8.8.8.8" قبول عائلة القاعدة = "عنوان المصدر IPv4" = "8.8.4.4" رفض

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

#firewall-cmd --permanent --add-rich-rule "عائلة القاعدة = "ipv4" عنوان المصدر = "10.10.1.0/24" اسم الخدمة = "https" قبول"

إذا كنت بحاجة ماسة إلى حظر جميع الطلبات الواردة إلى الخادم، فاستخدم أمر الذعر:

# جدار الحماية-cmd--الذعر-على

يمكنك تعطيل وضع الذعر إما باستخدام الأمر:

# جدار الحماية-كمد--الذعر-إيقاف

أو عن طريق إعادة تشغيل الخادم .

يمكنك حظر تكوين جدار الحماية حتى تتمكن الخدمات المحلية من ذلك حقوق الجذرتعذر تغيير قواعد جدار الحماية التي قمت بإنشائها:

# جدار الحماية-cmd --lockdown-on

تعطيل وضع الحظر:

# جدار الحماية-cmd--lockdown-off

إعادة توجيه المنفذ في جدار الحماية

يمكنك إنشاء قاعدة إعادة توجيه المنفذ في جدار الحماية. لإعادة توجيه المنفذ 443 إلى 9090:

# جدار الحماية-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=9090 --permanent

لإزالة قاعدة إعادة توجيه المنفذ:

# جدار الحماية-cmd --zone=public --remove-forward-port=port=443:proto=tcp:toport=9090




قمة