أداة Firewalld هي المدير الديناميكي الافتراضي لجدار الحماية في توزيعات Linux المبنية على RHEL. لتقييد منفذ معين لعنوان IP واحد، نستخدم ما يسمى بـ “القواعد الغنية” (Rich Rules)، والتي توفر تحكماً دقيقاً يتجاوز الأوامر البسيطة للخدمات.
المتطلبات المسبقة:
- صلاحية الوصول عبر SSH مع امتيازات sudo.
- رقم المنفذ الذي تريد تأمينه (مثلاً 3306 لـ MySQL).
- عنوان IP الموثوق الذي تريد السماح له بالوصول.
خطوات تقييد الوصول:
- التحقق من حالة Firewalld: تأكد من أن جدار الحماية قيد التشغيل: sudo systemctl status firewalld
- إضافة “القاعدة الغنية” (Rich Rule): للسماح لعنوان IP محدد (مثلاً 1.2.3.4) بالوصول لمنفذ معين (مثلاً 3306) استخدم الأمر التالي. يضمن الخيار
--permanentبقاء القاعدة فعالة حتى بعد إعادة تشغيل الخادم:sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1.2.3.4" port protocol="tcp" port="3306" accept' - إعادة تحميل الإعدادات: لن تدخل التغييرات حيز التنفيذ حتى تقوم بإعادة تحميل إعدادات جدار الحماية:
sudo firewall-cmd --reload - التحقق من الإعدادات: قم بعرض كافة “القواعد الغنية” النشطة للتأكد من إضافة عنوان الـ IP بنجاح:
sudo firewall-cmd --list-rich-rules
كيفية حذف قاعدة:
إذا احتجت لإلغاء الوصول لاحقاً، ببساطة قم بتنفيذ نفس الأمر الموجود في الخطوة الثانية مع استبدال --add-rich-rule بـ --remove-rich-rule ثم قم بإعادة التحميل.
التحقق من الإعدادات:
قم باختبار الاتصال من عنوان الـ IP المسموح به. إذا تم الإعداد بشكل صحيح، فسيتم الاتصال بنجاح، بينما سيتم حظر جميع عناوين IP الأخرى بواسطة سياسة “الحظر الافتراضي” لجدار الحماية.