مراقبة الشبكة والكشف عن الأنشطة الضارة
مخرجات التعلم
بنهاية هذا الأسبوع، سيكون الطالب قادراً على:
- فهم الفرق الأساسي بين أنظمة كشف التسلل (IDS) وأنظمة منع التسلل (IPS)
- التمييز بين أنواع IDS المختلفة (Network-based و Host-based)
- فهم تقنيات الكشف عن التهديدات (التوقيعات، السلوك، الشذوذ)
- تثبيت وتكوين Snort كنظام IDS/IPS مفتوح المصدر
- تحليل سجلات النظام وتحديد أنماط الهجمات المحتملة
- تطبيق قواعد (Rules) للكشف عن هجمات شبكية محددة
محتوى الجلسة
الافتتاح والمراجعة
مراجعة مفاهيم جدران الحماية (Stateful vs Stateless) وربطها بأنظمة كشف التسلل
مقدمة في IDS/IPS
تعريف أنظمة كشف ومنع التسلل، تاريخها، وأهميتها في الدفاع عن الشبكات
الفرق بين IDS و IPS
مقارنة شاملة بين الكشف (Detection) والمنع (Prevention) ومواقع النشر في الشبكة
أنواع أنظمة الكشف عن التسلل
شرح NIDS مقابل HIDS، ومزايا وعيوب كل نوع
تقنيات الكشف عن التهديدات
الكشف المبني على التوقيعات، كشف الشذوذ، والكشف المبني على السلوك
مقدمة في Snort
تعريف بـ Snort كأشهر أنظمة IDS/IPS مفتوحة المصدر، مكوناته وآلية عمله
النشاط العملي
تثبيت Snort على Ubuntu، كتابة قواعد للكشف عن هجمات (Ping Flood, Port Scan)
الختام والواجبات
حل النشاط العملي، توضيح الواجبات ومناقشة سيناريوهات واقعية
المحتوى النظري
1. مقدمة في أنظمة كشف ومنع التسلل
تُعتبر أنظمة كشف التسلل (Intrusion Detection Systems - IDS) وأنظمة منع التسلل (Intrusion Prevention Systems - IPS) من الركائز الأساسية في استراتيجية الدفاع العميق (Defense in Depth). تقوم هذه الأنظمة بمراقبة حركة مرور الشبكة أو سلوك الأنظمة لاكتشاف الأنشطة غير المصرح بها أو الضارة.
حقائق مهمة:
- أول نظام IDS تجاري ظهر في عام 1980 بواسطة Dorothy Denning
- أكثر من 60% من الهجمات تتخطى جدران الحماية التقليدية دون اكتشاف
- متوسط الوقت لاكتشاف الاختراق (Dwell Time) هو 277 يوماً بدون أنظمة IDS/IPS فعالة
2. الفرق بين IDS و IPS
على الرغم من التشابه في آلية الكشف، إلا أن هناك فرقاً جوهرياً في آلية الاستجابة:
| المعيار | IDS (نظام كشف التسلل) | IPS (نظام منع التسلل) |
|---|---|---|
| الوظيفة الرئيسية | الكشف والإنذار فقط | الكشف والمنع الفوري |
| التفاعل مع الحركة | سلبي (مراقبة فقط) | فاعل (إسقاط الحزم المشبوهة) |
| موقع النشر | خارج خط البيانات (Out-of-band) | داخل خط البيانات (In-line) |
| التأثير على الأداء | بسيط - لا يؤخر الحزم | متوسط إلى عالي - يفحص في الوقت الفعلي |
| إمكانية حظر الشرعي | لا يحظر (أقل خطراً) | ممكن (False Positive يسبب انقطاع خدمة) |
| الاستخدام الأمثل | رصد وتحقيق جنائي | حماية فورية للأصول الحساسة |
3. أنواع أنظمة كشف التسلل
أ. نظام كشف الشبكة (Network-based IDS - NIDS):
- الوصف: يراقب حركة المرور على مستوى الشبكة بأكملها من خلال تحليل الحزم المرورية
- الموقع: عادة ما يُنشر عند نقاط استراتيجية (by the perimeter, DMZ, segments)
- المميزات: حماية شبكة كاملة، صعوبة اكتشافه من قبل المهاجم، لا يؤثر على أداء الأجهزة المضيفة
- العيوب: صعوبة فحص حركة مرور مشفرة، قد يصبح عنق زجاجة إذا لم يُحسن
ب. نظام كشف المضيف (Host-based IDS - HIDS):
- الوصف: مثبت على جهاز فردي ويراقب سجلات النظام، ملفاته، وعملياته
- المراقبة: مكالمات النظام، سجلات الأحداث (Event Logs)، تغييرات ملفات النظام
- المميزات: رؤية داخلية للجهاز، قدرة على كشف هجمات التشفير من الطرف إلى الطرف، كشف التعديلات على الملفات
- العيوب: استهلاك موارد الجهاز، يحتاج صيانة على كل جهاز، لا يرى حركة الشبكة العابرة
الاستخدام الأمثل:
أفضل الممارسات تقتضي استخدام NIDS و HIDS معاً (Hybrid Approach) حيث يكمل كل منهما الآخر. NIDS يرى حركة الشبكة الواسعة بينما HIDS يرى ما يحدث داخل الجهاز بعد تجاوز حدود الشبكة.
4. تقنيات الكشف عن التهديدات
أ. الكشف المبني على التوقيعات (Signature-based Detection):
- المبدأ: مقارنة حركة المرور مع قاعدة بيانات من أنماط الهجمات المعروفة (توقيعات)
- الدقة: عالية ضد الهجمات المعروفة (منخفضة False Negatives)
- القيود: غير قادر على كشف الهجمات الجديدة (Zero-day) أو المعدلة
- مثال: كشف فيروس معين من خلال مقارنة البايتات مع توقيع الفيروس المعروف
ب. الكشف المبني على الشذوذ (Anomaly-based Detection):
- المبدأ: إنشاء خط أساس (Baseline) للسلوك الطبيعي، والإنذار عند أي انحراف
- البدء: يتطلب فترة تعلم (Learning Period) لبناء الملف الطبيعي
- المميزات: قدرة على كشف هجمات جديدة وغير معروفة سابقاً
- العيوب: معدل إنذارات كاذبة مرتفع (High False Positive Rate)، صعوبة تعريف "الطبيعي"
ج. الكشف المبني على السلوك (Behavior-based / Heuristic):
- المبدأ: مراقبة السلوك طويل المدى واكتشاف الأنماط الضارة المعقدة
- الاستخدام: كشف هجمات APT (Advanced Persistent Threats) والأنشطة المستمرة البطيئة
- التطبيق: غالباً ما يستخدم الذكاء الاصطناعي والتعلم الآلي
5. مقدمة في Snort - نظام IDS/IPS مفتوح المصدر
Snort هو أشهر وأقدم أنظمة IDS/IPS مفتوحة المصدر، تم تطويره عام 1998 بواسطة Martin Roesch. يستخدمه الآلاف من المؤسسات حول العالم.
مكونات Snort الرئيسية:
- Packet Decoder: فك ترميز الحزم من مختلف بروتوكولات الشبكة
- Detection Engine: محرك الكشف الذي يطبق القواعد على الحزم
- Logger/Alert System: نظام تسجيل الأحداث وإرسال الإنذارات
- Rules Engine: محرك القواعد الذي يحتوي على آلاف القواعد الجاهزة للكشف عن الهجمات المعروفة
أوضاع تشغيل Snort:
| الوضع | الوصف | الاستخدام |
|---|---|---|
| Sniffer Mode | قراءة وعرض حزم الشبكة على الشاشة فقط | تحليل سريع، تصحيح أخطاء |
| Packet Logger Mode | تسجيل الحزم على القرص للتحليل اللاحق | جمع أدلة جنائية، تحليل عميق |
| Network IDS Mode | مراقبة الشبكة وتطبيق القواعد وإرسال الإنذارات | الاستخدام الأساسي كـ IDS |
| Inline Mode (IPS) | الوقوف بين الشبكات وإسقاط الحزم الضارة مباشرة | العمل كـ IPS فعال |
هجمات شائعة يمكن كشفها باستخدام IDS/IPS
1. هجوم Ping Flood (ICMP Flood):
الوصف: إغراق الهدف بحزم ICMP Echo Request (Ping) لاستنفاد موارده.
كيفية الكشف: مراقبة معدل حزم ICMP غير الطبيعي من نفس المصدر.
2. هجوم Port Scanning:
الوصف: مسح المنافذ لاكتشاف الخدمات المفتوحة.
كيفية الكشف: اكتشاف محاولات الاتصال المتتالية على منافذ مختلفة في وقت قصير.
3. هجوم brute-force على SSH:
الوصف: محاولات متعددة لتسجيل الدخول بكلمات مرور مختلفة.
كيفية الكشف: عدد كبير من محاولات تسجيل الدخول الفاشلة من نفس IP.
النشاط العملي: تثبيت وتكوين Snort لكشف الهجمات
في هذا النشاط، سنقوم بتثبيت Snort على نظام Linux (Ubuntu) وتهيئته ليكشف عن هجمات محددة.
سيناريو النشاط:
أنت مسؤول أمن في شركة صغيرة وتريد نشر نظام IDS لمراقبة الشبكة الداخلية (192.168.1.0/24). تريد كشف المحاولات الضالة التالية:
- محاولات مسح المنفذ 22 (SSH) من خارج الشبكة
- هجمات Ping Flood (أكثر من 50 ping في الثانية)
- محاولات الوصول إلى صفحات إدارية غير مصرح بها (/admin, /wp-admin)
المتطلبات:
- نظام Ubuntu 20.04/22.04 (حقيقي أو افتراضي)
- صلاحيات Root أو Sudo
- اتصال بالشبكة على الواجهة eth0 (أو أي واجهة أخرى)
خطوات العمل:
تثبيت Snort والتبعيات المطلوبة على نظام Ubuntu.
sudo apt install snort -y
أثناء التثبيت، سيسألك عن نطاق الشبكة (Home Net). أدخل: 192.168.1.0/24
التأكد من أن Snort يعمل بشكل صحيح في وضع Sniffer.
ثم اضغط Ctrl+C للخروج. يجب أن ترى حزم الشبكة تمر على الشاشة.
إنشاء قاعدة لكشف محاولات مسح منفذ SSH (22).
افتح ملف القواعد:
أضف السطر التالي:
شرح القاعدة:
alert: نوع الإجراء (إنذار)tcp any any: بروتوكول TCP من أي مصدر/منفذ-> 192.168.1.0/24 22: إلى الشبكة الداخلية على المنفذ 22flags:S: حزم SYN (بداية الاتصال)threshold: لا تنبه إلا إذا حدث 5 محاولات في 60 ثانيةsid: معرف فريد للقاعدة (يجب أن يكون فوق 1,000,000 للقواعد المخصصة)
تشغيل Snort مع تفعيل القواعد المحلية.
المعاملات:
-q: وضع الهدوء (بدون عرض حزم)-l: مجلد السجلات-i: اسم الواجهة-A console: عرض الإنذارات على الشاشة-c: ملف الإعداد
من جهاز آخر على الشبكة، قم بتنفيذ الأمر:
# أو
hping3 -S -p 22 --flood 192.168.1.1
يجب أن ترى إنذاراً على شاشة Snort يشير إلى "SSH Scan Detected".
أضف قاعدة لكشف هجمات ICMP Flood.
حل النشاط العملي (إرشادات)
المهمة 1-2: التثبيت والتحقق
إذا ظهرت لك رسالة خطأ حول واجهة الشبكة، تأكد من اسم الواجهة الصحيح باستخدام:
ابحث عن الواجهة المتصلة (عادة eth0, ens33, أو enp0s3).
المهمة 3: فهم القاعدة
القاعدة تستخدم threshold لتجنب الإنذارات الكاذبة. فقط محاولات المسح الفعلية (5 محاولات في دقيقة) ست trigger الإنذار.
ملاحظة: تأكد من عدم وجود مسافات زائدة في القاعدة، واستخدم علامات الاقتباس المستقيمة (") وليست المائلة (").
المهمة 4-5: التشغيل والاختبار
عند اكتشاف الهجوم، يجب أن ترى شيئاً مشابهاً:
لحفظ الإنذارات في ملف بدلاً من الشاشة، استخدم -A fast بدلاً من -A console.
التحليل الإضافي:
لقراءة سجلات Snort لاحقاً:
الواجبات والمهام
الواجب العملي: إعداد Snort لكشف محاولات اختراق الويب
السيناريو:
أنت مسؤول أمن في شركة "الأمن التقني" وتريد إضافة طبقة حماية لخادم الويب الداخلي (192.168.1.50) لكشف:
- محاولات الوصول إلى ملفات حساسة (/etc/passwd, /shadow, .env)
- هجمات SQL Injection البسيطة (محاولات إدخال كلمات مثل ' OR 1=1 --)
- محاولات استخدام أدوات الفحص الشهيرة (sqlmap, nmap, dirbuster)
المطلوب:
- اكتب 3 قوا snacks (rules) لـ Snort تحقق المتطلبات أعلاه.
- اشرح كل قاعدة (ما تفعله، ولماذا اخترت هذه المعاملات).
- اختبر قاعدة واحدة على الأقل (يمكنك استخدام VMware أو Packet Tracer إذا كان متاحاً فيه Snort).
آلية التسليم:
- ملف نصي يحتوي على القواعد الثلاث مع الشرح.
- لقطة شاشة للاختبار إذا كان ممكناً.
- توضيح لكيفية تجنب False Positives في قواعدك.
موعد التسليم: نهاية الأسبوع الخامس
الواجب النظري: مقارنة بين IDS التجارية والمفتوحة المصدر
المطلوب:
أعد تقريراً مقارناً (2-3 صفحات) بين:
- Snort (مفتوح المصدر)
- Suricata (مفتوح المصدر)
- Cisco Firepower (تجاري)
يجب أن يشمل التقرير:
- جدول مقارنة للمميزات التقنية (الأداء، سهولة التهيئة، التكلفة، الدعم).
- متى تختار المفتوح المصدر ومتى تختار التجاري؟ (من حيث حجم المؤسسة والميزانية).
- دراسة حالة: مؤسسة متوسطة (100 موظف) - ما الحل الأمثل لها ولماذا؟
متطلبات التقرير:
- يغطي النقاط الثلاث أعلاه.
- استخدم مصادر موثوقة (مواقع رسمية، أوراق علمية).
- اذكر المراجع في النهاية.
موعد التسليم: نهاية الأسبوع الخامس