Fail2ban یک برنامه open source جهت پیشگیری از نفوذ است که به زبان Python نوشته شده است ، Fail2ban در دبیان راه اندازی میشود
Fail2ban با چک کردن لاگ فایل هایی نظیر var/log/pwdfail/ ، var/log/auth.log/ ، /var/log/secur و… که آیپی هایی که بیش از اندازه ورود ناموفق داشته باشند مسدود میکند
پیشنیازها
- سرور مجازی Debian 9 (Stretch) x64
- به عنوان root وارد سیستم شوید
- تمام پورت های استفاده نشده با IPTables مسدود شده باشند
مرحله اول: به روز رسانی سیستم
apt update && apt upgrade -y
shutdown -r now
بعد از بالا آمدن سیستم به عنوان root وارد شوید
مرحله دوم : پورت SSH را تغییردهید (اختیاری)
پیشنهاد: از آنجا که پورت SSH پورت محبوب22 است ولی بهتر است آن را به پورت 38752 تغییر دهید
sed -i "s/#Port 22/Port 38752/g" /etc/ssh/sshd_config
systemctl restart sshd.service
پس از تغییر ، شما باید قوانین IPTables را به روز کنید
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 را ذخیره کنید
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
apt install fail2ban -y
پس از نصب سرویس Fail2ban به طور خودکار شروع خواهد شد.شما میتوانید از دستور زیر برای نشان داده وضعیت خود استفاده کنید
service fail2ban status
در دبیان ، تنظیمات Fail2ban به طور پیش فرض در فایل /etc/fail2ban/jail.conf و همچین فایل /etc/fail2ban/jail.d/defaults-debian.conf ذخیره میشود.
نکته: به یاد داشته باشید که تنظیمات در فایل دوم ، تنظیمات مربوطه را در یکی از موارد قبلی لغو میکند.
برای مشاهده ی وضعیت از دستور زیر استفاده میکنیم
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
[DEFAULT]
bantime = 600
...
maxentry = 5
[sshd]
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
در آدرس: /etc/fail2ban/jail.d/defaults-debian.conf
[sshd]
enabled = true
از آنجا که محتویات در دو فابل پیکربندی بالا ممکن است در بروزرسانی های سیستم تغییر کند یک فایل پیکربندی محلی برای ذخیره ی قوانین خود در Fail2ban ذخیره کنید .
vi etc/fail2ban/jail.d/jail-debian.local
این دستوارت را دنبال کنید :
[sshd]
port = 38752
maxentry = 3
نکته: مطمن شوید که پورت SSH شما فعال است . به غیر از تنظیمات بالا تمامی تنظیمات ذکر شده از مقادیر پیش فرض استفاده میکند
ذخیره کنید و سپس خارج شوید
:wq
برای بارگذاری تنظیمات جدید سرویس Fail2ban را با دستورزیر راه اندازی کنید
service fail2ban restart
راه اندازی کامل شده.
پس از این هر دستگاه بیش از 3 بار اعتبارسنجی SSH را نادرست ارسال کند آیپی اسن دستگاه به مدت600 ثانیه ممنوع خواهد شد.
منبع: دانشنامه پارس وی دی اس
سایت پارس وی دی اس ارائه دهنده ی سرویس های هاست و سرور مجازی
در صورت خرید سرور مجازی از پارس وی دی اس نصب Fail2ban
به صورت رایگان برایشما انجام میشود
برای خرید سرور مجازی ایران از صفحه ی ما دیدن کنید
امنیت ، سرعت ، پشتیبانی
همه یکجا در سرویس های پارس وی دی اس
بهترین را از ما بخواهید
مشاهده سرویس ها
مطالب مرتبط