اینجا ابزار Fail2ban به درد میخورد؛ لاگها را مانیتور میکند و وقتی چند تلاش لاگین ناموفق از یک IP دید، بهصورت خودکار آن IP را با iptables یا nftables بلاک میکند. 👮♂️
📌 ایده اصلی Fail2ban
ابزار Fail2ban روی لاگها (مثلا /var/log/auth.log یا /var/log/secure) الگوهای مشکوک را جستوجو میکند. بر اساس یک jail (قانون) تعریف میشود که:
• چه لاگی را نگاه کند 🧾
• با چه Regex خطاها را تشخیص دهد 🔍
• بعد از چند خطا IP بن شود 🚫
• برای چند دقیقه یا ساعت بن بماند ⏱
✅ نصب Fail2ban روی Debian/Ubuntu
روی توزیعهای Debian/Ubuntu این دستورها معمولاً کافی است:
sudo apt update
sudo apt install fail2ban -y
# کپی کانفیگ پیشفرض برای ویرایش امن
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# فعالسازی و استارت سرویس
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# وضعیت کلی
sudo fail2ban-client status
در Red Hat / CentOS هم با
dnf install fail2ban یا yum install fail2ban قابل نصب است (بستههای EPEL را باید فعال کرد).🔐 نمونه تنظیم Jail برای حفاظت SSH
فایل اصلی کانفیگ محلی معمولا
/etc/fail2ban/jail.local است. یک نمونه کانفیگ ساده برای SSH:[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
findtime = 600
bantime = 3600
توضیح سریع:
• enabled فعالکردن این jail است.
• maxretry یعنی بعد از ۵ تلاش ناموفق، IP بن شود.
• findtime محدوده زمانی بر حسب ثانیه است (اینجا ۱۰ دقیقه).
• bantime مدت زمان بنشدن IP است (اینجا ۱ ساعت).
بعد از ویرایش، سرویس را ریلود کن:
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd
🧠 چند نکته کاربردی
• روی سروری که SSH روی پورت غیرمعمول است، مقدار
port را با آن پورت هماهنگ کن.• برای سرویسهای وب (مثلا nginx) میتوان از فیلترهای آماده Fail2ban استفاده کرد تا از حملات Login Form یا اسکن بیشازحد جلوگیری شود.
• اگر خودت زیاد پسورد اشتباه میزنی، آیپی ادمین را در ignoreip قرار بده که اشتباهی خودت بن نشوی.
🌐 منابع قابل اعتماد برای مطالعه بیشتر
• مستندات رسمی Fail2ban: ReadTheDocs
• راهنمای امنیت SSH در سایت Ubuntu: Ubuntu Docs
استفاده از Fail2ban یکی از سادهترین و مؤثرترین لایههای دفاعی روی سرور است؛ سبک، اتوماتیک و کاملا قابلسفارشیسازی. امروز روی یک سرور تست فعالش کن و ببین چهقدر سریع لاگهات تمیزتر و حملهها کنترل میشوند. 😉
🔖 #Security #امنیت #Fail2ban #SSH #Linux_Security #Brute_Force #Server_Hardening
👤 Developix
💎 Channel: @DevelopixNetwork




