بازگشت به وبلاگ
مه 23, 2026راهنماها

نحوه نصب و پیکربندی Fail2ban در لینوکس

با نصب Fail2ban با زندان های SSH و Nginx از VPS خود در برابر حملات brute-force محافظت کنید.

نحوه نصب و پیکربندی Fail2ban در لینوکس

Fail2ban فایل‌های گزارش را نظارت می‌کند و آدرس‌های IP را که رفتار مخرب نشان می‌دهند – مانند ورود ناموفق مکرر SSH به طور موقت ممنوع می‌کند. این یکی از اولین ابزارهای امنیتی است که روی یک Hiddence VPS جدید نصب می شود.

نصب 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

آی پی های ممنوعه را چک کنید

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 دفتر خود را در fail2ban ignoreip لیست سفید کنید
  • /var/log/fail2ban.log را به طور منظم مانیتور کنید
  • Fail2ban را با UFW یا Firewalld ترکیب کنید