العودة إلى المدونة
مايو 23, 2026الأدلة

كيفية تثبيت Fail2ban وضبطه على Linux

احمِ VPS من هجمات القوة الغاشمة بتثبيت Fail2ban مع سجون SSH وNginx.

كيفية تثبيت Fail2ban وضبطه على Linux

يراقب Fail2ban ملفات السجل ويحظر مؤقتاً عناوين IP التي تُظهر سلوكاً ضاراً — مثل محاولات SSH الفاشلة المتكررة. من أوائل أدوات الأمان على VPS جديد من Hiddence.

تثبيت Fail2ban

bash
# Ubuntu / Debian
sudo apt update
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

# CentOS / RHEL / Alma / Rocky
sudo yum install epel-release -y
sudo yum install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

حماية SSH

أنشئ ملف إعداد محلي (لا تعدّل jail.conf مباشرة):

bash
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600
findtime = 600

sudo systemctl restart fail2ban

حماية Nginx (اختياري)

احظر IP التي تُسبّب أخطاء 404 أو مصادقة كثيرة:

bash
[nginx-http-auth]
enabled = true
port = http,https
filter = nginx-http-auth
logpath = /var/log/nginx/error.log
maxretry = 5

[nginx-noscript]
enabled = true
port = http,https
filter = nginx-noscript
logpath = /var/log/nginx/access.log
maxretry = 6

التحقق من IP المحظورة

bash
sudo fail2ban-client status
sudo fail2ban-client status sshd

# Unban an IP if needed:
sudo fail2ban-client set sshd unbanip 1.2.3.4

أفضل الممارسات

  • استخدم مفاتيح SSH بدلاً من كلمات المرور لتقليل سطح الهجوم
  • غيّر منفذ SSH الافتراضي مع قواعد الجدار الناري
  • أضف IP المكتب إلى ignoreip في fail2ban عند الحاجة
  • راقب /var/log/fail2ban.log بانتظام
  • اجمع Fail2ban مع UFW أو Firewalld