- مقدمه
- مراحل نصب و پیکربندی Fail2ban
- مرحله 1: نصب Fail2ban
- مرحله 2: راهاندازی Fail2ban
- مرحله 3: پیکربندی Fail2ban
- مرحله 4: تنظیمات مربوط به SSH
- مرحله 5: راهاندازی مجدد Fail2ban
- مرحله 6: بررسی وضعیت Fail2ban
- مرحله 7: مستند سازی و نظارت
- نتیجهگیری
مقدمه
Fail2ban یک ابزار ایمنسازی است که به طور خودکار آدرسهای IP را که از تلاشهای غیرمجاز برای دسترسی به سیستم استفاده میکنند، مسدود میکند. این ابزار به ویژه برای جلوگیری از حملات Brute Force به کار میرود و میتواند با نظارت بر لاگهای مختلف، در صورتی که تعداد مشخصی تلاش ناموفق برای ورود به سیستم در یک بازه زمانی مشخص ثبت شود، آدرس IP را بلاک کند. این مقاله به تشریح نحوه نصب و پیکربندی کامل Fail2ban به منظور جلوگیری از حملات Brute Force میپردازد.
مراحل نصب و پیکربندی Fail2ban
مرحله 1: نصب Fail2ban
برای شروع، لازم است Fail2ban را بر روی سرور لینوکس خود نصب کنید. در اکثر توزیعها، این ابزار در مخازن موجود است و میتوانید با استفاده از سیستم مدیریت بسته، آن را نصب کنید. برای مثال، در توزیعهای مبتنی بر Debian یا Ubuntu از دستور زیر استفاده کنید:
sudo apt update
sudo apt install fail2ban
در توزیعهای مبتنی بر Red Hat یا CentOS، میتوانید از دستور زیر استفاده کنید:
sudo yum install epel-release
sudo yum install fail2ban
مرحله 2: راهاندازی Fail2ban
پس از نصب، باید سرویس Fail2ban را فعال و راهاندازی کنید. با استفاده از دستورات زیر میتوانید این کار را انجام دهید:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
با این دستورات، سرویس هر بار که سیستم راهاندازی میشود، به طور خودکار فعال خواهد شد.
مرحله 3: پیکربندی Fail2ban
Fail2ban از فایلهای پیکربندی استفاده میکند که در دایرکتوری /etc/fail2ban/ قرار دارند. برای پیکربندی Fail2ban، ابتدا باید فایل پیشفرض را کپی کرده و تغییرات خود را در آن اعمال کنید:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
فایل jail.local حاوی تنظیمات پیکربندی است و میتوانید آن را با ویرایشگر دلخواه باز کنید:
sudo nano /etc/fail2ban/jail.local
مرحله 4: تنظیمات مربوط به SSH
برای جلوگیری از حملات Brute Force بر روی SSH، باید تنظیمات مربوطه را در فایل پیکربندی اضافه کنید. به دنبال [sshd] بگردید و تنظیمات زیر را اضافه کنید:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 600
findtime = 600
در این تنظیمات، maxretry تعداد تلاشهای ناموفق برای ورود را تعیین میکند، bantime زمان مسدودسازی IP را به ثانیه مشخص میکند و findtime مدت زمانی که Fail2ban باید تلاشها را تحت نظر داشته باشد را مشخص میکند.
مرحله 5: راهاندازی مجدد Fail2ban
پس از اعمال تغییرات، سرویس Fail2ban را مجدداً راهاندازی نمایید تا تغییرات جدید بهکار گرفته شوند:
sudo systemctl restart fail2ban
مرحله 6: بررسی وضعیت Fail2ban
برای بررسی وضعیت و تأیید اینکه آیا Fail2ban به درستی کار میکند، میتوانید از دستور زیر استفاده کنید:
sudo fail2ban-client status
این دستور وضعیت کلی فیلترها و جگههای فعال را نمایش میدهد. همچنین میتوانید وضعیت جگههای خاصی مانند SSH را به صورت زیر مشاهده کنید:
sudo fail2ban-client status sshd
مرحله 7: مستند سازی و نظارت
برای نظارت بر فعالیتها و تغییرات Fail2ban، میتوانید لاگهای آن را بررسی کنید. فایل لاگ به طور پیشفرض در /var/log/fail2ban.log ذخیره میشود:
tail -f /var/log/fail2ban.log
این فرمان به شما اجازه میدهد تا فعالیتهای فعلی و اتفاقاتی که به دستورات IP مسدود شده مربوط میشود را مشاهده نمایید.
نتیجهگیری
در این مقاله، مراحل نصب و پیکربندی Fail2ban برای جلوگیری از حملات Brute Force به طور گامبهگام تشریح شد. بهطور خلاصه، مراحل اصلی شامل نصب Fail2ban، راهاندازی سرویس، پیکربندی فایلهای لازم، تنظیمات خاص برای SSH، و نظارت بر وضعیت و لاگها میباشد. پیادهسازی این ابزار به شما کمک میکند تا امنیت سرور خود را ارتقا داده و از حملات غیرمجاز محافظت کنید.
