خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش نصب و راه اندازی Fail2ban در CentOS 8

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

سیستم یکپارچۀ سازمانی راهکار
Fail2ban یک ابزار منبع باز است که با نظارت بر گزارش‌های خدمات از نظر فعالیت مخرب، به محافظت از دستگاه لینوکس شما در برابر حملات brute-force و سایر حملات خودکار کمک می‌کند. از regular expression ها برای اسکن لاگ فایل ها استفاده می کند. تمام ورودی های مطابق با الگوها، شمارش می شوند و زمانی که تعداد آنها به آستانه از پیش تعریف شده خاصی رسید، Fail2ban IP متخلف را برای مدت زمان مشخصی ban و بلاک می کند. هنگامی که این مدت زمان مشخص به پایانش رسید، IP از لیست خارج می شود.


این مقاله نحوه نصب و پیکربندی Fail2ban را در CentOS 8 توضیح می دهد.

Installing Fail2ban on CentOS

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

sudo dnf install fail2ban

وقتی نصب 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 با دو فایل پیکربندی، /etc/fail2ban/jail.conf و /etc/fail2ban/jail.d/00-firewalld.conf همراه است. این فایل ها نباید تغییر داده شوند چرا که احتمال دارد هنگام بروز رسانی پکیج، Overwrite شوند. Fail2ban فایل های پیکربندی را به ترتیب زیر می خواند:

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

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

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

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

sudo nano /etc/fail2ban/jail.local

فایل شامل comment هایی است که هر یک از گزینه های پیکربندی را توصیف می کند. در این مثال، تنظیمات اولیه را تغییر خواهیم داد.
IP address ها، محدوده IP Address ها یا هاست هایی که می خواهید از ممنوعیت یا Ban بودن حذف شوند را می توان به دستورالعمل ignoreip اضافه کرد. در اینجا باید IP سیستم لوکال خود و سایر دستگاه هایی را که می خواهید در لیست سفید قرار دهید، اضافه کنید. خطی که با ignoreip شروع می‌شود را از حالت comment خارج کنید(علامت # قبل از آن را پاک کنید) و IP های خود را با فاصله از هم جدا کنید:

آموزش نصب و راه اندازی Fail2ban در CentOS 8
مقادیر گزینه‌های bantime، findtime و maxretry زمان و شرایط بلاک بودن را تعریف می‌کنند. bantime مدت زمانی است که IP بلاک یا ban است. هنگامی که هیچ پسوندی مشخص نمی شود، به طور پیش فرض روی ثانیه تنظیم می شود. به طور پیش فرض، مقدار bantime روی 10 دقیقه تنظیم شده است. اما به طور کلی، اکثر کاربران می خواهند مدت زمان Ban را بیشتر کنند. مثلا در شکل زیر از d که نماد روز است استفاده شده و مقدار آن 1 روز است. مقدار را به مقدار دلخوه تان تغییر دهید.

bantime  = 1d

آموزش نصب و راه اندازی Fail2ban در CentOS 8
برای بلاک کردن دائمی IP، از یک عدد منفی استفاده کنید. Findtime مدت زمان بین تعداد failure ها قبل از تعیین بلاک شدن است. به عنوان مثال، اگر Fail2ban تنظیم شده باشد که یک IP را پس از پنج بار fail شدن بلاک کند (maxretry، در زیر ببینید)، این fail ها باید در مدت زمان Findtime رخ دهند.

آموزش نصب و راه اندازی Fail2ban در CentOS 8
maxretry تعداد fail ها ها قبل از بلاک شدن IP است. مقدار پیش فرض روی پنج تنظیم شده است که مقدار مناسبی است.

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

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

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

آموزش نصب و راه اندازی Fail2ban در CentOS 8
فیلترها در فولدر etc/fail2ban/filter.d قرار دارند و در فایلی با همان نام jail ذخیره می شوند. اگر تنظیمات سفارشی و تجربه با regular expression را دارید، می توانید فیلترها را به خوبی تنظیم کنید. هر بار که فایل پیکربندی ویرایش می شود، سرویس Fail2ban باید ریستارت شود تا تغییرات اعمال شوند:

sudo systemctl restart fail2ban

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

fail2ban-client -h

از این ابزار می‌توان برای ban کردن/ unbanکردن IP ها، تغییر تنظیمات، ریستارت سرویس و موارد دیگر استفاده کرد. مثلا:
برای بررسی کردن وضعیت jail:

sudo fail2ban-client status sshd

برای Unban کردن یک IP:

sudo fail2ban-client set sshd unbanip 23.34.45.56

Ban کردن یک IP:

sudo fail2ban-client set sshd banip 23.34.45.56

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز