| کانال امنیت و شبکه |
روی هر سرور لینوکسی که سرویسهایی مثل SSH یا وبسرور در حال اجرا است، حمله Brute Force تقریبا همیشه اتفاق میافتد. رباتها مدام پسورد حدس میزنند و اگر محدود نشوند هم امنیت را پایین میآورند، هم لاگها را شلوغ میکنند و حتی CPU را درگیر میکنند.
اینجا ابزار 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
8 · 971 ·