نماد سایت وبلاگ شتابان هاست

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

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

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

نصب Fail2ban در CentOS :

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

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 است. این فایل ها نباید اصلاح شوند زیرا ممکن است هنگام به روزرسانی بسته ، رونویسی شوند. Fail2ban فایل های کانفیگ را به ترتیب زیر می خواند:

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

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

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

sudo nano /etc/fail2ban/jail.local

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

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

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

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

تنظیمات Ban :

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

bantime = 1d

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

findtime = 10m

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

maxretry = 5

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

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

action = %(action_mw)s

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

destemail = admin@linuxize.com

sender = root@linuxize.com

Fail2ban Jails :

Fail2ban از مفهوم Jails استفاده می کند. Jails یک سرویس را توصیف می کند و شامل فیلترها و اقدامات است. ورودی های گزارش مطابق با الگوی جستجو شمارش می شوند و هنگامی که یک شرط از پیش تعیین شده برآورده شود ، اقدامات مربوطه اجرا می شوند. Fail2ban برای خدمات مختلف دارای تعدادی Jails است. همچنین می توانید تنظیمات Jails خود را ایجاد کنید. برای فعال کردن Jails باید enabled = true بعد از عنوان Jails اضافه کنید . مثال زیر نحوه فعال کردن 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 با یک ابزار خط فرمان به نام 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 به شما نشان دادیم. برای اطلاعات بیشتر در مورد کانفیگ Fail2ban ، به اسناد رسمی مراجعه کنید.

امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊

خروج از نسخه موبایل