EQVPS

چگونه fail2ban را برای مسدود کردن حملات زورِ بی‌رحمانه روی یک VPS راه‌اندازی کنیم

به حدس زدن مداوم رمز عبور روی سرورتان پایان دهید: fail2ban لاگ‌های شما را زیر نظر می‌گیرد و IPهایی را که بیش از حد در ورود شکست می‌خورند به‌طور خودکار مسدود می‌کند. آن را نصب کنید، jail مربوط به SSH را فعال کنید، و قوانین مسدودسازی را تنظیم کنید — در چند فرمان.

حتی اگر همه چیز دیگر قفل شده باشد، ربات‌ها هرگز از امتحان کردن رمزها روی پورت ۲۲ دست نمی‌کشند — این یک سروصدا و بار پس‌زمینه ثابت است. fail2ban لاگ‌های شما را زیر نظر می‌گیرد و به‌طور خودکار هر IP را که بیش از حد در ورود شکست بخورد مسدود می‌کند، بنابراین مهاجمان پس از چند تلاش بیرون گذاشته می‌شوند به‌جای آنکه تا ابد حدس بزنند. نصب آن کوچک است اما افت سروصدای لاگ بزرگ.

۱. نصب fail2ban

sudo apt update && sudo apt install -y fail2ban

۲. یک تنظیمات محلی بسازید

هرگز jail.conf ارائه‌شده را مستقیماً ویرایش نکنید — آن را در jail.local بازنویسی کنید:

sudo tee /etc/fail2ban/jail.local > /dev/null <<'EOF'
[DEFAULT]
# خودتان را مسدود نکنید — IP خانه/دفتر خود را اضافه کنید
ignoreip = 127.0.0.1/8 ::1
bantime  = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
EOF

این کار یک IP را پس از ۵ ورود ناموفق در عرض ۱۰ دقیقه به مدت یک ساعت مسدود می‌کند. IP خودتان را به ignoreip اضافه کنید تا یک رمز اشتباه‌تایپ‌شده هرگز شما را قفل نکند.

۳. آن را راه‌اندازی کنید و در بوت فعال کنید

sudo systemctl enable --now fail2ban

۴. jail مربوط به SSH را بررسی کنید

sudo fail2ban-client status sshd

خواهید دید که در حال حاضر چند IP مسدود شده‌اند — اغلب عددی شگفت‌انگیز در عرض چند دقیقه.

مدیریت مسدودیت‌ها

sudo fail2ban-client set sshd unbanip 1.2.3.4   # رفع یک مسدودیت
sudo fail2ban-client status                     # فهرست همه jailها
sudo systemctl reload fail2ban                  # اعمال تغییرات تنظیمات

هشدارهای صادقانه

گام‌های بعدی

fail2ban یک لایه از یک سرور سخت‌سازی‌شده است. آن را با احراز هویت با کلید SSH و یک فایروال UFW ترکیب کنید، و پیش از افشای هر چیز به اینترنت، کل چک‌لیست امنیتی VPS جدید را طی کنید.

پرسش‌های متداول

fail2ban واقعاً چه کاری انجام می‌دهد؟

این ابزار فایل‌های لاگ (مانند لاگ auth مربوط به SSH) را برای شکست‌های تکراری از یک IP یکسان زیر نظر می‌گیرد، و وقتی یک IP از آستانه‌ای عبور کند، یک مسدودسازی موقت در فایروال اضافه می‌شود. ربات‌هایی که تمام روز پورت ۲۲ را می‌کوبند، پس از چند تلاش مسدود می‌شوند به‌جای آنکه تا ابد حدس بزنند. این یک محافظت خودکار و مداوم است.

اگر از کلید SSH استفاده می‌کنم باز هم به fail2ban نیاز دارم؟

این دو مشکل متفاوتی را حل می‌کنند. کلیدهای SSH حدس زدن را عملاً غیرممکن می‌کنند؛ fail2ban سروصدا و بار تلاش‌های بی‌پایان را متوقف می‌کند و از هر سرویس دیگری که در معرض دید قرار می‌دهید (ایمیل، ورودهای وب) نیز محافظت می‌کند. با SSH فقط-کلید، ریسک از قبل پایین است، اما fail2ban یک دفاع لایه‌ای ارزان است و سروصدای لاگ را کاهش می‌دهد.

آیا ممکن است fail2ban به اشتباه من را مسدود کند؟

بله ممکن است، اگر چندین بار رمز عبور خودتان را اشتباه تایپ کنید — برای مدت bantime مسدود می‌شوید و سپس به‌طور خودکار رفع مسدودیت می‌شوید. برای اینکه هرگز خودتان را قفل نکنید، IP خودتان را در تنظیمات به 'ignoreip' اضافه کنید، و به یاد داشته باشید که کنسول ارائه‌دهنده (EQVPS یکی دارد) همیشه شما را برمی‌گرداند.

چگونه ببینم چه کسی مسدود شده، یا یک IP را رفع مسدودیت کنم؟

از 'sudo fail2ban-client status sshd' برای دیدن jail و IPهای مسدودشده استفاده کنید. برای رفع یک مسدودیت: 'sudo fail2ban-client set sshd unbanip 1.2.3.4'. برای افزودن دائمی یک IP مورد اعتماد، آن را در ignoreip قرار دهید و reload کنید.

bantime، findtime و maxretry چه هستند؟

maxretry تعداد شکست‌های مجاز است، findtime بازه زمانی است که در آن شمارش می‌شوند، و bantime مدت زمان مسدودیت است. برای مثال ۵ شکست در عرض ۱۰ دقیقه یک مسدودیت ۱ ساعته را فعال می‌کند. برای مهاجمان پایدارتر، bantime را افزایش دهید (یا آن را روی مقدار طولانی‌تری تنظیم کنید).

نظرات

هنوز نظری نیست. اولین نفر باشید.

یک نظر بگذارید

نظرات پیش از نمایش بررسی می‌شوند.