راه اندازی Fail2Ban و محافظت Brute Force در سرور لینوکس
راهنمای حفاظت از ورودی های SSH، پنل و سرویس با سیستم ممنوعیت IP خودکار.
هر سرور لینوکس که روی اینترنت باز است، دائماً توسط رباتهای خودکار اسکن میشود. این ربات ها به خصوص سعی می کنند با روش آزمون و خطا وارد سرویس SSH شوند. این نوع حمله حمله خشونت آمیز نامیده می شود.
Fail2Ban تلاشهای ناموفق برای ورود به سیستم را از فایلهای گزارش ردیابی میکند. به طور خودکار آدرس های IP را که به اشتباه بیش از تعداد مشخص شده وارد می شوند ممنوع می کند. به این ترتیب، مهاجم نمی تواند رمز عبور را بارها و بارها روی همان IP امتحان کند.
1. Fail2Ban چه کاری انجام می دهد؟
- SSH حملات brute force را کاهش می دهد.
- آدرس های IP را که تعداد زیادی ورودی نادرست وارد می کنند ممنوع می کند.
- با نظارت بر گزارشهای سرور، اقدامی خودکار انجام میدهد.
- همراه با فایروال کار می کند تا ترافیک حمله را مسدود کند.
- همچنین می توان از آن برای پنل های سرور بازی، ورود به پنل وب و خدمات پستی استفاده کرد.
2. نصب Fail2Ban
در سیستم های مبتنی بر اوبونتو و دبیان:
apt update apt install fail2ban -y
در سیستمهای CentOS، AlmaLinux یا Rocky Linux:
yum install epel-release -y yum install fail2ban -y
برای راه اندازی سرویس و اجرای خودکار آن در هنگام راه اندازی:
systemctl enable fail2ban systemctl start fail2ban systemctl status fail2ban
3. فایل تنظیمات پیش فرض را کپی کنید
تنظیمات Fail2Ban به طور مستقیم jail.conf نباید در فایل ویرایش شود. زیرا ممکن است این فایل در به روز رسانی تغییر کند. در عوض زندان.محلی فایل ایجاد می شود.
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
سپس فایل را ویرایش کنید:
nano /etc/fail2ban/jail.local
4. فعال کردن SSH Protection
در پرونده [sshd] بخش را پیدا کرده و به صورت زیر ویرایش کنید:
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 5 findtime = 10m bantime = 1h
این تنظیم به این معنی است:
- maxretry = 5: اقدام پس از 5 ورودی اشتباه انجام می شود.
- زمان پیدا = 10 متر: تلاش ها در یک بازه 10 دقیقه ای شمارش می شوند.
- بان تایم = 1 ساعت: آدرس IP به مدت 1 ساعت ممنوع است.
5. ایمن کردن آدرس IP خودتان
اگر از IP ثابت استفاده می کنید، می توانید آدرس IP خود را از سیستم ممنوعیت حذف کنید.
ignoreip = 127.0.0.1/8 192.168.1.1 SUNUCUYA_BAGLANDIGINIZ_IP
اینجا IP که شما به سرور متصل هستید شما باید آدرس IP واقعی خود را در فیلد بنویسید.
6. راه اندازی مجدد سرویس Fail2Ban
systemctl restart fail2ban
برای بررسی وضعیت:
fail2ban-client status
برای مشاهده وضعیت زندان SSH:
fail2ban-client status sshd
7. مشاهده آدرس های IP ممنوعه
fail2ban-client status sshd
روی خروجی لیست IP ممنوعه آدرس های IP ممنوعه در فیلد ظاهر می شوند.
8. باز کردن آدرس IP به طور تصادفی ممنوع
اگر آدرس IP خودتان یا آدرس IP یک کاربر قابل اعتماد به اشتباه ممنوع شده است، می توانید با دستور زیر آن را حذف کنید:
fail2ban-client set sshd unbanip IP_ADRESI
اشتباهات رایج
- ویرایش مستقیم فایل jail.conf
- عدم اضافه کردن آدرس IP خود به قسمت ignoreip
- عدم تغییر تنظیمات پورت Fail2Ban حتی اگر پورت SSH تغییر کرده باشد
- اشتباه تایپ مسیر فایل لاگ
- فکر می کنم که Fail2Ban فعال است و وضعیت سرویس را بررسی نمی کند
سوالات متداول
آیا Fail2Ban به تنهایی امنیت کافی را فراهم می کند؟
خیر. Fail2Ban یک لایه حفاظتی مهم است، اما باید همراه با رمز عبور قوی، سیستم به روز، فایروال و پیکربندی صحیح سرویس استفاده شود.
آیا Fail2Ban از سرور بازی محافظت می کند؟
به طور مستقیم ترافیک بازی را تجزیه و تحلیل نمی کند. با این حال، میتواند از طریق SSH، پنل، سرویسهای وب و برخی گزارشهای ورود محافظت کند.
آیا می توانم مدت ممنوعیت را افزایش دهم؟
بله میتوانید مقدار bantime را روی دورههای طولانیتری مانند ۲۴ ساعت، ۷ روز به جای ۱ ساعت تنظیم کنید.
توصیه های امنیتی
- لاگین روت را خاموش کنید.
- از رمز عبور قوی و منحصر به فرد استفاده کنید.
- در صورت امکان با کلید SSH وارد شوید.
- به طور منظم لاگ های Fail2Ban را بررسی کنید.
- خدمات غیر ضروری را در اینترنت باز نگذارید.
این مقاله به طور ویژه برای PvPServer تهیه شده است.