| کانال امنیت و شبکه |: post #147 — TG.ME

‏روی هر سرور لینوکسی که سرویس‌هایی مثل 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
👍4🔥1
August 21, 2026 298 2 7