Introduction to Amazon Web Services by Leo Zhadanovsky
جدول المحتويات:
- المتطلبات الأساسية
- مفاهيم Firewalld الأساسية
- مناطق Firewalld
- خدمات جدار الحماية
- Firewalld Runtime و الإعدادات الدائمة
- تمكين FirewallD
- مناطق Firewalld
- تغيير الهدف المنطقة
- تعيين واجهة لمنطقة مختلفة
- تغيير المنطقة الافتراضية
- إنشاء مناطق جديدة
- خدمات جدار الحماية
- إنشاء خدمة FirewallD جديدة
- فتح المنافذ و IPs المصدر
- فتح مصدر IP
- فتح منفذ المصدر
- موانئ الشحن
- توجيه حركة المرور من منفذ إلى آخر على عنوان IP
- توجيه حركة المرور إلى عنوان IP آخر
- توجيه حركة المرور إلى خادم آخر على منفذ مختلف
- استنتاج
جدار الحماية هو وسيلة لمراقبة وتصفية حركة مرور الشبكة الواردة والصادرة. إنه يعمل عن طريق تحديد مجموعة من قواعد الأمان التي تحدد ما إذا كان يجب السماح بحركة مرور معينة أم حظرها. يعد جدار الحماية المكوّن بشكل صحيح أحد أهم جوانب أمان النظام الكلي.
سفن CentOS 8 مزودة بخفي جدار الحماية المسمى firewalld. إنه حل كامل بواجهة D-Bus يسمح لك بإدارة جدار الحماية الخاص بالنظام بشكل ديناميكي.
في هذا البرنامج التعليمي ، سنتحدث عن كيفية تكوين جدار الحماية وإدارته في CentOS 8. وسنشرح أيضًا مفاهيم FirewallD الأساسية.
المتطلبات الأساسية
لتكوين خدمة جدار الحماية ، يجب تسجيل الدخول كجذر أو مستخدم لديه امتيازات sudo.
مفاهيم Firewalld الأساسية
يستخدم firewalld مفاهيم المناطق والخدمات. بناءً على المناطق والخدمات التي ستقوم بتكوينها ، يمكنك التحكم في حركة المرور المسموح بها أو المحظورة من وإلى النظام.
يمكن تكوين Firewalld وإدارتها باستخدام الأداة المساعدة لسطر
firewall-cmd
.
في CentOS 8 ، يتم استبدال iptables بـ nftables كخلفية جدار الحماية الافتراضية لخفي firewalld.
مناطق Firewalld
المناطق هي مجموعات محددة مسبقًا من القواعد التي تحدد مستوى ثقة الشبكات التي يتصل بها الكمبيوتر. يمكنك تعيين واجهات الشبكة ومصادرها للمنطقة.
فيما يلي المناطق التي يوفرها FirewallD المطلوبة وفقًا لمستوى الثقة في المنطقة من غير موثوق به إلى موثوق به:
- إسقاط: يتم إسقاط كافة الاتصالات الواردة دون أي إشعار. الاتصالات الصادرة فقط هي المسموح بها. block: يتم رفض جميع الاتصالات الواردة برسالة
icmp-host-prohibited
لـIPv4
وicmp6-adm-prohibited
على IPv6n. الاتصالات الصادرة فقط هي المسموح بها. public: للاستخدام في المناطق العامة غير الموثوق بها. لا تثق بأجهزة الكمبيوتر الأخرى على الشبكة ، ولكن يمكنك السماح بالاتصالات الواردة المحددة. خارجي: للاستخدام على الشبكات الخارجية مع تمكين تنكر NAT عندما يعمل نظامك كبوابة أو جهاز توجيه. يسمح فقط بالاتصالات الواردة المحددة. داخلي: للاستخدام على الشبكات الداخلية عندما يعمل نظامك كبوابة أو جهاز توجيه. موثوق الأنظمة الأخرى على الشبكة بشكل عام. يسمح فقط بالاتصالات الواردة المحددة. dmz: يستخدم لأجهزة الكمبيوتر الموجودة في منطقتك المنزوعة السلاح والتي لها وصول محدود إلى بقية شبكتك. يسمح فقط بالاتصالات الواردة المحددة. العمل: تستخدم لآلات العمل. أجهزة الكمبيوتر الأخرى الموجودة على الشبكة موثوق بها عمومًا. يسمح فقط بالاتصالات الواردة المحددة. المنزل: تستخدم للآلات المنزلية. أجهزة الكمبيوتر الأخرى الموجودة على الشبكة موثوق بها عمومًا. يسمح فقط بالاتصالات الواردة المحددة. موثوق به: يتم قبول جميع اتصالات الشبكة. الوثوق بجميع أجهزة الكمبيوتر في الشبكة.
خدمات جدار الحماية
خدمات Firewalld هي قواعد محددة مسبقًا يتم تطبيقها داخل منطقة ما وتعرف الإعدادات اللازمة للسماح بحركة المرور الواردة لخدمة معينة. تتيح لك الخدمات أداء العديد من المهام بسهولة في خطوة واحدة.
على سبيل المثال ، يمكن أن تحتوي الخدمة على تعريفات حول فتح المنافذ وإعادة توجيه حركة المرور والمزيد.
Firewalld Runtime و الإعدادات الدائمة
يستخدم Firewalld مجموعتي تكوين منفصلتين ، وقت التشغيل ، والتكوين الدائم.
تكوين وقت التشغيل هو التكوين الفعلي قيد التشغيل ولا يستمر عند إعادة التشغيل. عندما يبدأ البرنامج الخفي لجدار الحماية ، فإنه يقوم بتحميل التكوين الدائم ، والذي يصبح تكوين وقت التشغيل.
افتراضيًا ، عند إجراء تغييرات على تكوين Firewalld باستخدام الأداة المساعدة
firewall-cmd
، يتم تطبيق التغييرات على تكوين وقت التشغيل. لجعل التغييرات دائمة إلحاق الخيار -
--permanent
إلى الأمر.
لتطبيق التغييرات في مجموعتي التكوين ، يمكنك استخدام إحدى الطريقتين التاليتين:
-
تغيير تكوين وقت التشغيل وجعله دائمًا:
sudo firewall-cmd
sudo firewall-cmd --runtime-to-permanent
تغيير التكوين الدائم وإعادة تحميل البرنامج الخفي firewalld:
sudo firewall-cmd --permanent
sudo firewall-cmd --reload
تمكين FirewallD
في CentOS 8 ، يتم تثبيت firewalld وتمكينه افتراضيًا. إذا لم يكن مثبتًا على نظامك لسبب ما ، يمكنك تثبيت البرنامج الخفي وبدء تشغيله عن طريق الكتابة:
sudo dnf install firewalld
sudo systemctl enable firewalld --now
sudo dnf install firewalld
sudo systemctl enable firewalld --now
يمكنك التحقق من حالة خدمة جدار الحماية باستخدام:
sudo firewall-cmd --state
إذا تم تمكين جدار الحماية ، فيجب طباعة الأمر
running
. خلاف ذلك ، سترى
not running
.
مناطق Firewalld
المنطقة الافتراضية هي تلك المستخدمة لكل شيء لم يتم تعيينه بشكل صريح إلى منطقة أخرى.
يمكنك رؤية المنطقة الافتراضية عن طريق الكتابة:
sudo firewall-cmd --get-default-zone
public
للحصول على قائمة بجميع المناطق المتاحة ، اكتب:
sudo firewall-cmd --get-zones
block dmz drop external home internal public trusted work
لمشاهدة المناطق النشطة وواجهات الشبكة المعينة لهم:
sudo firewall-cmd --get-active-zones
يُظهر الإخراج أدناه أنه يتم تعيين الواجهات
eth0
و
eth1
إلى المنطقة
public
:
public interfaces: eth0 eth1
يمكنك طباعة إعدادات تكوين المنطقة باستخدام:
sudo firewall-cmd --zone=public --list-all
public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
من الناتج أعلاه ، يمكننا أن نرى أن المنطقة العامة نشطة وتستخدم الهدف الافتراضي ، وهو
REJECT
. يُظهر الإخراج أيضًا أن المنطقة تستخدمها واجهات
eth0
و
eth1
وتسمح بعميل DHCP وحركة مرور SSH.
sudo firewall-cmd --list-all-zones
يقوم الأمر بطباعة قائمة ضخمة مع إعدادات كل المنطقة المتاحة.
تغيير الهدف المنطقة
يعرّف الهدف السلوك الافتراضي للمنطقة لحركة المرور الواردة غير المحددة. يمكن ضبطه على أحد الخيارات التالية:
default
،
ACCEPT
،
REJECT
،
DROP
.
لتعيين هدف المنطقة ، حدد المنطقة بخيار
--zone
والهدف
--set-target
.
على سبيل المثال ، لتغيير هدف المنطقة
public
إلى
DROP
يجب تشغيل:
sudo firewall-cmd --zone=public --set-target=DROP
تعيين واجهة لمنطقة مختلفة
يمكنك إنشاء مجموعات محددة من القواعد للمناطق المختلفة وتعيين واجهات مختلفة لها. هذا مفيد بشكل خاص عند قيامك بواجهات متعددة على جهازك.
لتعيين واجهة لمنطقة مختلفة ، حدد المنطقة بخيار
--zone
والواجهة مع خيار
--change-interface
.
على سبيل المثال ، يعين الأمر التالي الواجهة
eth1
إلى منطقة
work
:
sudo firewall-cmd --zone=work --change-interface=eth1
تحقق من التغييرات عن طريق الكتابة:
sudo firewall-cmd --get-active-zones
work interfaces: eth1 public interfaces: eth0
تغيير المنطقة الافتراضية
لتغيير المنطقة الافتراضية ، استخدم خيار
--set-default-zone
متبوعًا باسم المنطقة التي تريد
--set-default-zone
افتراضيًا.
على سبيل المثال ، لتغيير المنطقة الافتراضية إلى
home
ستقوم بتشغيل الأمر التالي:
sudo firewall-cmd --set-default-zone=home
تحقق من التغييرات باستخدام:
sudo firewall-cmd --get-default-zone
إنشاء مناطق جديدة
يسمح لك Firewalld أيضًا بإنشاء مناطق خاصة بك. هذا مفيد عندما تريد إنشاء قواعد لكل تطبيق.
في المثال التالي ، سنقوم بإنشاء منطقة جديدة باسم
memcached
، وفتح المنفذ
11211
والسماح بالوصول فقط من عنوان IP
192.168.100.30
:
-
قم بإنشاء المنطقة:
sudo firewall-cmd --new-zone=memcached --permanent
أضف القواعد إلى المنطقة:
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
إعادة تحميل البرنامج الخفي firewalld لتنشيط التغييرات:
sudo firewall-cmd --reload
خدمات جدار الحماية
باستخدام firewalld ، يمكنك السماح بحركة المرور لمنافذ و / أو مصادر محددة بناءً على قواعد محددة مسبقًا تسمى الخدمات.
للحصول على قائمة بكل أنواع الخدمات المتاحة الافتراضية:
sudo firewall-cmd --get-services
يمكنك العثور على مزيد من المعلومات حول كل خدمة عن طريق فتح ملف.xml المرتبط ضمن دليل
/usr/lib/firewalld/services
. على سبيل المثال ، يتم تعريف خدمة HTTP مثل هذا:
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
للسماح بحركة مرور HTTP الواردة (المنفذ 80) للواجهات في المنطقة العامة ، لنوع الجلسة الحالية (تهيئة وقت التشغيل) فقط:
sudo firewall-cmd --zone=public --add-service=http
إذا كنت تقوم بتعديل المنطقة الافتراضية ، فيمكنك
--zone
خيار
--zone
.
للتحقق من إضافة الخدمة بنجاح ، استخدم خيار
--list-services
:
sudo firewall-cmd --zone=public --list-services
ssh dhcpv6-client
لإبقاء المنفذ 80 مفتوحًا بعد إعادة التشغيل ، قم بتشغيل الأمر نفسه مرة أخرى باستخدام الخيار -
--permanent
، أو قم بتنفيذ:
sudo firewall-cmd --runtime-to-permanent
استخدم قائمة
--list-services
جنبًا إلى جنب مع خيار
--permanent
للتحقق من تغييراتك:
sudo firewall-cmd --permanent --zone=public --list-services
ssh dhcpv6-client
بناء الجملة لإزالة الخدمة هو نفسه عند إضافة واحدة. مجرد استخدام
--remove-service
بدلاً من
--add-service
:
sudo firewall-cmd --zone=public --remove-service=http --permanent
يزيل الأمر أعلاه خدمة
http
من التكوين الدائم للمنطقة العامة.
إنشاء خدمة FirewallD جديدة
كما ذكرنا بالفعل ، يتم تخزين الخدمات الافتراضية في دليل
/usr/lib/firewalld/services
. تتمثل أسهل طريقة لإنشاء خدمة جديدة في نسخ ملف خدمة موجود إلى دليل
/etc/firewalld/services
، وهو موقع الخدمات التي أنشأها المستخدمون وتعديل إعدادات الملف.
على سبيل المثال ، لإنشاء تعريف خدمة لخادم الوسائط Plex ، يمكنك استخدام ملف خدمة SSH:
sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml
افتح ملف
plexmediaserver.xml
المنشأ حديثًا
plexmediaserver.xml
بتغيير الاسم المختصر والوصف للخدمة داخل
port
، والتي تحدد رقم المنفذ والبروتوكول الذي تريد فتحه.
في المثال التالي ،
32400
المنافذ
1900
UDP و
32400
TCP.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
احفظ الملف وأعد تحميل خدمة FirewallD:
sudo firewall-cmd --reload
يمكنك الآن استخدام خدمة
plexmediaserver
في
plexmediaserver
مثل أي خدمة أخرى.
فتح المنافذ و IPs المصدر
يتيح لك Firewalld أيضًا تمكين كل حركة المرور بسرعة من عنوان IP موثوق أو من منفذ معين دون إنشاء تعريف للخدمة.
فتح مصدر IP
للسماح لكل حركة المرور الواردة من عنوان IP محدد (أو نطاق) ، حدد المنطقة بخيار
--zone
و IP المصدر مع خيار
--add-source
.
على سبيل المثال ، للسماح لكل حركة المرور الواردة من 192.168.1.10 في المنطقة
public
، قم بتشغيل:
sudo firewall-cmd --zone=public --add-source=192.168.1.10
اجعل القاعدة الجديدة ثابتة:
sudo firewall-cmd --runtime-to-permanent
تحقق من التغييرات باستخدام الأمر التالي:
sudo firewall-cmd --zone=public --list-sources
192.168.1.10
بناء الجملة لإزالة IP المصدر هو نفسه عند إضافة واحد. ما عليك
--remove-source
استخدام
--remove-source
بدلاً من
--add-source
:
sudo firewall-cmd --zone=public --remove-source=192.168.1.10
فتح منفذ المصدر
للسماح لكل حركة المرور الواردة على منفذ معين ، حدد المنطقة مع خيار
--zone
والمنفذ والبروتوكول مع خيار
--add-port
.
على سبيل المثال ، لفتح المنفذ
8080
في المنطقة العامة للجلسة الحالية التي قمت بتشغيلها:
sudo firewall-cmd --zone=public --add-port=8080/tcp
يمكن أن يكون البروتوكول إما
tcp
أو
udp
أو
dccp
أو
dccp
.
تحقق من التغييرات:
sudo firewall-cmd --zone=public --list-ports
8080
لإبقاء المنفذ مفتوحًا بعد إعادة التشغيل ، أضف القاعدة إلى الإعدادات الدائمة عن طريق تشغيل الأمر نفسه باستخدام العلامة
--permanent
أو عن طريق التنفيذ:
sudo firewall-cmd --runtime-to-permanent
بناء الجملة لإزالة منفذ هو نفسه عند إضافة منفذ. مجرد استخدام
--remove-port
بدلاً من
--add-port
.
sudo firewall-cmd --zone=public --remove-port=8080/tcp
موانئ الشحن
لإعادة توجيه حركة المرور من منفذ إلى منفذ آخر ، قم أولاً بتمكين التنكر للمنطقة المرغوبة باستخدام
--add-masquerade
. على سبيل المثال ، لتمكين التنكر للمنطقة
external
، اكتب:
sudo firewall-cmd --zone=external --add-masquerade
توجيه حركة المرور من منفذ إلى آخر على عنوان IP
في المثال التالي ، نعيد توجيه حركة المرور من المنفذ
80
إلى المنفذ
8080
على نفس الخادم:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080
توجيه حركة المرور إلى عنوان IP آخر
في المثال التالي ، نعيد توجيه حركة المرور من المنفذ
80
إلى المنفذ
80
على خادم IP
10.10.10.2
:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2
توجيه حركة المرور إلى خادم آخر على منفذ مختلف
في المثال التالي ، نعيد توجيه حركة المرور من المنفذ
80
إلى المنفذ
8080
على خادم IP
10.10.10.2
:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2
لجعل القاعدة الأمامية ثابتة ، استخدم:
sudo firewall-cmd --runtime-to-permanent
استنتاج
لقد تعلمت كيفية تكوين وإدارة خدمة firewalld على نظام CentOS 8 الخاص بك.
تأكد من السماح لجميع الاتصالات الواردة الضرورية لتشغيل نظامك بشكل صحيح ، مع الحد من جميع الاتصالات غير الضرورية.
جدار الحماية جدار الحمايةالتحكم في جدار حماية Windows: تكوين إعدادات جدار حماية Windows وإدارتها

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

ما هو الفرق بين برنامج جدار الحماية وجدار حماية الأجهزة؟ انظر المقارنة. يحتوي اليوم جدار حماية الأجهزة على IPS / IPDS (أنظمة منع التطفل أيضاً.
كيفية إعداد جدار الحماية مع firewalld على centos 7

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