در این مقاله آموزشی، نحوه نصب Fail2Ban را در CentOS 7 لینوکس یاد میگیرید. یکی از بهترین راه ها برای افزایش امنیت سرور CentOS 7 نصب این ابزار است.
هیچ سروری بطور کامل در برابر حملات ایمن نیست. بنابر این مجبوریم به منظور افزایش امنیت VPS خود، از برخی امکانات اضافی استفاده کنیم. این کار را میتوانیم با نصب Fail2Ban انجام دهید.
Fail2Ban چیست؟
Fail2Ban نرم افزاری است که از وب سرورهای مبتنی بر لینوکس در برابر حملات brute-force، DDoS و DOS محافظت می کند. این نرم افزار اقدامات امنیتی مفیدی را برای سرورهای لینوکسی CentOS فراهم می کند.
با نظارت بر گزارشهای سیستم و بن کردن هکر ها بر اساس چندین تلاش ناموفق برای ورود به سیستم کار میکند. هنگامی که دسترسی غیر مجاز شناسایی شد، Fail2Ban مستقیماً از iptable ها و فایروال برای مسدود کردن آدرس های IP آنها استفاده می کند.
قبل از شروع نصب، باید از طریق یک کلاینت SSH مانند PuTTY (در ویندوز) یا ترمینال (macOS و Linux) به سرور دسترسی روت داشته باشید.
آموزش نصب Fail2Ban روی لینوکس CentOS 7
برای نصب باید ۳ مرحله را طی کنیم:
- نصب مخزن EPEL (EPEL repository)
- کپی کردن فایل های پیکربندی
- کانفیگ و پیکربندی Fail2Ban
مرحله اول: نصب مخزن EPEL
ابتدا باید مخزن EPEL (بسته های اضافی برای لینوکس Enterprise) را دانلود کنید که شامل Fail2Ban برای CentOS 7 است. دستور زیر را اجرا کنید:
sudo yum install epel-release
پس از انجام این کار، می توانید Fail2Ban را با این دستور نصب کنید:
sudo yum install fail2ban
سپس سرویس را با تایپ این دستورات فعال و راه اندازی کنید:
sudo systemctl enable fail2ban sudo systemctl start fail2ban
مرحله دوم: کپی فایل های پیکربندی
پس از نصب در CentOS 7 باید فابل های پیکربندی را منتقل کنیم. فایل پیکربندی در /etc/fail2ban/jail.conf ذخیره می شود. اما ممکن است با آپدیت پکیج این فایل حذف شود. به همین دلیل است که به شدت پیشنهاد می کنیم محتوا را به یک فایل پیکربندی محلی به نام jail.local منتقل کنید. برای این کار از دستور cp استفاده می کنیم:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
اکنون می توانید تغییرات را در پیکربندی ایجاد کنید. هر مقداری که در jail.local تعریف کنید، مقداری را که قبلاً در jail.conf است لغو می کند.
مرحله سوم: کانفیگ و پیکربندی Fail2Ban
حال زمان آن است که فایل پیکربندی محلی را با استفاده از ویرایشگر متن nano کانفیگ کنید:
sudo nano /etc/fail2ban/jail.local
در این فایل، بخش DEFAULT را پیدا کنید. این بخش شامل تنظیمات جهانی است که سرویس اعمال خواهد شد:
- ignoreip – اگر میخواهید یک آدرس IP یا DNS برای شما محدود نباشد(بن نباشد) میتوانید روبروی ignoreip بنویسید. شما می توانید بیش از یک ورودی را با جدا کردن آنها با فاصله بنویسید.
- bantime – مدت زمانی که میخواهید یک میزبان به سرور شما دسترسی نداشته باشد. (ثانیه)
- findtime – محدودیت زمانی که در آن ورود باید انجام شود. اگر میزبان در این مدت (تعداد دفعات را در maxretry مشخص میکنیم) وارد سیستم نشود، بن خواهد شد.
- maxretry – حداکثر تعداد تلاش میزبان برای دسترسی به سرور.
شما می توانید مقادیر را بر اساس نیاز خود تغییر دهید. پس از انجام تغییرات، فایل پیکربندی را با میانبر CTRL+X ذخیره کنید.
برای اعمال تغییرات لازم است را مجددا راه اندازی کنید:
sudo systemctl restart fail2ban
اکنون روی سرور CentOS 7 شما راه اندازی و در حال اجراست. در استفاده از این سرویس چند نکته را در نظر بگیرید:
برای نظارت بر وضعیت Fail2Ban jails، می توانید از این دستور استفاده کنید:
sudo fail2ban-client status
برای بن کردن یک آدرس IP، به سادگی میتوانید از دستور زیر استفاده کنید:
sudo fail2ban-client set <jailname> unbanip <ipaddress>
به یاد داشته باشید که اطلاعات داخل براکت ها را با اطلاعات خود جایگزین کنید.
جمع بندی
نصب Fail2Ban امنیت سرور CentOS 7 شما را بهبود می بخشد. این ابزار به جلوگیری از نفوذ مهاجمین که سعی در دسترسی به سرور شما دارند کمک می کند.