نحوه نصب Fail2ban در Debian 10

نحوه نصب Fail2ban در Debian 10

سعیده مهاجری

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

نصب Fail2ban در دبیان :

بسته 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 2021-03-10 18:57:32 UTC; 47s ago

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

کانفیگ Fail2ban :

نصب پیش فرض Fail2ban دارای دو فایل کانفیگ ، /etc/fail2ban/jail.conf و /etc/fail2ban/jail.d/defaults-debian.conf است. شما نباید این فایل ها را تغییر دهید زیرا ممکن است هنگام به روزرسانی بسته ، رونویسی شوند. Fail2ban فایل های کانفیگ را به ترتیب زیر می خواند. هر فایل local تنظیمات موجود در فایل 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 را از ابتدا بسازند. فایل local نیازی به همه تنظیمات مربوط به فایل conf ندارد ، فقط مواردی را که می خواهید لغو کنید. با کپی کردن فایل پیش فرض jail.conf ، یک فایل کانفیگ local ایجاد کنید:

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 را پس از پنج شکست ممنوع کند ، این بدافزارها  باید در مدت findtime ، اتفاق بیفتد:

findtime = 10m

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

maxretry = 5

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

در صورت ممنوعیت IP ها ، Fail2ban می تواند هشدارهای ایمیل ارسال کند. برای دریافت ایمیل شما باید یک 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 از مفهوم jails استفاده می کند. به طور پیش فرض ، فقط ssh jail فعال است. برای فعال کردن jail ، باید enabled = true بعد از عنوان jails اضافه کنید. مثال زیر نحوه فعال کردن postfix jail را نشان می دهد:

[postfix]
enabled  = true
port     = smtp,ssmtp
filter   = postfix
logpath  = /var/log/mail.log

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

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

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

sudo systemctl restart fail2ban

Fail2ban Client :

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

fail2ban-client -h

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

  • موقعیت فعلی سرور را دریافت کنید:
sudo fail2ban-client status
  • وضعیت Jail را بررسی کنید:
sudo fail2ban-client status sshd
  • IP را آنبلاک کنید:
sudo fail2ban-client set sshd unbanip 11.22.33.44
  • IP را بلاک کنید:
sudo fail2ban-client set sshd banip 11.22.33.44

جمع بندی :

در این آموزش ما نحوه نصب Fail2ban در Debian 10 را به شما آموزش دادیم. برای اطلاعات بیشتر در مورد این موضوع ، به اسناد Fail2ban مراجعه کنید.

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

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