- الرئيسية
- مولد حركة المرور
- التكامل
التكامل
المعمارية الكاملة
Section titled “المعمارية الكاملة”مولد حركة المرور هو أحد المكونات في بيئة عرض توضيحي متعددة الطبقات. المعمارية الكاملة عند نشر جميع المكونات:
Traffic Generator -> F5 XC HTTP LB (WAF/Bot/API/CSD) -> Origin Server | CDN Simulator (optional)graph LR
TG[Traffic Generator VM] -->|Attack Traffic<br/>HTTPS| XCHLB[F5 XC HTTP LB]
XCHLB -->|WAF / Bot / API / CSD| ORIGIN[Origin Server VM<br/>Juice Shop, DVWA,<br/>VAmPI, httpbin, whoami]
CDN[CDN Simulator<br/>optional] -->|Cached Requests| XCHLB
TG -.->|Direct Baseline<br/>HTTP optional| ORIGINيتم نشر كل مكون وتكوينه بشكل مستقل عبر Terraform. يستهدف مولد حركة المرور الاسم المؤهل بالكامل (FQDN) لموازن تحميل F5 XC، وليس خادم المصدر مباشرةً.
تكامل خادم المصدر
Section titled “تكامل خادم المصدر”يوفر خادم المصدر تطبيقات الواجهة الخلفية التي تستهدفها مجموعات هجوم مولد حركة المرور:
| مجموعة حركة المرور | تطبيق المصدر | المسار |
|---|---|---|
| api-attacks | VAmPI | /vampi/ |
| bot-simulation | جميع التطبيقات | جميع المسارات |
| cdn-load-testing | محاكي CDN | نقطة نهاية CDN |
| crapi-exploits | crAPI | /crapi/ |
| csd-demo-attacks | عرض CSD التوضيحي | /csd-demo/ |
| dvga-exploits | DVGA | /dvga/ |
| dvwa-exploits | DVWA | /dvwa/ |
| javascript-exploits | عرض CSD التوضيحي | /csd-demo/ |
| juice-shop-exploits | Juice Shop | /juice-shop/ |
| mitre-attack | جميع التطبيقات | جميع المسارات |
| owasp-scanning | جميع التطبيقات | جميع المسارات |
| performance-testing | جميع التطبيقات | جميع المسارات |
| reconnaissance | جميع التطبيقات | جميع المسارات |
| restaurant-exploits | Restaurant API | /restaurant/ |
| ssl-scanning | موازن تحميل F5 XC (وليس المصدر مباشرةً) | غير متاح |
| traffic-generation | جميع التطبيقات | جميع المسارات |
| web-app-attacks | Juice Shop, DVWA | /juice-shop/, /dvwa/ |
ترتيب النشر
Section titled “ترتيب النشر”- انشر خادم المصدر أولاً — فهو يوفر تطبيقات الواجهة الخلفية
- قم بتكوين موازن تحميل HTTP في F5 XC مع خادم المصدر كمجموعة مصدر
- أرفق سياسات جدار حماية تطبيقات الويب (WAF)، ودفاع Bot، وأمان API، وCSD بموازن التحميل
- انشر مولد حركة المرور مع تعيين
target_fqdnعلى نطاق موازن تحميل F5 XC
تكوين الاستهداف
Section titled “تكوين الاستهداف”يربط ملف config.env الخاص بمولد حركة المرور المكوّن ببقية المعمارية:
# Target the F5 XC load balancer (traffic passes through security policies)TARGET_FQDN=demo.example.com
# Optional: target the origin server directly (bypasses F5 XC)TARGET_ORIGIN_IP=20.10.5.100عند تعيين TARGET_FQDN، ترسل جميع نصوص المجموعات حركة المرور إلى https://<TARGET_FQDN>/.... يتلقى موازن تحميل F5 XC الطلبات، ويطبّق سياسات الأمان، ويُمرر حركة المرور المسموح بها إلى خادم المصدر.
تكامل عرض CSD التوضيحي
Section titled “تكامل عرض CSD التوضيحي”مجموعة javascript-exploits مصممة خصيصاً للعرض التوضيحي للدفاع من جهة العميل على خادم المصدر. تتحقق هذه المجموعة من وظائف CSD في المرحلة الثانية:
تدفق المرحلة الثانية:
- يستضيف خادم المصدر صفحة عرض CSD التوضيحي على
/csd-demo/ - يحقن F5 XC CSD كود JavaScript الخاص بالمراقبة في الصفحة
- تحاول مجموعة javascript-exploits الخاصة بمولد حركة المرور:
- حقن نصوص برمجية مضمّنة تحاكي أدوات سرقة Magecart
- تعديل عناصر DOM لإعادة توجيه إرسال النماذج
- تحميل JavaScript غير مصرح به من جهات خارجية
- يكتشف F5 XC CSD هذه التعديلات ويُبلغ عنها في لوحة تحكم CSD
لاستخدام مجموعة javascript-exploits:
# Ensure CSD is enabled on the F5 XC HTTP LB for the /csd-demo/ path# Then run the suite/opt/traffic-generator/suites/runner.sh javascript-exploitsتكامل محاكي CDN
Section titled “تكامل محاكي CDN”عند نشر محاكي CDN، تُضيف المعمارية طبقة تخزين مؤقت:
Traffic Generator -> CDN Simulator -> F5 XC HTTP LB -> Origin Serverيقع محاكي CDN أمام موازن تحميل F5 XC، ويخزّن الاستجابات مؤقتاً ويضيف رؤوس شبيهة بـ CDN. لتوجيه حركة المرور عبر CDN:
# Set TARGET_FQDN to the CDN Simulator's endpoint instead of F5 XC directlyTARGET_FQDN=cdn.demo.example.comيفيد هذا في توضيح كيفية تعامل F5 XC مع حركة المرور الواردة عبر CDN، بما في ذلك:
- تحديد عنوان IP الحقيقي للعميل خلف رؤوس وكيل CDN
- تطبيق قواعد جدار حماية تطبيقات الويب (WAF) على الطلبات التي ربما عدّلها CDN
- تصنيف دفاع Bot عند تعديل CDN لبصمات المتصفح
مقارنة حركة المرور المباشرة مقابل موازن التحميل
Section titled “مقارنة حركة المرور المباشرة مقابل موازن التحميل”يدعم مولد حركة المرور إرسال حركة المرور عبر F5 XC ومباشرةً إلى المصدر. توضح هذه المقارنة قيمة ميزات أمان F5 XC:
عبر F5 XC (الافتراضي)
Section titled “عبر F5 XC (الافتراضي)”# Traffic goes: Generator -> F5 XC LB -> OriginTARGET_FQDN=demo.example.com /opt/traffic-generator/suites/runner.sh web-app-attacksالمتوقع: يحجب جدار حماية تطبيقات الويب (WAF) حمولات حقن SQL وXSS وحقن الأوامر. تعرض لوحة تحكم أحداث الأمان الطلبات المحجوبة مع تفاصيل الانتهاكات.
مباشرةً إلى المصدر (الخط الأساسي)
Section titled “مباشرةً إلى المصدر (الخط الأساسي)”# Traffic goes: Generator -> Origin (no security layer)TARGET_FQDN=20.10.5.100 /opt/traffic-generator/suites/runner.sh web-app-attacksالمتوقع: تصل جميع الحمولات إلى تطبيقات المصدر دون تصفية. تعالج Juice Shop وDVWA حمولات الهجوم. يوضح هذا ما يحدث بدون حماية F5 XC.
تدفق العرض التوضيحي المتوازي
Section titled “تدفق العرض التوضيحي المتوازي”لعرض توضيحي مقنع، شغّل المجموعة نفسها بكلا الطريقتين:
- شغّل
web-app-attacksمباشرةً ضد المصدر — اعرض نجاح الهجمات - شغّل
web-app-attacksعبر F5 XC — اعرض حجب الهجمات - افتح لوحة تحكم أحداث الأمان في F5 XC لعرض الطلبات المحجوبة
- قارن نتائج
meta.jsonالخاصة بالمجموعة: تُظهر عمليات التشغيل المباشرة المزيد من “نجحت” (الهجمات نجحت)، بينما تُظهر عمليات تشغيل موازن التحميل المزيد من “فشلت” (الهجمات محجوبة)
TGEN_IP=$(terraform output -raw public_ip)ORIGIN_IP="20.10.5.100"LB_FQDN="demo.example.com"
# Run 1: Direct (baseline)ssh azureuser@${TGEN_IP} "TARGET_FQDN=${ORIGIN_IP} /opt/traffic-generator/suites/runner.sh web-app-attacks"
# Run 2: Through F5 XCssh azureuser@${TGEN_IP} "TARGET_FQDN=${LB_FQDN} /opt/traffic-generator/suites/runner.sh web-app-attacks"
# Compare resultsssh azureuser@${TGEN_IP} 'for d in $(ls -t /opt/traffic-generator/results/ | head -2); do echo "=== $d ==="; cat /opt/traffic-generator/results/$d/meta.json; echo; done'النشر متعدد المكونات باستخدام Terraform
Section titled “النشر متعدد المكونات باستخدام Terraform”عند نشر بيئة المختبر الكاملة، استخدم مساحات عمل أو مجلدات Terraform منفصلة لكل مكون:
# 1. Deploy origin servercd origin-serverterraform apply -var="subscription_id=YOUR_SUB_ID"ORIGIN_IP=$(terraform output -raw public_ip)
# 2. Configure F5 XC (manual or via separate Terraform)# Create origin pool -> HTTP LB -> attach WAF/Bot/API/CSD policies# LB_FQDN=demo.example.com
# 3. Deploy traffic generator targeting the F5 XC LBcd ../traffic-generatorterraform apply \ -var="subscription_id=YOUR_SUB_ID" \ -var="target_fqdn=demo.example.com" \ -var="target_origin_ip=${ORIGIN_IP}"
# 4. Generate trafficTGEN_IP=$(terraform output -raw public_ip)ssh azureuser@${TGEN_IP} '/opt/traffic-generator/suites/runner.sh web-app-attacks'