نحوه بلاک کردن IPv6 یا آی پی ورژن شش در ابزار fail2ban سرور centos 7
به نام خدا
با عرض سلام در پست های قبلی در مورد بسته امنیتی fail2ban مقالاتی در این سایت منتشر شده است.
اگر شما در سطح اینترنت در مورد ضعف های fail2ban سرچ نمایید یکی از مهم ترین ضعف ها در مقالات منتشر شده این می باشد که از IPv6 یا همان آی پی ورژن شش پشتیبانی نمی کند در حالی که این بسته از نسخه v0.10 به بعد آی پی ورژن شش را نیز ساپورت می نماید!
در سیستم عامل centos 6 ، centos 7 و centos 8 اگر شما به صورت اتوماتیک این ابزار را نصب نمایید v0.9 نصب خواهد شد بنابر این IPv6 ساپورت نخواهد شد. اما طریقه حل این مشکل به این صورت است که شما آخرین ورژن fail2ban را به صورت دستی یا manual نصب نمایید که کار سخت و پیچیده ای نمی باشد در ادامه مطلب نحوه نصب آخرین ورژن fail2ban را به شما آموزش خواهیم داد.
ابتدا با دستور زیر سیستم عامل سنتوس خود را آپدیت نمایید.
1 |
sudo yum update |
*لازم است اگر قبلا fail2ban را نصب کرده اید آن را پاک نمایید!*
پیش نیاز های ضروری را با دستور زیر نصب نمایید البته معمولا به صورت پیشفرض در اکثر سرور های سنتوس این دو بسته نصب شده اند!
1 |
sudo yum install -y git python systemd-python |
با اجرای دستور زیر فایل های مورد نظر را از گیت هاب به سرور خود انتقال دهید
1 |
git clone https://github.com/fail2ban/fail2ban.git |
با دستور زیر وارد پوشه fail2ban شوید.
1 |
cd fail2ban |
با زدن دستور زیر fail2ban به صورت اتوماتیک در سیستم عامل شما نصب خواهد شد!
1 |
sudo python setup.py install |
با این دستور fail2ban خود را به صورت سرویس نصب نخواهد کرد پس لازم است با انجام دادن دو مرحله زیر fail2ban را به سیستم شناسایی نماییم.
1 |
cp files/redhat-initd <code>/etc/init.d/fail2ban</code></code> <code><code>cp build/fail2ban.service /etc/systemd/system/fail2ban.service</code></code> chmod 755 /etc/init.d/fail2ban |
برای اعمال تغییرات systemd را ریست نمایید.
1 |
systemctl daemon-reload |
با زدن دستورات زیر fail2ban را اجرا نمایید.
1 2 |
systemctl enable fail2ban systemctl start fail2ban</code> <code spellcheck="false">fail2ban-client version</code> <code spellcheck="false">fail2ban-client status |
دقت نمایید از این به بعد لازم است فایل های jail خودرا در مسیر /etc/fail2ban/jail.d/ ذخیره نمایید و backend را نیز تعریف نمایید برای فهم بیشتر به مثال زیر دقت نمایید.
1 |
vi /etc/fail2ban/jail.d/sshd.local |
شما با ویرایشگر vi فایل sshd.local را باز نموده اید لازم است در این ویرایشگر با فشردن دکمه i قفل اولیه ویرایشگر را باز نماییم.
نمونه دستور زیر را در ویرایشگر وارد نمایید.
1 2 |
[sshd] enabled = <code spellcheck="false">true</code> port = 0:65000 logpath = %(sshd_log)s maxretry = 1 bantime = 8640000 backend = auto |
تغییرات را ذخیره نمایید و خارج شوید اگر با نحوه انجام این کار آشنایی ندارید ابتدا کلید Esc صفحه کلید پس از آن با فشردن دکمه : که روی صفحه کلید فارسی حرف “ک” می باشد wq را وارد نمایید و خارج شوید.
اگر دقت نمایید در آخرین خط backend = auto تعریف شده است وجود این خط برای همه jail ها الزامی است.
پس از ساخت هر فایل jail با زدن دستور زیر fail2ban را ریست نمایید.
1 |
fail2ban-client restart |
امیدوارم همه مراحل بالا را به دقت انجام داده باشید با زدن آخرین دستور اگر به شما اخطار داد اخطار را پیگیری و در اینترنت سرچ نمایید البته قاعدتا نباید هیچ اخطاری بدهد!
خطای احتمالی می تواند پیدا نکردن logpath باشد مخصوصا در سیستم عامل های خانگی که به سرور متصل نیستند از این خط دستور استفاده نمایید. logpath = /var/log/secure مراحل نصب کامل می باشد در صورت هرگونه خطا فایل jail خودرا به دقت بررسی نمایید
جهت اطمینان دوباره دستور زیر را در ترمینال وارد نمایید.
1 |
fail2ban-client status |
اگر دریافتی شما مشابه دریافتی زیر است شما به درستی تمام مراحل کار را انجام داده اید!
1 2 3 |
Status |- Number of jail: 1 `- Jail list: sshd |