مكافحة هجمات ssh brute force باستخدام fail2ban

لا شك أنّ هجمات تشكّل ازعاج لمدير الشبكة أو الموقع. هناك عدّة برامج تساعد في عملية التّصدي لهذه الهجمات ولكن من أفضل هذه البرامج وأسهلها في التعامل هو fail2ban.

لنشمّر عن سواعدنا نبدأ بعمليّة تنصيب وتجهيز البرنامج:

تنصيب برنامج fail2ban

apt-get install fail2ban

هذا سيقوم بتنصيب الحزمة

موقع ملفات التعريف الخاصّة بالحزمة موجودة في
/etc/fail2ban

عند عمل عرض للملفات نلاحظ وجود الملفات التالية
$ls
action.d fail2ban.conf filter.d jail.conf jail.local

الملف الذي سوف نتعامل معه من أجل عمل تخصيص في عمل البرنامج هو

jail.local

هذه مقاطع من الملف

[DEFAULT]

هنا القسم الافتراضي
# "ignoreip" can be an IP address, a CIDR mask or a DNS host
الخاصّية التالية هي من أجل العناوين التي سيتم استثناؤها من قبل البرنامج
ignoreip = 127.0.0.1
هنا مدّة الحظر على العناوين التي قامت بالمخالفة
bantime = 86400
هنا عدد مرّات السّماح لعنوان بالفشل في ادخال كلمة المرور
maxretry = 3

هنا القسم الخاص بال SSH
[ssh]
لتفعيل القسم
enabled = true
المنفذ
port = ssh
filter = sshd

مكان السّجلات التي سيقوم البرنامج بمراقبتها
logpath = /var/log/auth.log
عدد مرات تكرار المحاولة
maxretry = 2

هنا القسم الخاص بالاباتشي
#[apache]

#enabled = true
#port = http
#filter = apache-auth
#logpath = /var/log/apache*/*error.log
#maxretry = 5

نلاحظ من خلال المقاطع أعلاه أن التعامل مع البرنامج سهل للغاية كذلك نلاحظ أنّ البرنامج يمكن استخدامه ليس فقط من أجل سسش بل يمكن استخدامه أيضاً من اجل خدمات أخرى مثل الاباتشي أو برامج نقل الملفات.

كيف يعمل البرنامج؟

من خلال مراقبة السّجلّات يقوم بالبرنامج بقراءة المقاطع المتعلقة بفشل عملية تسجيل دخول مثلاً إذا بلغ عدد مرات الفشل في فترة زمنية قصيرة العدد المسموح به سيتم إنشاء قاعدة ابي تابلز تحظر اتصال ذلك العنوان بالخادم لاي خدمة للمدّة المعيّنة في الملف.

لنفرض السيناريو التالي:
لديك 3 عناوين 2 في العمل والآخر في المنزل وتريد السماح لهذه العناوين بالاستمرار بالمحاولة حتى لو تم تجاوز عدد المرات المسموح بها كل المطلوب هو أن تقوم بإضافة هذه العناوين للملف
jail.local

كالآتي
ignoreip = 127.0.0.1 1.1.1.1 2.2.2.2 3.3.3.3

وهكذا نكون جاهزين للبدء في استخدام البرنامج

الآن لبدء البرنامج – الخدمة نقوم بتنفيذ الأمر التالي:
/etc/init.d/fail2ban start

ملاحظة: لا تقم أبداً بتعديل الملف jail.conf وسبب ذلك كما هو مذكور في بداية الملف حتى تتجنّب عملية الدمج خلال الترقية.

Post to Delicious Post to Digg Post to Reddit Post to StumbleUpon

هذه التدوينة كُتبت ضمن التصنيف أمن معلومات, إدارة مواقع, لينكس. الأوسمة: , , , . أضف الرابط الدائم إلى المفضّلة.

3 تعليقات على: مكافحة هجمات ssh brute force باستخدام fail2ban

  1. تنبيه: خطوات عمليّة للتّصدّي لهجمات كسر كلمات مرور SSH

  2. أبو عابد كتب:

    ألا تعتقد أن port knocking يفي بالغرض تماماً ويحمي الشبكة من botnet الموجّه للـ SSH ؟

  3. باحث كتب:

    بالتأكيد ال port knocking مفيد في مكافحة هجمات brute force الموجّهة ضدّ ال ssh . ففي حالة وجوده خدمة ال ssh لا تحتاج إلى صرف أي جهد في عملية التّصدي لهذه الهجمات لأن TCP stack سوف يفي بالغرض. إلّا في حالة معرفة المهاجم إلى سلسلة الطرقات الصحيحة.

    لكن الاعتماد على port knocking وحده فكرة قد تشكّل خطورة لأنها تخالف مبدأ الدفاع بعمق. هذا المبدأ أساسي في أمن المعلومات يقوم به المدافع بوضع أكثر من حماية للمصادر لديه بحيث لو سقطت حماية استلمت حماية أخرى مسؤولية الدّفاع وهكذا.

    طبعاً خبير ال Port Knocking هو أخي العزيز أبو محمد b!n@ry وهو ما شاء الله بحر في هذا الموضوع وإن شاء الله يسمح وقته بالمرور على المدوّنة ومشاركتنا رأيه.

أضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

*

يمكنك استخدام أكواد HTML والخصائص التالية: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>