Fail2ban حملات Brute Force به SSH را خودکار مسدود میکند. آموزش نصب و تنظیم آن روی اوبونتو را در این مقاله ببینید.

اگر لاگ SSH سرورتان را نگاه کنید، احتمالاً صدها تلاش ورود ناموفق از آیپیهای ناشناس میبینید — رباتهای خودکار دائم در حال حدس زدن رمز عبور سرورهای دنیا هستند. Fail2ban ابزاری است که این نوع حملات Brute Force را بهصورت خودکار شناسایی و مسدود میکند.
Fail2ban چطور کار میکند؟
Fail2ban لاگهای سرویسهایی مثل SSH را زیر نظر دارد و اگر یک آیپی در بازه زمانی مشخص چند بار تلاش ناموفق برای ورود داشته باشد، بهصورت خودکار آن آیپی را برای مدتی (یا برای همیشه) در فایروال مسدود میکند.
نصب Fail2ban روی اوبونتو
sudo apt update sudo apt install fail2ban
تنظیمات اولیه
هرگز فایل اصلی jail.conf را مستقیم ویرایش نکنید (با آپدیت بازنویسی میشود)؛ بهجایش یک کپی محلی بسازید:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo nano /etc/fail2ban/jail.local
بخش مربوط به SSH را پیدا و مقادیر زیر را تنظیم کنید:
[sshd] enabled = true port = ssh maxretry = 5 bantime = 3600 findtime = 600
این تنظیمات یعنی: اگر یک آیپی در ۱۰ دقیقه، ۵ بار تلاش ناموفق داشته باشد، به مدت ۱ ساعت مسدود میشود. اگر پورت SSH را طبق این آموزش عوض کردهاید، مقدار port را با شماره پورت جدید جایگزین کنید.
راهاندازی و بررسی وضعیت
sudo systemctl restart fail2ban sudo systemctl enable fail2ban sudo fail2ban-client status sshd
خروجی این دستور نشان میدهد چند آیپی تا الان مسدود شدهاند.
آزادسازی دستی یک آیپی
اگر به اشتباه آیپی خودتان مسدود شد:
sudo fail2ban-client set sshd unbanip YOUR_IP
Fail2ban بخشی از یک استراتژی امنیتی کامل است
Fail2ban بهتنهایی کافی نیست؛ آن را در کنار تغییر پورت پیشفرض SSH، غیرفعال کردن ورود مستقیم روت، و استفاده از فایروال UFW بهکار ببرید تا سرور چند لایه دفاعی همزمان داشته باشد.



