صبر کنید...
مرکز آموزش میلاد سرور

نصب و تنظیم Fail2ban برای جلوگیری از حمله رمز عبور

تصویر آموزشی نصب و تنظیم Fail2ban برای جلوگیری از حمله رمز عبور
راهنمای تصویری و مرحله‌به‌مرحله میلاد سرور

ربات‌ها به‌طور مداوم رمز SSH را امتحان می‌کنند؛ Fail2ban تلاش‌های ناموفق را شناسایی و IP مهاجم را موقتاً بلاک می‌کند.

آخرین به‌روزرسانی: ۲۸ مهر ۱۴۰۵ · زمان مطالعه: حدود 3 دقیقه · سطح: کاربردی

در این آموزش چه یاد می‌گیرید؟
  • نصب و تنظیم Fail2ban برای جلوگیری از حمله رمز عبور
  • بسته fail2ban را نصب کنید
  • وضعیت bantها را بررسی کنید

چرا این موضوع مهم است؟

موضوع Security یکی از پایه‌های نگهداری سرور است. رعایت آن باعث پایداری بیشتر، کاهش ریسک امنیتی و صرفه‌جویی در زمان پشتیبانی می‌شود.

اگر تازه سرور خریده‌اید، این آموزش نقطه شروع خوبی برای آشنایی با سرویس و جلوگیری از خطاهای رایج است.

پیش‌نیازها

  • دسترسی SSH با کاربر root یا کاربر دارای sudo
  • Ubuntu 22.04/24.04 یا Debian 12 (سازگاری با توزیع‌های مشابه)
  • نسخه پشتیبان از فایل‌ها و دیتابیس‌های مهم

راهنمای گام‌به‌گام

گام 1 — بسته fail2ban را نصب کنید

بسته fail2ban را نصب کنید. پس از اجرا، وضعیت سرویس و لاگ‌ها را کنترل کنید؛ تغییر بدون بررسی می‌تواند خطای پنهان ایجاد کند.

گام 2 — فایل jail.local را از نمونه بسازید

فایل jail.local را از نمونه بسازید. اگر روی چند سرور کار می‌کنید، این مورد را یک‌بار روی محیط تست اجرا و سپس روی تولید اعمال کنید.

گام 3 — بخش sshd را فعال کنید

بخش sshd را فعال کنید. مقدارهای نمونه را با اطلاعات واقعی سرور خود جایگزین کنید و از اجرای دستور با مقادیر پیش‌فرض پرهیز کنید.

گام 4 — مقدار maxretry و bantime را تنظیم کنید

مقدار maxretry و bantime را تنظیم کنید. برای اطمینان، نتیجه را از یک مسیر دوم (مرورگر، کلاینت یا ابزار مانیتورینگ) هم بررسی کنید.

گام 5 — سرویس را فعال و ری‌استارت کنید

سرویس را فعال و ری‌استارت کنید. این کار را در بازه کم‌ترافیک انجام دهید و در صورت نیاز کاربران را از قبل مطلع کنید.

گام 6 — وضعیت bantها را بررسی کنید

وضعیت bantها را بررسی کنید. این مرحله را با دقت انجام دهید و خروجی دستور را بررسی کنید تا از اعمال درست تغییرات مطمئن شوید.

نمودار مراحل نصب و تنظیم Fail2ban برای جلوگیری از حمله رمز عبور
شش گام اصلی این آموزش در یک نگاه

نمونه دستورها

نمونه دستورهای نصب و تنظیم Fail2ban برای جلوگیری از حمله رمز عبور
دستورهای پیشنهادی؛ مقادیر نمونه را با اطلاعات سرور خود جایگزین کنید.
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

نکات امنیتی و بهینه‌سازی

  • رمزها و کلیدها را در فایل‌های محافظت‌شده نگه دارید و هرگز در کد یا مخزن عمومی قرار ندهید.
  • لاگ‌ها را پایش کنید تا رفتار غیرعادی زودتر شناسایی شود.
  • تغییرات را مستند کنید تا در آینده یا هنگام تحویل به تیم دیگر قابل پیگیری باشد.

خطاهای رایج و راه‌حل

  • خطای Permission denied معمولاً به مالکیت یا مجوز فایل مربوط است؛ chmod -R 777 راه‌حل نیست.
  • قبل از بازگردانی بکاپ، مطمئن شوید نسخه بکاپ با نسخه فعلی سازگار است.
  • خطای Permission denied معمولاً به مالکیت یا مجوز فایل مربوط است؛ chmod -R 777 راه‌حل نیست.
نکته طلایی: قبل از سخت‌گیرانه کردن تنظیمات، IP مدیریتی خودتان را در ignoreip قرار دهید تا قفل نشوید.

سؤالات متداول

Fail2ban روی پنل وب هم کار می‌کند؟

بله، jail برای Nginx و پنل‌های مدیریتی وجود دارد و می‌توانید الگوی لاگ آن‌ها را اضافه کنید.

چطور یک IP را آزاد کنم؟

با fail2ban-client set sshd unbanip IP.

سرور مناسب نیازتان را انتخاب کنید

میلاد سرور پلن‌های اقتصادی سرور مجازی ایران و سرور مجازی آلمان را با آی‌پی اختصاصی و قیمت شفاف ارائه می‌کند. برای مقایسه همه کشورها فهرست کامل سرورهای بین‌الملل را ببینید.

جمع‌بندی

گام بعدی پیشنهادی: یک برنامه بکاپ خودکار و مانیتورینگ آپتایم برای همین سرویس راه‌اندازی کنید.

این آموزش برای شما مفید بود؟نظر شما به بهتر شدن آموزش‌ها کمک می‌کند.
اشتراک‌گذاری:تلگرامواتساپX