- Startseite
- Datenverkehrsgenerator
- Integration
Integration
Vollständige Architektur
Abschnitt betitelt „Vollständige Architektur“Der Datenverkehrsgenerator ist eine Komponente in einer mehrschichtigen Demo-Umgebung. Die vollständige Architektur, wenn alle Komponenten bereitgestellt sind:
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| ORIGINJede Komponente wird unabhängig bereitgestellt und über Terraform konfiguriert. Der Datenverkehrsgenerator zielt auf den FQDN des F5 XC-Lastverteilers ab, nicht direkt auf den Ursprungsserver.
Integration des Ursprungsservers
Abschnitt betitelt „Integration des Ursprungsservers“Der Ursprungsserver stellt die Backend-Anwendungen bereit, auf die die Angriffspakete des Datenverkehrsgenerators abzielen:
| Datenverkehrspaket | Ursprungsanwendung | Pfad |
|---|---|---|
| api-attacks | VAmPI | /vampi/ |
| bot-simulation | Alle Anwendungen | Alle Pfade |
| cdn-load-testing | CDN-Simulator | CDN-Endpunkt |
| crapi-exploits | crAPI | /crapi/ |
| csd-demo-attacks | CSD-Demo | /csd-demo/ |
| dvga-exploits | DVGA | /dvga/ |
| dvwa-exploits | DVWA | /dvwa/ |
| javascript-exploits | CSD-Demo | /csd-demo/ |
| juice-shop-exploits | Juice Shop | /juice-shop/ |
| mitre-attack | Alle Anwendungen | Alle Pfade |
| owasp-scanning | Alle Anwendungen | Alle Pfade |
| performance-testing | Alle Anwendungen | Alle Pfade |
| reconnaissance | Alle Anwendungen | Alle Pfade |
| restaurant-exploits | Restaurant-API | /restaurant/ |
| ssl-scanning | F5 XC LB (nicht direkt Ursprungsserver) | N/A |
| traffic-generation | Alle Anwendungen | Alle Pfade |
| web-app-attacks | Juice Shop, DVWA | /juice-shop/, /dvwa/ |
Reihenfolge der Bereitstellung
Abschnitt betitelt „Reihenfolge der Bereitstellung“- Zuerst den Ursprungsserver bereitstellen — er stellt die Backend-Anwendungen bereit
- Den F5 XC HTTP-Lastverteiler mit dem Ursprungsserver als Ursprungspool konfigurieren
- WAF-, Bot-Abwehr-, API-Sicherheits- und CSD-Richtlinien an den Lastverteiler anhängen
- Den Datenverkehrsgenerator mit
target_fqdnauf die F5 XC LB-Domain gesetzt bereitstellen
Zielkonfiguration
Abschnitt betitelt „Zielkonfiguration“Die config.env des Datenverkehrsgenerators verbindet ihn mit dem Rest der Architektur:
# 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.100Wenn TARGET_FQDN gesetzt ist, senden alle Paketskripte Datenverkehr an https://<TARGET_FQDN>/.... Der F5 XC-Lastverteiler empfängt die Anfragen, wendet Sicherheitsrichtlinien an und leitet erlaubten Datenverkehr an den Ursprungsserver weiter.
Integration der CSD-Demo
Abschnitt betitelt „Integration der CSD-Demo“Das Paket javascript-exploits ist speziell für die Demo der Clientseitigen Abwehr auf dem Ursprungsserver konzipiert. Dieses Paket validiert die CSD-Phase-2-Funktionalität:
Phase-2-Ablauf:
- Der Ursprungsserver hostet die CSD-Demo-Seite unter
/csd-demo/ - F5 XC CSD injiziert sein Überwachungs-JavaScript in die Seite
- Das Paket javascript-exploits des Datenverkehrsgenerators versucht:
- Inline-Skripte zu injizieren, die Magecart-Skimmer imitieren
- DOM-Elemente zu modifizieren, um Formularübermittlungen umzuleiten
- Nicht autorisiertes JavaScript von Drittanbietern zu laden
- F5 XC CSD erkennt diese Modifikationen und meldet sie im CSD-Dashboard
So verwenden Sie das Paket 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-exploitsIntegration des CDN-Simulators
Abschnitt betitelt „Integration des CDN-Simulators“Wenn der CDN-Simulator bereitgestellt ist, fügt die Architektur eine Caching-Schicht hinzu:
Traffic Generator -> CDN Simulator -> F5 XC HTTP LB -> Origin ServerDer CDN-Simulator ist dem F5 XC-Lastverteiler vorgelagert, speichert Antworten zwischen und fügt CDN-ähnliche Header hinzu. So wird Datenverkehr über das CDN geleitet:
# Set TARGET_FQDN to the CDN Simulator's endpoint instead of F5 XC directlyTARGET_FQDN=cdn.demo.example.comDies ist nützlich, um zu demonstrieren, wie F5 XC Datenverkehr verarbeitet, der über ein CDN eingeht, einschließlich:
- Ermittlung der echten Client-IP hinter CDN-Proxy-Headern
- Anwendung von WAF-Regeln auf Anfragen, die möglicherweise vom CDN verändert wurden
- Bot-Abwehr-Klassifizierung, wenn das CDN Browser-Fingerabdrücke modifiziert
Vergleich von direktem und LB-Datenverkehr
Abschnitt betitelt „Vergleich von direktem und LB-Datenverkehr“Der Datenverkehrsgenerator unterstützt das Senden von Datenverkehr sowohl über F5 XC als auch direkt zum Ursprungsserver. Dieser Vergleich demonstriert den Mehrwert der F5 XC-Sicherheitsfunktionen:
Über F5 XC (Standard)
Abschnitt betitelt „Über F5 XC (Standard)“# Traffic goes: Generator -> F5 XC LB -> OriginTARGET_FQDN=demo.example.com /opt/traffic-generator/suites/runner.sh web-app-attacksErwartet: WAF blockiert SQL-Injection-, XSS- und Command-Injection-Payloads. Das Dashboard für Sicherheitsereignisse zeigt blockierte Anfragen mit Verletzungsdetails an.
Direkt zum Ursprungsserver (Baseline)
Abschnitt betitelt „Direkt zum Ursprungsserver (Baseline)“# Traffic goes: Generator -> Origin (no security layer)TARGET_FQDN=20.10.5.100 /opt/traffic-generator/suites/runner.sh web-app-attacksErwartet: Alle Payloads erreichen die Ursprungsanwendungen ungefiltert. Juice Shop und DVWA verarbeiten die Angriffs-Payloads. Dies demonstriert, was ohne F5 XC-Schutz passiert.
Side-by-Side-Demo-Ablauf
Abschnitt betitelt „Side-by-Side-Demo-Ablauf“Für eine überzeugende Demo wird dasselbe Paket auf beide Arten ausgeführt:
web-app-attacksdirekt gegen den Ursprungsserver ausführen — zeigen, dass Angriffe erfolgreich sindweb-app-attacksüber F5 XC ausführen — zeigen, dass Angriffe blockiert werden- Das F5 XC-Dashboard für Sicherheitsereignisse öffnen, um die blockierten Anfragen anzuzeigen
- Die
meta.json-Ergebnisse des Pakets vergleichen: direkte Ausführungen zeigen mehr „bestanden” (Angriffe erfolgreich), LB-Ausführungen zeigen mehr „fehlgeschlagen” (Angriffe blockiert)
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-Bereitstellung mehrerer Komponenten
Abschnitt betitelt „Terraform-Bereitstellung mehrerer Komponenten“Wenn die vollständige Laborumgebung bereitgestellt wird, sollten separate Terraform-Arbeitsbereiche oder -Verzeichnisse für jede Komponente verwendet werden:
# 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'