Fail2ban یک برنامه open source جهت پیشگیری از نفوذ است که به زبان Python نوشته شده است ، Fail2ban در دبیان راه اندازی میشود
Fail2ban با چک کردن لاگ فایل هایی نظیر var/log/pwdfail/ ، var/log/auth.log/ ، /var/log/secur و… که آیپی هایی که بیش از اندازه ورود ناموفق داشته باشند مسدود میکند
پیشنیازها
- سرور مجازی Debian 9 (Stretch) x64
- به عنوان root وارد سیستم شوید
- تمام پورت های استفاده نشده با IPTables مسدود شده باشند
مرحله اول: به روز رسانی سیستم
1 2 3 |
apt update && apt upgrade -y shutdown -r now |
مرحله دوم : پورت SSH را تغییردهید (اختیاری)
پیشنهاد: از آنجا که پورت SSH پورت محبوب22 است ولی بهتر است آن را به پورت 38752 تغییر دهید
1 2 3 |
sed -i "s/#Port 22/Port 38752/g" /etc/ssh/sshd_config systemctl restart sshd.service |
پس از تغییر ، شما باید قوانین IPTables را به روز کنید
1 2 3 4 |
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j DROP iptables -A INPUT -p tcp --dport 38752 -j ACCEPT |
با دستور زیر قوانین IPTables را ذخیره کنید
1 2 3 4 5 6 |
iptables-save > /etc/iptables.up.rules touch /etc/network/if-pre-up.d/iptables chmod +x /etc/network/if-pre-up.d/iptables echo '#!/bin/sh' >> /etc/network/if-pre-up.d/iptables echo '/sbin/iptables-restore < /etc/iptables.up.rules' >> /etc/network/if-pre-up.d/iptables |
به این ترتیب ، قوانین IPTables حتی پس از راه اندازی مجدد پایدار خواهند بود
بعد از این شما باید با پورت 38752 وارد شوید
مرحله3:برای محافظت از SSH، Fail2ban را نصب و پیکر بندی کنید
استفاده از apt برای نصب Fail2ban
1 2 |
apt install fail2ban -y |
پس از نصب سرویس Fail2ban به طور خودکار شروع خواهد شد.شما میتوانید از دستور زیر برای نشان داده وضعیت خود استفاده کنید
1 2 |
service fail2ban status |
در دبیان ، تنظیمات Fail2ban به طور پیش فرض در فایل /etc/fail2ban/jail.conf و همچین فایل /etc/fail2ban/jail.d/defaults-debian.conf ذخیره میشود.
نکته: به یاد داشته باشید که تنظیمات در فایل دوم ، تنظیمات مربوطه را در یکی از موارد قبلی لغو میکند.
برای مشاهده ی وضعیت از دستور زیر استفاده میکنیم
1 2 3 4 5 |
cat /etc/fail2ban/jail.conf | less cat /etc/fail2ban/jail.d/defaults-debian.conf fail2ban-client status fail2ban-client status sshd |
برای اطلاعات شما ، کدهایی درباره ی SSH در زیر ذکر شده است :
در آدرس:/etc/fail2ban/jail.conf
1 2 3 4 5 6 7 8 9 10 11 12 |
[DEFAULT] bantime = 600 ... maxentry = 5 [sshd] port = ssh logpath = %(sshd_log)s backend = %(sshd_backend)s |
در آدرس: /etc/fail2ban/jail.d/defaults-debian.conf
1 2 3 |
[sshd] enabled = true |
از آنجا که محتویات در دو فابل پیکربندی بالا ممکن است در بروزرسانی های سیستم تغییر کند یک فایل پیکربندی محلی برای ذخیره ی قوانین خود در Fail2ban ذخیره کنید .
1 2 |
vi etc/fail2ban/jail.d/jail-debian.local |
این دستوارت را دنبال کنید :
1 2 3 4 |
[sshd] port = 38752 maxentry = 3 |
نکته: مطمن شوید که پورت SSH شما فعال است . به غیر از تنظیمات بالا تمامی تنظیمات ذکر شده از مقادیر پیش فرض استفاده میکند
ذخیره کنید و سپس خارج شوید
1 2 |
:wq |
برای بارگذاری تنظیمات جدید سرویس Fail2ban را با دستورزیر راه اندازی کنید
1 2 |
service fail2ban restart |
راه اندازی کامل شده.
پس از این هر دستگاه بیش از 3 بار اعتبارسنجی SSH را نادرست ارسال کند آیپی اسن دستگاه به مدت600 ثانیه ممنوع خواهد شد.
منبع: دانشنامه پارس وی دی اس
سایت پارس وی دی اس ارائه دهنده ی سرویس های هاست و سرور مجازی
در صورت خرید سرور مجازی از پارس وی دی اس نصب Fail2ban
به صورت رایگان برایشما انجام میشود
برای خرید سرور مجازی ایران از صفحه ی ما دیدن کنید
امنیت ، سرعت ، پشتیبانی
همه یکجا در سرویس های پارس وی دی اس
بهترین را از ما بخواهید
مشاهده سرویس ها

مطالب مرتبط