CrowdSec: منع التسلل بذكاء جماعي بديلاً عن fail2ban
CrowdSec يقرأ سجلّات سيرفرك، يكشف السلوك العدائي مثل تخمين كلمات المرور ومسح المسارات، ثم يحظره. الفرق عن fail2ban أنه يشارك سمعة العناوين عبر شبكة عالمية، فتحظر مهاجماً قبل أن يصلك.
CrowdSec أداة مفتوحة المصدر لمنع التسلل تقرأ سجلّات سيرفرك لحظياً، تتعرّف على أنماط السلوك العدائي مثل محاولات تخمين كلمة مرور SSH أو مسح مسارات موقعك بحثاً عن ثغرات، ثم تصدر قراراً بحظر العنوان المهاجم. حتى هنا تشبه fail2ban الكلاسيكية، لكن الفرق الجوهري أن CrowdSec يشارك سمعة العناوين العدائية عبر شبكة عالمية من آلاف المشاركين. حين يهاجم عنوان ما عشرات السيرفرات حول العالم، يدخل قائمة سمعة مشتركة، فيصلك حكمه المسبق وتحظره قبل أن يوجّه إليك محاولته الأولى. الجواب المباشر: CrowdSec يكشف ويحظر محلياً مثل fail2ban، لكنه يضيف طبقة استخبارات جماعية تحوّل تجربة كل ضحية إلى حماية للجميع، وهذا فرق حقيقي في مواجهة الهجمات الموزّعة التي تأتي من آلاف العناوين لتفلت من الحظر الفردي.
كيف يعمل CrowdSec: قراءة، قرار، تنفيذ
يفصل CrowdSec بين مرحلتين بذكاء. المحرّك يقرأ السجلّات (SSH, nginx, لوحة التحكم) ويطابقها مع "سيناريوهات" تصف السلوك العدائي، مثلاً أكثر من خمس محاولات دخول فاشلة في دقيقة، أو طلبات متتالية لمسارات معروفة بالثغرات. حين يتطابق سلوك مع سيناريو، يصدر المحرّك قراراً. المرحلة الثانية هي التنفيذ عبر مكوّن منفصل اسمه bouncer يطبّق القرار فعلياً: يحظر العنوان على مستوى الجدار الناري، أو يردّه من nginx، أو يعرض له تحدّي captcha. هذا الفصل بين الكشف والتنفيذ ذكي: تحدّث منطق الكشف دون لمس نقطة التنفيذ، وتضع عدة bouncers لطبقات مختلفة. هذه الحماية طبقة أساسية على أي خادم سحابي يحمل نظاماً مخصّصاً أو بريداً مؤسسياً.
الفرق الجوهري عن fail2ban
fail2ban أداة محترمة خدمت لسنوات، لكنها معزولة: كل سيرفر يتعلّم من هجماته وحده، فإن هاجمك عنوان لأول مرة، ينجح في محاولاته الأولى قبل أن يتراكم ما يكفي لحظره. الجدول يوضّح الفروق العملية:
| المعيار | fail2ban | CrowdSec |
|---|---|---|
| مصدر المعرفة | سجلّات سيرفرك فقط | سجلّاتك + سمعة جماعية عالمية |
| الحماية المسبقة | لا، يتعلّم بعد أول هجوم | نعم، يحظر عناوين معروفة سلفاً |
| الكشف والتنفيذ | مدمجان | منفصلان (محرّك + bouncer) |
| الهجمات الموزّعة | ضعيف أمامها | أقوى بفضل السمعة المشتركة |
| الإعداد | ملفات قواعد نصية | سيناريوهات ومجموعات (collections) جاهزة |
الميزة الأكبر عملياً هي مواجهة الهجمات الموزّعة. المهاجم المحترف اليوم لا يهاجم من عنوان واحد يسهل حظره، بل يوزّع محاولاته على آلاف العناوين لتبقى كل محاولة تحت عتبة الحظر الفردي. fail2ban يرى كل عنوان مرة واحدة فلا يحظره، بينما CrowdSec يعرف أن هذه العناوين مصنّفة عدائية عند مشاركين آخرين فيحظرها فوراً.
التركيب على سيرفر لينكس
تركيب CrowdSec مباشر على أي توزيعة لينكس حديثة. تثبّت المحرّك من المستودع الرسمي، ثم تثبّت المجموعات المناسبة لخدماتك: مجموعة SSH لحماية الدخول عن بُعد، ومجموعة nginx أو apache لحماية موقعك. المجموعة حزمة جاهزة من السيناريوهات وقواعد التحليل لخدمة معيّنة، فلا تكتبها من الصفر. بعدها تثبّت bouncer، الأشهر هو bouncer الجدار الناري الذي يحظر العناوين على مستوى iptables أو nftables. تتحقّق أن المحرّك يقرأ سجلّاتك بأمر حالة يعرض المصادر المرصودة، ثم تراقب القرارات الصادرة. مبدأ مهم: ابدأ بوضع المراقبة قبل الحظر الصارم، راقب ما يرصده يومين أو ثلاثة لتتأكد أنه لا يحظر حركة شرعية، ثم فعّل التنفيذ الكامل.
حماية SSH وnginx بأرقام واقعية
أي سيرفر بعنوان عام يتعرّض لمحاولات تخمين SSH مستمرة، عشرات الآلاف من المحاولات شهرياً من عناوين آلية حول العالم قبل أن يعرف أحد بوجودك أصلاً. CrowdSec يرصد هذا النمط: خمس محاولات فاشلة من عنوان في نافذة قصيرة تكفي لإصدار قرار حظر ساعات أو أيام. على nginx يرصد مسح المسارات (طلبات متلاحقة لملفات إعداد أو مسارات إدارة معروفة) ويحظر الماسح. حين تجمع هذا مع قائمة السمعة المشتركة، تحظر شريحة كبيرة من الحركة العدائية قبل أن تلمس تطبيقك، فيخفّ الحمل على السيرفر ويقلّ الضجيج في سجلّاتك.
حدوده: طبقة لا حلّ كامل
CrowdSec قوي لكنه ليس درعاً مطلقاً. يعتمد على أنماط سلوك في السجلّات، فالهجوم البطيء جداً الذي يبقى تحت كل العتبات قد يفلت. لا يحمي من ثغرة في كودك مثل حقن SQL إذا نجح الطلب الأول قبل أن يتكرّر سلوك عدائي مرصود، فهو يكمّل جدار حماية التطبيقات ولا يغني عنه. كما أنه لا يعوّض كلمات مرور ضعيفة أو مفاتيح مكشوفة. الصورة الصحيحة: CrowdSec طبقة في دفاع متعدّد الطبقات، فوقها تقوية SSH بالمفاتيح، وتعطيل الدخول بكلمة المرور، وجدار حماية تطبيقات، ونسخ احتياطي موثوق. كل طبقة تسدّ ما تفلته الأخرى.
القرارات ومددها وإدارة الاستثناءات
كل قرار يصدره CrowdSec له نوع ومدة. النوع الأشيع هو الحظر (ban)، لكن هناك قرارات أخف مثل عرض captcha للسلوك المشبوه غير المؤكّد، ما يميّز الإنسان عن الأداة الآلية دون حرمان زائر شرعي أخطأ. المدة تتدرّج مع خطورة السلوك: تخمين خفيف قد يُحظر ساعات، وهجوم صريح قد يُحظر أياماً. تراقب القرارات النشطة بأمر واحد يعرض العناوين المحظورة وسبب كل حظر ومدّته المتبقية، فتفهم ماذا يحدث على سيرفرك لحظياً بدل التخمين. حين ترى قراراً خاطئاً بحق عنوان تعرفه (مكتبك أو خدمة مراقبة تتبعك)، تلغيه يدوياً وتضيف العنوان لقائمة بيضاء دائمة حتى لا يُحظر مجدّداً.
القائمة البيضاء مهمة عملياً. أضف إليها عناوين مكاتبك الثابتة، وخدمات المراقبة والنسخ الاحتياطي التي تتصل بسيرفرك بكثافة قد تبدو عدائية، وأي شريك تقني يتصل آلياً. بلا قائمة بيضاء مضبوطة، قد يحظر CrowdSec خدمة مشروعة تتصل مراراً فتظنّ أن عطلاً أصاب نظامك بينما الحماية حظرت صديقك. راجع القائمة كلما تغيّرت بنيتك.
ربطه بتنبيهات فريقك
CrowdSec لا يحظر بصمت فقط، بل يمكن أن يخطرك. اربطه بقناة تنبيه فريقك ليصلك إشعار عند نمط هجوم كثيف أو ارتفاع مفاجئ في القرارات، فتعرف أنك تحت ضغط قبل أن يتحوّل إلى مشكلة أداء. هذا يحوّل الأداة من درع صامت إلى عين استخباراتية على حركة سيرفرك، تكشف لك أنماط من يستهدفك ومن أين، وهي معلومة ثمينة حين تقرّر تشديد طبقة أعلى مثل حماية الحافة.
الأداء واستهلاك الموارد
سؤال منطقي: هل تثقل أداة تقرأ كل سجلّاتك لحظياً على سيرفرك؟ عملياً استهلاك CrowdSec خفيف نسبياً، فهو يحلّل أسطر السجلّ لا كل طلب مباشرة، ويعمل بكفاءة على سيرفر متواضع. مع ذلك، على سيرفر صغير جداً وازن بين المجموعات التي تفعّلها، فكل مجموعة تضيف سيناريوهات تُفحص. القاعدة أن تفعّل ما يخصّ خدماتك فعلاً (SSH وخادم الويب) لا كل مجموعة متاحة، فتبقي الأداة رشيقة ومركّزة على ما يهمّك.
نقطة أخيرة تستحق الوعي: CrowdSec يعتمد على مشاركة جماعية، وهذا يعني أنك تساهم بإشارات مجهّلة عن الهجمات التي تراها. راجع ما يُشارَك وتأكد أنه يوافق سياستك، فالفائدة متبادلة، أنت تحمي غيرك بما ترصده ويحمونك بما يرصدون، لكن الوعي بما يغادر سيرفرك جزء من إدارة أمنية ناضجة.
جرّب الأداة على سيناريو واقعي قبل أن تعتمد عليها كلياً. اترك عنواناً تحت سيطرتك يحاول الدخول بكلمة مرور خاطئة عدة مرات، ثم راقب هل رصده CrowdSec وأصدر قراره في الوقت المتوقّع. هذا الاختبار العملي يمنحك ثقة مبنية على مشاهدة فعلية لا على افتراض أن الإعداد صحيح، ويكشف لك مبكراً أي خلل في قراءة السجلّات أو في ربط الـ bouncer قبل أن تعتمد على حماية لا تعمل أصلاً.
الخلاصة: خطوات عملية
ثبّت محرّك CrowdSec على سيرفرك، أضف مجموعات SSH وخادم الويب المناسبة، ثم ثبّت bouncer الجدار الناري. ابدأ بوضع المراقبة، راقب القرارات يومين، وتأكد أنه لا يحظر حركة شرعية قبل تفعيل الحظر الكامل. اربطه مع تقوية SSH وجدار حماية التطبيقات ونسخ احتياطي موثوق، فهو طبقة لا بديل. لو تبني نظاماً حسّاساً أو بريداً مؤسسياً على سيرفر سعودي بزمن استجابة نحو 8ms من الرياض، فراجع الأسعار والباقات، وأضف حماية DDoS بـ1,200 ريال سنوياً كطبقة أمام هجمات الحجب الموزّعة، أو ابدأ بـالاستضافة السحابية المُدارة حيث تُدار طبقات الحماية الأساسية عنك.


