نحوه نصب و کانفیگ Fail2ban در CentOS 8

نحوه نصب و کانفیگ Fail2ban در CentOS 8

سعیده مهاجری

همه سرورهایی که از طریق اینترنت قابل دسترسی هستند در معرض حملات بدافزار هستند. به عنوان مثال ، اگر شما یک نرم افزار متصل به یک شبکه عمومی دارید ، حمله کنندگان می توانند از brute-force برای دسترسی به برنامه استفاده کنند. Fail2ban ابزاری اپن سورس است که با نظارت بر ثبت خدمات برایفعالیتهای مخرب ، به شما در محافظت از سیستم لینوکس در برابر brute-force و سایر حملات automated کمک می کند. از این اصطلاحات regular برای اسکن فایل های log استفاده می کند . تمام ورودی های مطابق با الگوها شمرده می شوند ، و هنگامی که تعداد آنها به یک آستانه از پیش تعیین شده خاص برسد ،Fail2ban IP متخلف را برای مدت زمان مشخصی ممنوع می کند. فایروال پیش فرض سیستم به عنوان یک اقدام ممنوع استفاده می شود. با پایان دوره ban ، آدرس IP از لیست ban حذف می شود.در این مقاله نحوه نصب و کانفیگ Fail2ban در CentOS 8 توضیح خواهیم داد.

نصب Fail2ban در CentOS :

Fail2ban package در مخازن پیش فرض CentOS 8 گنجانده شده است. برای نصب آن ، دستور زیر را به عنوان root یا user با sudo privileges وارد کنید:

sudo dnf install fail2ban

پس از تکمیل ، سرویس Fail2ban به طور خودکار شروع می شود. با بررسی دستور زیر می توانید آن را تأیید کنید:

sudo systemctl enable --now fail2ban

برای بررسی اینکه آیا سرور Fail2ban در حال اجرا است ، دستور زیر را اجزا کنید:

sudo systemctl status fail2ban
fail2ban.service - Fail2Ban Service
   Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-09-10 12:53:45 UTC; 8s ago

در این مرحله ، Fail2Ban را روی سرور CentOS خود اجرا کرده اید.

کانفیگ Fail2ban :

نصب پیش فرض Fail2ban با دو فایل کانفیگ، /etc/fail2ban/jail.conf و /etc/fail2ban/jail.d/00-firewalld.conf همراه است. این فایل ها نباید اصلاح شوند زیرا ممکن است هنگام به روزرسانی package ، مجدداً نسخه برداری شوند.Fail2ban قایل های کانفیگ را به ترتیب زیر می خواند:

/etc/fail2ban/jail.conf /etc/fail2ban/jail.d/*.conf /etc/fail2ban/jail.local /etc/fail2ban/jail.d/*.local

هر فایل local تنظیمات موجود در فایل conf را لغو می کند.ساده ترین راه برای کانفیگ Fail2ban کپی کردن jail.conf در jail.local و اصلاح فایل local است. کاربران پیشرفته تر می توانند یک فایل کانفیگ local را از ابتدا بسازند. در فایل local لازم نیست همه تنظیمات مربوط به فایل conf مربوطه باشد ، فقط کسانی که میخواهید آنها را لغو کنید.از فایل پیش فرض jail.conf یک فایل کانفیگ local ایجاد کنید:

sudo cp /etc/fail2ban/jail.{conf,local}

برای شروع کانفیگ سرور Fail2ban ، فایل jail.local را با ویرایشگر متن خود باز کنید:

sudo nano /etc/fail2ban/jail.local

این فایل شامل نظراتی است که هر گزینه کانفیگ را انجام می دهد. در این مثال ، تنظیمات اساسی را تغییر خواهیم داد.

آدرس های IP در لیست سفید :

آدرس های IP ، دامنه های IP یا hosts که می خواهید از ممنوع کردن آنها خارج کنید ، می توانند به بخشن نادیده گرفتن اضافه شوند . در اینجا باید آدرس local PC IP رایانه خود و سایر دستگاههایی را که می خواهید در لیست سفید قرار دهید را اضافه کنید. line را از حالت کامنت خارج کنید و آدرس های IP خود را که با فاصله جدا شده اند را اضافه کنید :

ignoreip = 127.0.0.1/8 ::1 123.123.123.123 192.168.1.0/24

تنظیمات ممنوعیت :

گزینه های bantime ، findtime و maxretry ، زمان ممنوعیت و شرایط ممنوعیت را تعیین می کند.bantime مدت زمانی است که IP برای آن ممنوع است . وقتی پسوند مشخص نشود ، به طور پیش فرض به ثانیه تبدیل می شود . به طور پیش فرض ، مقدار زمان باند ۱۰ دقیقه تنظیم شده است . بیشتر کاربران ترجیح می دهند زمان ممنوعیت بیشتری تنظیم کنند. مقدار را به دلخواه تغییر دهید :

bantime = 1d

برای ممنوعیت دائمی IP ، از یک عدد منفی استفاده کنید.findtime مدت زمانی است که بین تعداد خرابی ها قبل از تنظیم ممنوعیت تنظیم شده است. به عنوان مثال ، اگر Fail2ban قرار باشد که بعد از پنج خرابی IP را ممنوع کند ، این خرابی ها باید در مدت زمان پیدا کردن رخ دهند.

findtime = 10m

maxretry تعداد خرابی های قبل از ممنوعیت IP است. مقدار پیش فرض روی پنج تنظیم شده است که باید برای اکثر کاربران خوب باشد.

maxretry = 5

اعلان های ایمیل :

Fail2ban می تواند هشدارهای ایمیل را هنگام ممنوع شدن IP ارسال کند. برای دریافت پیام های ایمیل ، شما باید یک SMTP بر روی سرور خود نصب کرده و عملکرد پیش فرض را تغییر دهید ، که فقط IP را به٪ (action_mw) s ممنوع می کند ، همانطور که در زیر نشان داده شده است:

action = %(action_mw)s

٪ (action_mw) s IP بد افزار را ممنوع کرده و یک ایمیل با گزارش whois ارسال می کند. اگر می خواهید گزارش های مربوطه را در ایمیل وارد کنید ، عملکرد را روی٪ (action_mwl) s تنظیم کنید. همچنین می توانید آدرس های ایمیل ارسال و دریافت را تنظیم کنید:

destemail = admin@linuxize.com

sender = root@linuxize.com

Fail2ban Jails :

Fail2ban از مفهوم jail استفاده می کند. jail یک سرویس را توصیف می کند و شامل فیلترها و اقدامات است. ورودی ها مطابق با الگوی جستجو شمارش می شوند ، و هنگامی که یک شرط از پیش تعریف شده برآورده می شود ، اقدامات مربوطه اجرا می شوند.Fail2ban با تعداد زیادی jail برای خدمات مختلف حمل می شود.همچنین می توانید تنظیمات jail خود را ایجاد کنید.به طور پیش فرض ، در CentOS 8 ، هیچ jail فعال نیست. برای فعال کردن jail ، شما باید enabled = true را بعد از عنوان jail اضافه کنید. مثال زیر نحوه فعال کردن sshd jail را نشان می دهد:

[sshd]
enabled   = true
port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

تنظیماتی را که در بخش قبلی بحث کردیم ، می توان در هر jail تعیین کرد. به عنوان مثال:

/etc/fail2ban/jail.local
فیلترها در فهرست /etc/fail2ban/filter.d قرار دارند و در فایلی با همان نام jail ذخیره شده اند. اگر تنظیمات سفارشی و تجربه استفاده از عبارات منظم را دارید ، می توانید فیلترها را دقیق تنظیم کنید.هر بار که فایل کانفیگ اصلاح می شود ، برای اعمال تغییرات باید سرویس Fail2ban مجدداً راه اندازی شود:
sudo systemctl restart fail2ban

Fail2ban Client :

Fail2ban با یک ابزار command-line به نام fail2ban-client ارسال می شود که می توانید برای تعامل با سرویس Fail2ban از آن استفاده کنید. برای مشاهده همه گزینه های موجود در دستور fail2ban-client ، آن را با گزینه -h فراخوانی کنید:

fail2ban-client -h

این ابزار می تواند برای ممنوع کردن آدرس های IP ، تغییر تنظیمات ، راه اندازی مجدد سرویس و موارد دیگر استفاده شود. در اینجا چند نمونه هستند:

  • بررسی وضعیت jail :
sudo fail2ban-client status sshd
  • خاموش کردن IP:
sudo fail2ban-client set sshd unbanip 23.34.45.56
  • ممنوع کردن IP:
sudo fail2ban-client set sshd banip 23.34.45.56

جمع بندی :

ما به شما نحوه نصب و کانفیگ Fail2ban را در CentOS 8 نشان دادیم.

امیدواریم مطالب مورد پسند بوده باشد.

ما را در شتابان هاست همراهی کنید.

برچسب ها: دستورات لینوکس