كيفية تثبيت Fail2ban على Rocky Linux و AlmaLinux

كتبت في بايثون, Fail2ban هو برنامج مجاني ومفتوح المصدر نظام منع الاختراق (IPS) الذي يحمي الخادم من هجمات القوة الغاشمة.

بعد عدد محدد من محاولات كلمة المرور غير الصحيحة ، يتم حظر عنوان IP الخاص بالعميل من الوصول إلى النظام لفترة محددة أو حتى يقوم مسؤول النظام بإلغاء حظره. بهذه الطريقة ، يتم حماية النظام من هجمات القوة الغاشمة المتكررة من مضيف واحد.

[ قد يعجبك ايضا: كيفية تأمين خادم OpenSSH وتثبيته ]

Fail2ban قابل للتكوين بدرجة كبيرة ويمكن إعداده لتأمين عدد لا يحصى من الخدمات مثل SSH, vsftpd, اباتشي، و ويب مين.

في هذا الدليل ، نركز على كيفية التثبيت والتهيئة Fail2ban تشغيل روكي لينكس و الما لينكس.

الخطوة 1: تأكد من تشغيل جدار الحماية

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

بدء جدار الحماية $ sudo systemctl. 

ثم قم بتمكينه للبدء في وقت التمهيد:

sudo systemctl يقوم بتمكين جدار الحماية. 

ثم تحقق من حالة جدار الحماية

$ sudo systemctl status جدار الحماية. 
تحقق من حالة جدار الحماية
تحقق من حالة جدار الحماية

بالإضافة إلى ذلك ، يمكنك تأكيد كل ملفات جدار الحماية القواعد التي يتم فرضها حاليًا باستخدام الأمر:

sudo firewall-cmd - قائمة الكل. 
سرد قواعد جدار الحماية
سرد قواعد جدار الحماية

الخطوة الثانية: قم بتثبيت EPEL في Rocky Linux

كشرط لتركيب fail2ban والحزم الأخرى المطلوبة ، فأنت بحاجة إلى تثبيت ملف EPEL الذي يوفر حزمًا إضافية عالية الجودة لـ التوزيعات القائمة على RHEL.

sudo dnf تثبيت الإصدار epel. 
قم بتثبيت EPEL في Rocky Linux
قم بتثبيت EPEL في Rocky Linux

الخطوة الثالثة: قم بتثبيت Fail2ban في Rocky Linux

مع EPEL مثبت والمتابعة والتثبيت fail2ban و ال fail2ban-firewalld صفقة.

تثبيت $ sudo dnf fail2ban fail2ban-firewalld. 

يؤدي هذا إلى تثبيت خادم fail2ban ومكوّن جدار الحماية مع التبعيات الأخرى.

قم بتثبيت Fail2ban في Rocky Linux
قم بتثبيت Fail2ban في Rocky Linux

بعد اكتمال تثبيت fail2ban ، ابدأ تشغيل خدمة fail2ban.

sudo systemctl ابدأ fail2ban. 

وتمكينه من البدء في وقت التمهيد.

sudo systemctl $ قم بتمكين fail2ban. 

يمكنك التحقق من حالة خدمة fail2ban عن طريق تشغيل الأمر:

sudo systemctl status fail2ban. 

الناتج هو تأكيد على أن Fail2ban يعمل كما نتوقع.

تحقق من حالة Fail2ban
تحقق من حالة Fail2ban

الخطوة 4: ضبط Fail2ban في Rocky Linux

عند المضي قدمًا ، نحتاج إلى تكوين fail2ban حتى يعمل على النحو المنشود. من الناحية المثالية ، سنقوم بتحرير ملف التكوين الرئيسي - /etc/fail2ban/jail.conf. ومع ذلك ، هذا محبط. كحل بديل ، سيتم نسخ محتويات ملف التكوين jail.conf إلى السجن ملف.

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local. 

الآن ، افتح ملف السجن ملف باستخدام المحرر المفضل لديك.

sudo vim /etc/fail2ban/jail.local $. 

تحت [إفتراضي] ، تأكد من أن لديك الإعدادات التالية كما تظهر.

بان تايم = 1 ساعة. findtime = 1h. ماكسريتري = 5. 

دعونا نحدد السمات:

  • ال بانتيم التوجيه يحدد المدة الزمنية التي سيتم فيها حظر العميل بعد محاولات المصادقة الفاشلة.
  • ال اوجد وقت التوجيه هو المدة أو الفترة التي سيأخذها fail2ban في الاعتبار عند التفكير في تكرار محاولات كلمة المرور غير الصحيحة.
  • ال ماكسريتري المعلمة هي الحد الأقصى لعدد محاولات إدخال كلمة المرور غير الصحيحة قبل حظر العميل البعيد من الوصول إلى الخادم. هنا ، سيتم إغلاق العميل بعد 5 حالات فشل في المصادقة.

بشكل افتراضي ، يعمل fail2ban مع iptables. ومع ذلك ، فقد تم إهمال هذا لصالح جدار الحماية د. نحتاج إلى ضبط fail2ban للعمل جنبًا إلى جنب مع جدار الحماية بدلاً من iptables.

لذلك ، قم بتشغيل الأمر:

sudo mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local. 

لتطبيق التغييرات ، أعد تشغيل fail2ban:

أعد تشغيل sudo systemctl $ fail2ban. 

الخطوة 5: تأمين خدمة SSH باستخدام Fail2ban

بشكل افتراضي ، لا يحظر fail2ban أي مضيف بعيد حتى تقوم بتمكين تكوين jail لخدمة ترغب في تأمينها. تم تحديد تكوين السجن في ملف /etc/fail2ban/jail.d المسار وسوف يتجاوز التكوين المحدد في ملف jail.local.

في هذا المثال ، سننشئ ملف تكوين السجن لحماية خدمة SSH. لذلك ، قم بإنشاء ملف SSH jail.

sudo vim /etc/fail2ban/jail.d/sshd.local. 

بعد ذلك ، الصق الأسطر التالية:

[sshd] ممكّن = صحيح # تجاوز التكوين العام الافتراضي. # لسجن محدد sshd. بان تايم = 1 د. ماكسريتري = 3.

في التكوين أعلاه ، سيتم منع المضيف البعيد من الوصول إلى النظام لمدة يوم واحد بعد 3 محاولات تسجيل دخول فاشلة عبر SSH. احفظ التغييرات وأعد تشغيل خدمة fail2ban.

أعد تشغيل sudo systemctl $ fail2ban. 

بعد ذلك ، تحقق من حالة تكوين السجن باستخدام ملف fail2ban- العميل أداة سطر الأوامر.

sudo fail2ban-client status $. 

من الناتج ، يمكننا أن نرى أن لدينا سجنًا واحدًا مهيأ لخدمة تسمى "sshd’.

تحقق من حالة سجن Fail2ban
تحقق من حالة سجن Fail2ban

بالإضافة إلى ذلك ، يمكنك تأكيد ماكسريتري قيمة سجن sshd باستخدام خيار get.

sudo fail2ban-client $ احصل على sshd maxretry 3. 

القيمة المطبوعة 3 يجب أن يتطابق مع ما حددته في ملف sshd.local ملف.

الخطوة 6: اختبار تكوين Fail2ban

بعد إعداد fail2ban وإنشاء ملف تكوين jail لخدمة SSH ، سنقوم بذلك إجراء تشغيل اختباري ومحاكاة 3 عمليات تسجيل دخول فاشلة من خلال تحديد كلمة مرور غير صحيحة لكل كلمة مرور مستعجل.

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

اختبار Fail2ban في Linux
اختبار Fail2ban في Linux

لجمع رؤى حول أنظمة العميل المحظورة تحقق من حالة السجن.

sudo fail2ban-client status sshd. 
تحقق من حالة كتلة Fail2ban
تحقق من حالة كتلة Fail2ban

لإلغاء حظر العميل أو إزالته من السجن ، قم بتنفيذ الأمر:

$ sudo fail2ban-client Unban 192.168.2.102. 

مرة أخرى ، تحقق من حالة السجن للتأكد من أن العميل غير مدرج في قائمة IP المحظورة.

sudo fail2ban-client status sshd. 
تحقق من Fail2ban Block List
تحقق من Fail2ban Block List

كما رأينا، Fail2ban هي أداة مفيدة للغاية في درء المتسللين الذين يسعون إلى اختراق نظام Linux الخاص بك. إنه يعمل جنبًا إلى جنب مع Firewalld لحظر أنظمة العملاء لمدة محددة بعد عدد محدد من محاولات تسجيل الدخول الفاشلة. عند القيام بذلك ، فإنه يوفر طبقة إضافية من الحماية لخادم Linux الخاص بك.

Teachs.ru