
مشروع CY376 للفريق الأزرق — pfSense DMZ وSuricata IDS/IPS وتحصين آلي للمضيف ضد CVE-2014-6271
CY376: مراقبة الشبكات والأمن والتدقيق — مشروع نهاية الفصل الدراسي الفريق الأزرق | جامعة المناجم والتكنولوجيا، تاركوا
المؤلف: Kennedy Kumi Holomah رقم الفهرس: FCM.41.018.148.23 المعرف الطلابي: 9013004623
يبني هذا المشروع منطقة منزوعة السلاح (DMZ) تستضيف خادم ويب عاماً يعمل بنظام Ubuntu/Apache خلف جدار حماية pfSense، وذلك بالكامل داخل مختبر VMware Workstation معزول. أُنشئ كتمرين للفريق الأزرق لمقرر CY376 (مراقبة الشبكات والأمن والتدقيق) في جامعة المناجم والتكنولوجيا، تاركوا، ويوضح دورة حياة دفاعية كاملة بدلاً من عنصر تحكم واحد معزول: حدود شبكة مقسّمة، وكشف مباشر عند تلك الحدود، ومحاولة استغلال حقيقية ضد ثغرة CVE مسماة، ومعالجة آلية، وإعادة تحقق من أن الإصلاح أغلق الفجوة فعلياً.
يجمع المشروع عمداً بين كل طبقة دفاعية ودليل ملموس بدلاً من مجرد لقطة شاشة للتكوين: يُظهر كشف Suricata التقاط محاولة استغلال Shellshock الفعلية في الوقت الفعلي، ويُظهر فشل الحمولة نفسها فوراً بعد تطبيق التحصين، كما تُوثَّق مشاكل البنية التحتية غير الواضحة التي ظهرت على طول الطريق (إعدادات تفريغ المعالجة على مستوى الأجهزة التي تمنع التقاط الحزم بصمت، ونطاق HOME_NET الافتراضي الذي يكسر التوقيعات الاتجاهية بصمت، وقفل الأذونات الخاص بسكربت التحصين الذي عطّل الخادم الذي كان من المفترض أن يحميه) كنتائج قائمة بذاتها ولم تُحذف.
HOME_NET بشكل صحيح على الشبكة الفرعية DMZ بحيث تُعامَل حركة الهجوم القادمة من الشبكة المحلية على أنها خارجية.scripts/dmz_web_hardening.sh) يصحح Bash، ويعطّل معالج CGI الذي يعتمد عليه Shellshock، ويقيد SSH على الشبكة المحلية، ويفعّل جدار حماية المضيف (UFW) وfail2ban، ويقفل أذونات جذر الويب.التقرير الكامل ولقطات الشاشة الداعمة والتحليل: docs/CY376_DMZ_Report_Kennedy_Kumi_Holomah.pdf.
تمر جميع حركة المرور بين القطاعات حصرياً عبر pfSense؛ لا يوجد أي مسار يتجاوز جدار الحماية.
.
├── README.md
├── .gitignore
├── scripts/
│ └── dmz_web_hardening.sh # Host hardening script for the DMZ web server
├── docs/
│ └── CY376_DMZ_Report_Kennedy_Kumi_Holomah.pdf # Full project report
└── evidence/
└── figure01_lab_topology.png ... figure11_wazuh_dashboard.png
# The 11 captioned screenshots from the report, numbered to match
# the figure numbers used throughout docs/CY376_DMZ_Report_*.pdf
يستهدف scripts/dmz_web_hardening.sh مضيف Ubuntu/Apache في DMZ. وهو مكتوب ليكون آمناً لإعادة التشغيل: كل ملف تكوين يلمسه يتم إنشاء نسخة احتياطية منه أولاً (باللاحقة .bak-YYYYmmdd-HHMMSS)، وتُسجَّل جميع الإجراءات في ملف بعلامة زمنية تحت /var/log.
# On the DMZ web server
sudo bash scripts/dmz_web_hardening.sh
قبل التشغيل، راجع قسم CONFIG في أعلى السكربت (الشبكة الفرعية للـ LAN، منافذ HTTP/HTTPS) ليتناسب مع طوبولوجيتك الخاصة.
ما يفعله السكربت:
mod_cgi/mod_cgid (إزالة سطح هجوم Shellshock نهائياً)، ويقفل ملكية/أذونات جذر الويب.يُطبع ملخص الإكمال في النهاية، وتوجد التفاصيل الكاملة لكل خطوة في التقرير.
انظر القسم 6 (التحليل والتوصيات) من التقرير للنقاش الكامل.
| المضيف | الدور | الواجهة / VMnet | عنوان IP |
|---|
| pfSense | جدار الحماية / الموجّه | WAN (em0) | 192.168.248.138 (DHCP, NAT) |
| pfSense | جدار الحماية / الموجّه | LAN (em2) | 192.168.20.1/24 |
| pfSense | جدار الحماية / الموجّه | DMZ (em1) | 192.168.10.1/24 |
| Kali Linux | مضيف المهاجم | VMnet4 (LAN) | 192.168.20.102 |
| عميل الشبكة المحلية | مضيف LAN عام | VMnet4 (LAN) | 192.168.20.100 |
| خادم ويب DMZ | الهدف / الأصل المحمي | VMnet3 (DMZ) | 192.168.10.10 |
| مدير Wazuh | منصة SIEM / السجلات | VMnet4 (LAN) | 192.168.20.103 |
| الاختبار | قبل التحصين | بعد التحصين |
|---|
| محاولة استغلال Shellshock | تم قبول الحمولة؛ أطلق Suricata تنبيهاً (SID 2022028) | HTTP 404 — تمت إزالة معالج CGI |
| SSH من الشبكة المحلية (Kali) | متاح، دون قيود | متاح، مقيد على 192.168.20.0/24 |
| الوصول إلى جذر الويب | عرض المحتوى الافتراضي | 403 لفترة وجيزة أثناء التحصين، ثم استُعيد |
| قاعدة الإسقاط المخصصة في Suricata | لا ينطبق | تأكد الحظر النشط عند التطابق |