UFW — جدار الحماية البسيط — هو الواجهة الودودة لـ iptables/nftables على Ubuntu. نمط "ارفض افتراضيًا واسمح فقط لما تحتاج" يوقف 99% من ضوضاء الإنترنت قبل أن تصل إلى خدماتك.
المتطلبات المسبقة
- Ubuntu 22.04 أو 24.04 مع
sudo. - جلسة SSH مفتوحة يمكنك إبقاؤها حية أثناء تغيير القواعد.
- قائمة واضحة بالمنافذ التي تستمع عليها خدماتك (
sudo ss -tulpn).
الخطوة 1: تأكيد تثبيت UFW وحالته
sudo apt install -y ufw
sudo ufw status verbose
إذا كانت الحالة inactive، حدد السياسة واسمح لـ SSH أولاً قبل التمكين.
الخطوة 2: تعيين السياسة الافتراضية إلى deny
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw default deny routed
الخطوة 3: اسمح بمنافذ الإدارة أولاً
اسمح بـ SSH قبل التمكين دائمًا:
sudo ufw allow 22/tcp comment 'ssh'
الخطوة 4: افتح منافذ خدمات محددة
خادم ويب نموذجي:
sudo ufw allow 80/tcp comment 'http'
sudo ufw allow 443/tcp comment 'https'
وصول قاعدة بيانات مقيد بالمصدر (خادم التطبيق فقط):
sudo ufw allow from 10.0.1.20 to any port 5432 proto tcp comment 'postgres from app'
SSH مع تقييد المعدل (يسقط حركة القوة الغاشمة):
sudo ufw limit 22/tcp comment 'ssh rate-limited'
نطاق منافذ مخصص:
sudo ufw allow 30000:30100/tcp comment 'agent port range'
الخطوة 5: تمكين والتحقق
sudo ufw enable
sudo ufw status numbered
استخدم الترقيم لحذف قاعدة:
sudo ufw delete 5
الخطوة 6: التسجيل
sudo ufw logging medium
sudo tail -f /var/log/ufw.log
medium كافٍ لمعظم العمليات.
التحقق
sudo ufw status verbose
sudo iptables -L INPUT -n | head -20
nmap -Pn -p 22,80,443,3306 your.host
يجب أن يُظهر nmap فقط المنافذ التي سمحت بها كـ open، والباقي كـ filtered.
الخاتمة
يمنحك UFW قواعد قابلة للقراءة دون أن يفرض عليك تعلم بناء جملة iptables. طبّق سياسة الرفض الافتراضية مرة، وسيبقى يخدمك سنوات.
الخطوات التالية
- اقرن UFW مع Fail2ban لإسقاط الماسحات تلقائيًا.
- راجع المنافذ المفتوحة بانتظام عبر إدارة خدمات systemd.
- لخوادم عائلة RHEL راجع دليل firewalld.
Comments
0 total · 0 threads