نحوه نصب و پیکربندی Fail2ban در اوبونتو ۲۰٫۰۴

نحوه نصب و پیکربندی Fail2ban در اوبونتو ۲۰٫۰۴

زهرا عزتی

هر سيستمي كه با اينترنت سروكار داشته باشد در معرض حملاتي چون بدافزار ها و ويروس ها قرار خواهد گرفت. به عنوان مثال ، اگر شما در حال اجرای یک سرویس در یک شبکه عمومی هستید ، مهاجمان می توانند از تلاش های بی رحمانه برای ورود به حساب کاربری خود استفاده کنند.

Fail2ban ابزاری است که با نظارت بر گزارشها، سرویسها كه مربوط به فعالیتهای مخرب ، به محافظت از دستگاه لینوکس در برابر حملات بی رحمانه و سایر حملات خودکار کمک می کند. از اسناد عادی برای اسکن فايل های log استفاده می کند. تمام ورودی های مطابق با الگوها شمرده می شوند ، و هنگامی که تعداد آنها به یک آستانه از پیش تعریف شده خاص می رسد ، Fail2ban IP متخلف را با استفاده از Firewall سیستم برای مدت زمان مشخص ممنوع می کند. با پایان دوره ممنوعیت ، آدرس IP از لیست ممنوعیت حذف می شود. در این مقاله نحوه نصب و پیکربندی Fail2ban در اوبونتو ۲۰٫۰۴ توضیح داده شده است. با ما در شتابان هاست همراه باشيد

نصب Fail2ban در Ubuntu

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

sudo apt updatesudo apt install fail2ban

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

sudo systemctl status fail2ban

خروجی به شرح زیر خواهد بود:

● fail2ban.service - Fail2Ban Service
     Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-08-19 06:16:29 UTC; 27s ago
       Docs: man:fail2ban(1)
   Main PID: 1251 (f2b/server)
      Tasks: 5 (limit: 1079)
     Memory: 13.8M
     CGroup: /system.slice/fail2ban.service
             └─۱۲۵۱ /usr/bin/python3 /usr/bin/fail2ban-server -xf start

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

پیکربندی Fail2ban

نصب پیش فرض Fail2ban دارای دو فايل پیکربندی ، /etc/fail2ban/jail.conf و /etc/fail2ban/jail.d/defaults-debian.conf است. توصیه نمی شود این فایل ها را تغییر دهید زیرا ممکن است هنگام به روزرسانی بسته ، آنرا رونویسی کنید.

Fail2ban فايل های پیکربندی را به ترتیب زیر می خواند. تنظیمات را از فايل .conf نادیده گرفته است:

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

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

یک فايل پیکربندی محلی را از فايل پیش فرض jail.conf ایجاد کنید:

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

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

sudo cp /etc/fail2ban/jail.local

 

Whitelist آدرس های IP

آدرس های IP ، محدوده های IP یا هاست هایی که می خواهید از ممنوعیت آنها محروم شوید می توانید به دستورالعمل injoreip اضافه شوید. در اینجا باید آدرس IP محلی رایانه شخصی و سایر دستگاههای مورد نظر خود را در لیست سفید(Whitelist) اضافه کنید.

خط را با نادیده گرفتن خطایی لغو کنید و آدرسهای IP خود را که به وسیله فضا از هم جدا شده اند اضافه کنید:

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

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

مقادیر گزینه های bantime ، findtime و maxretry زمان تحریم و شرایط ممنوعیت را تعیین می کند.

bantime مدت زمانی است که IP ممنوع است. وقتی هیچ پسوند مشخص نشده باشد ، برای چند ثانیه بطور خودكار شده و مقدار bantime 10 دقیقه تنظیم می شود. به طور کلی ، اکثر کاربران می خواهند زمان ممنوعیت طولانی تر را تعیین کنند. مقدار را به دلخواه تغییر دهید:

bantime = 1d

برای ممنوعیت دائم IP از یک شماره منفی استفاده کنید.

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

findtime = 10m

قبل از ممنوعیت IP كه مخفف (Internet Protocol) بوده ،maxretry نشانگر تعداد خرابی ها است. مقدار پیش فرض روی پنج تنظیم شده است که باید برای اکثر کاربران خوب باشد.

maxretry = 5

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

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

action = %(action_mw)s

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

همچنین می توانید آدرس های ایمیل و ارسال و دریافت را تنظیم کنید:

destemail = admin@linuxize.com
sender = root@linuxize.com

Jail های Fail2ban

Fail2ban از مفهوم Jail استفاده می کند. Jail شامل فیلترها و اقدامات است. ورودی های log مطابق با الگوی جستجو شمارش می شوند و هنگامی که یک شرط از پیش تعریف شده برآورده شود ، اقدامات مربوطه انجام می شود.

ship های Fail2ban با تعدادی Jail برای خدمات مختلف ارسال می شوند. همچنین می توانید تنظیمات Jail خود را ایجاد کنید.

به طور پیش فرض فقط Jail ssh فعال می شود. برای فعال کردن یک Jail ، باید پس از عنوان enabled = true را اضافه کنید. مثال زیر نحوه فعال سازی Jail proftpd را نشان می دهد:

[proftpd]
port = ftp,ftp-data,ftps,ftps-data
logpath = %(proftpd_log)s
backend = %(proftpd_backend)s

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

[sshd]
enabled = true
maxretry = 3
findtime = 1d
bantime = 4w
ignoreip = 127.0.0.1/8 23.34.45.56

فیلترها در فهرست /etc/fail2ban/filter.d قرار دارند و در فايلي با همین نام در Jail ذخیره می شوند.

هر بار که یک فايل پیکربندی را ویرایش می کنید ، باید سرویس Fail2ban را مجدداً راه اندازی کنید تا تغییرات به مرحله اجرا در آید:

sudo systemctl restart fail2ban

كاربر Fail2ban

Fail2ban با یک ابزار خط فرمان به نام fail2ban-client ارسال می شود که می توانید برای تعامل با سرویس Fail2ban از آنها استفاده کنید.

برای مشاهده همه گزینه های موجود ، با استفاده از گزینه -h ازاین دستور استفاده کنید:

fail2ban-client -h

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

وضعیت Jail را بررسی کنید

sudo fail2ban-client status sshd

Unban IP:

sudo fail2ban-client set sshd unbanip 23.34.45.56

ممنوعيت IP:

sudo fail2ban-client set sshd banip 23.34.45.56

ما به شما نشان داده ایم که چگونه Fail2ban را در Ubuntu 20.04 نصب و پیکربندی کنید. ما را در شتابان هاست دنبال كنيد.