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 أو ألغِ الحظر.