كيفية تثبيت Fail2Ban لحماية SSH على CentOS / RHEL 8

Fail2ban هي أداة مجانية ومفتوحة المصدر ومستخدمة على نطاق واسع لمنع التطفل تقوم بمسح ملفات السجل بحثًا عن عناوين IP التي تظهر ضارة علامات مثل العديد من حالات فشل كلمات المرور ، وأكثر من ذلك بكثير ، ويتم حظرها (تحديث قواعد جدار الحماية لرفض IP عناوين). بشكل افتراضي ، يتم شحنه مع مرشحات لمختلف الخدمات بما في ذلك sshd.

اقرأ أيضا: الإعداد الأولي للخادم مع CentOS / RHEL 8

في هذه المقالة ، سنشرح كيفية التثبيت والتكوين fail2ban لتحمي SSH وتحسين SSH أمن الخادم ضد هجمات القوة الغاشمة على CentOS / RHEL 8.

تثبيت Fail2ban على CentOS / RHEL 8

ال fail2ban الحزمة ليست في المستودعات الرسمية ولكنها متوفرة في EPEL مخزن. بعد تسجيل الدخول إلى نظامك ، قم بالوصول إلى واجهة سطر الأوامر ، ثم قم بتمكين مستودع EPEL على نظامك كما هو موضح.

# dnf تثبيت الإصدار epel. أو. # dnf تثبيت https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm. 
قم بتثبيت EPEL Repo على CentOS و RHEL 8
قم بتثبيت EPEL Repo على CentOS و RHEL 8

بعد ذلك ، قم بتثبيت Fail2ban package عن طريق تشغيل الأمر التالي.

# dnf تثبيت fail2ban. 
قم بتثبيت Fail2ban في CentOS و RHEL 8
قم بتثبيت Fail2ban في CentOS و RHEL 8

تكوين Fail2ban لحماية SSH

ال fail2ban توجد ملفات التكوين في ملف /etc/fail2ban/ الدليل والمرشحات مخزنة في ملف /etc/fail2ban/filter.d/ الدليل (ملف المرشح لـ sshd هو /etc/fail2ban/filter.d/sshd.conf).

ملف التكوين العام لخادم fail2ban هو /etc/fail2ban/jail.confومع ذلك ، لا يوصى بتعديل هذا الملف مباشرةً ، حيث من المحتمل أن يتم الكتابة فوقه أو تحسينه في حالة ترقية الحزمة في المستقبل.

كبديل ، يوصى بإنشاء تكويناتك وإضافتها في ملف السجن ملف أو منفصل .conf الملفات الموجودة بامتداد /etc/fail2ban/jail.d/ الدليل. لاحظ أن معلمات التكوين المحددة في السجن سوف يتجاوز كل ما هو محدد في jail.conf.

بالنسبة لهذه المقالة ، سننشئ ملفًا منفصلاً يسمى السجن في ال /etc/fail2ban/ الدليل كما هو موضح.

# vi /etc/fail2ban/jail.local. 

بمجرد فتح الملف ، انسخ التكوين التالي والصقه فيه. ال [إفتراضي] يحتوي القسم على خيارات عالمية و [sshd] يحتوي على معلمات لسجن sshd.

[افتراضي] تجاهل = 192.168.56.2/24. bantime = 21600. findtime = 300. ماكسريتري = 3. banaction = iptables-multiport. الخلفية = تمكين systemd [sshd] = صحيح. 
تكوين Fail2ban
تكوين Fail2ban

دعونا نشرح بإيجاز الخيارات في التكوين أعلاه:

  • تجاهل: يحدد قائمة عناوين IP أو أسماء المضيف التي لا يجب حظرها.
  • بانتيم: حدد عدد الثواني التي تم حظر المضيف لها (أي مدة الحظر الفعالة).
  • ماكسريتري: يحدد عدد حالات الفشل قبل أن يتم حظر المضيف.
  • اوجد وقت: fail2ban سيحظر أي مضيف إذا كان قد أنشأ "ماكسريتري" خلال آخر "اوجد وقت"ثواني.
  • التملص: حظر العمل.
  • الخلفية: يحدد الواجهة الخلفية المستخدمة في تعديل ملف السجل.

وبالتالي ، فإن التكوين أعلاه يعني في حالة فشل عنوان IP 3 مرات في الماضي 5 دقائق ، حظره لمدة 6 ساعات ، وتجاهل عنوان IP 192.168.56.2.

بعد ذلك ، ابدأ وقم بتمكين fail2ban service في الوقت الحالي وتحقق مما إذا كانت تعمل باستخدام أمر systemctl التالي.

# systemctl ابدأ fail2ban. # systemctl تمكين fail2ban. # systemctl status fail2ban. 
ابدأ خدمة Fail2ban
ابدأ خدمة Fail2ban

مراقبة عنوان IP الفاشل والمحظور باستخدام fail2ban-client

بعد التكوين fail2ban ليؤمن sshd، يمكنك مراقبة عناوين IP الفاشلة والمحظورة باستخدام امتداد fail2ban- العميل. لعرض الحالة الحالية لخادم fail2ban ، قم بتشغيل الأمر التالي.

# fail2ban-client status. 
تحقق من حالة سجن Fail2ban
تحقق من حالة سجن Fail2ban

لمراقبة sshd السجن ، تشغيل.

# fail2ban-client status sshd. 
مراقبة عمليات تسجيل الدخول الفاشلة SSH باستخدام Fail2ban
مراقبة عمليات تسجيل الدخول الفاشلة SSH باستخدام Fail2ban

لإلغاء حظر عنوان IP في fail2ban (في جميع السجون وقاعدة البيانات) ، قم بتشغيل الأمر التالي.

# fail2ban-client Unan 192.168.56.1. 

لمزيد من المعلومات حول fail2ban ، اقرأ صفحات الدليل التالية.

# رجل سجن. # رجل fail2ban-client. 

هذا يلخص هذا الدليل! إذا كانت لديك أي أسئلة أو أفكار تريد مشاركتها حول هذا الموضوع ، فلا تتردد في التواصل معنا عبر نموذج التعليقات أدناه.

Teachs.ru