خانه / مقاله / آموزش نصب و کانفیگ Fail2Ban جهت جلوگیری از هک و حملات Brute-force

آموزش نصب و کانفیگ Fail2Ban جهت جلوگیری از هک و حملات Brute-force

واحد محتوا
واحد محتوا

مقدمه

در دنیای امروز، امنیت سرور نقش حیاتی در جلوگیری از نفوذ هکرها و حفاظت از داده‌های حساس دارد. یکی از ابزارهای قدرتمند و متن‌باز برای مقابله با حملات Brute-force و دسترسی‌های غیرمجاز، Fail2Ban است. این ابزار با تحلیل لاگ‌ها و شناسایی IPهای مشکوک، به‌طور خودکار آن‌ها را مسدود می‌کند. در این مقاله به‌صورت گام‌به‌گام، نصب و پیکربندی Fail2Ban را آموزش می‌دهیم تا امنیت سرورتان را به شکل قابل‌توجهی ارتقا دهید.


پیش‌نیازها و آماده‌سازی برای نصب Fail2Ban

قبل از شروع، اطمینان حاصل کنید که:

  • دسترسی sudo به سرور دارید.
  • سیستم عامل شما یکی از توزیع‌های لینوکسی رایج مانند Debian/Ubuntu یا CentOS/RHEL باشد.
  • پورت‌های لازم برای سرویس SSH یا سرویس‌های دیگر باز باشند.

نکته امنیتی: بهتر است قبل از تغییر تنظیمات، یک بکاپ کامل از پیکربندی سرور تهیه کنید.


نمودار ساختار Fail2Ban و نحوه مسدودسازی IP در سرور

مراحل نصب Fail2Ban بر روی لینوکس

نصب در Debian/Ubuntu

sudo apt update
sudo apt install fail2ban -y

نصب در CentOS/RHEL

sudo yum install epel-release -y
sudo yum install fail2ban -y

پس از نصب، سرویس Fail2Ban را فعال و اجرا کنید:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

کانفیگ پیشرفته Fail2Ban برای حفاظت حداکثری

ایجاد فایل local برای جلوگیری از تغییرات در فایل‌های اصلی

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

تنظیمات اولیه در jail.local

  • ignoreip: آی‌پی‌هایی که هرگز بلاک نمی‌شوند.
  • bantime: مدت زمان مسدودی آی‌پی (مثلاً 600 ثانیه).
  • findtime: بازه زمانی بررسی برای لاگین‌های ناموفق.
  • maxretry: تعداد دفعات مجاز تلاش ناموفق.

نمونه تنظیم:

[DEFAULT]
ignoreip = 127.0.0.1/8 192.168.1.100
bantime = 3600
findtime = 600
maxretry = 3

فعال‌سازی محافظت از SSH

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

برای CentOS مسیر لاگ متفاوت است:

logpath = /var/log/secure

بررسی سرویس‌های فعال در Fail2Ban

sudo fail2ban-client status
sudo fail2ban-client status sshd

محیط ترمینال لینوکس هنگام پیکربندی Fail2Ban برای محافظت از SSH


تنظیم ارسال ایمیل هشدار

با افزودن بخش زیر می‌توانید هنگام بلاک شدن IP هشدار دریافت کنید:

destemail = admin@example.com
sender = fail2ban@example.com
mta = sendmail
action = %(action_mwl)s

نکات امنیتی و بهینه‌سازی

  • از بازه‌های زمانی و مدت مسدودسازی بلندتر برای سرورهای حساس استفاده کنید.
  • Fail2Ban را به‌روز نگه دارید تا از آخرین بهبودهای امنیتی بهره‌مند شوید.
  • در صورت استفاده از چند سرویس (مانند FTP، Mail و Apache) برای هر سرویس Jail مستقل تعریف کنید.

نتیجه‌گیری

Fail2Ban ابزاری قدرتمند برای مقابله با حملات Brute-force و مسدودسازی خودکار IPهای مخرب است. با نصب و کانفیگ صحیح این نرم‌افزار، می‌توانید امنیت سرور خود را به شکل قابل‌توجهی افزایش دهید و از بروز بسیاری از تهدیدهای امنیتی جلوگیری کنید. همین حالا با اجرای مراحل بالا سرور خود را ایمن‌تر کنید و خطر هک را کاهش دهید.