موافقجميع الخدمات تعمل بشكل طبيعي
Infrawireشعار Infrawireالتوثيق

ضبط Fail2ban على VPS Linux

Fail2ban يراقب سجلات الخدمات وييحظر مؤقتاً العناوين التي تتصرف بشكل مسيء (محاولات SSH متكررة، مسح HTTP، إلخ). يكمّل UFW وتأمين SSH.

المتطلبات

  • Ubuntu/Debian (أو مشتق) مع sudo
  • خدمة للحماية (مثل sshd، nginx)

التثبيت

Bash
sudo apt update && sudo apt install -y fail2ban sudo systemctl enable fail2ban sudo systemctl start fail2ban

إعداد أساسي

ضع الملفات المخصصة في /etc/fail2ban/jail.d/ لتجنب الكتابة فوقها عند التحديث.

أنشئ /etc/fail2ban/jail.d/local.conf:

INI
1[DEFAULT] 2bantime = 1h 3findtime = 10m 4maxretry = 5 5ignoreip = 127.0.0.1/8 ::1 6 7[sshd] 8enabled = true 9port = ssh 10logpath = %(sshd_log)s 11backend = %(sshd_backend)s

إذا غيّرت منفذ SSH، استبدل port = ssh بالمنفذ (مثل port = 2222).

أعد التحميل:

Bash
sudo systemctl restart fail2ban sudo fail2ban-client status sudo fail2ban-client status sshd

حماية Nginx (طلبات HTTP مبالغ فيها)

INI
[nginx-http-auth] enabled = true port = http,https logpath = /var/log/nginx/error.log

عدّل مسارات السجلات حسب تثبيتك.

جيد أن تعرف

  • أضف IP الثابت في ignoreip لتجنب حظر نفسك أثناء الاختبار.
  • راقب sudo fail2ban-client status sshd بعد النشر.
  • الحظر مؤقت (bantime).

إلغاء حظر يدوي

Bash
sudo fail2ban-client set sshd unbanip 198.51.100.10

استكشاف الأخطاء

  • لا يوجد حظر: تحقق من enabled = true وصحة logpath.
  • حظرت نفسك: استخدم كونسول الاستضافة أو IP آخر وعدّل ignoreip أو ألغِ الحظر.