- Accueil
- Générateur de trafic
- Intégration
Intégration
Architecture complète
Section intitulée « Architecture complète »Le Générateur de trafic est l’un des Composants d’un environnement de démonstration multicouche. L’architecture complète lorsque tous les Composants sont déployés :
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| ORIGINChaque composant est déployé et configuré indépendamment via Terraform. Le Générateur de trafic cible le FQDN de l’équilibreur de charge F5 XC, et non directement le Serveur d’origine.
Intégration du Serveur d’origine
Section intitulée « Intégration du Serveur d’origine »Le Serveur d’origine fournit les applications backend que les suites d’attaques du Générateur de trafic ciblent :
| Suite de trafic | Application d’origine | Chemin |
|---|---|---|
| api-attacks | VAmPI | /vampi/ |
| bot-simulation | Toutes les applications | Tous les chemins |
| cdn-load-testing | Simulateur CDN | Point de terminaison CDN |
| crapi-exploits | crAPI | /crapi/ |
| csd-demo-attacks | Démo CSD | /csd-demo/ |
| dvga-exploits | DVGA | /dvga/ |
| dvwa-exploits | DVWA | /dvwa/ |
| javascript-exploits | Démo CSD | /csd-demo/ |
| juice-shop-exploits | Juice Shop | /juice-shop/ |
| mitre-attack | Toutes les applications | Tous les chemins |
| owasp-scanning | Toutes les applications | Tous les chemins |
| performance-testing | Toutes les applications | Tous les chemins |
| reconnaissance | Toutes les applications | Tous les chemins |
| restaurant-exploits | API Restaurant | /restaurant/ |
| ssl-scanning | F5 XC LB (pas directement l’origine) | N/A |
| traffic-generation | Toutes les applications | Tous les chemins |
| web-app-attacks | Juice Shop, DVWA | /juice-shop/, /dvwa/ |
Ordre de déploiement
Section intitulée « Ordre de déploiement »- Déployer le Serveur d’origine en premier — il fournit les applications backend
- Configurer l’équilibreur de charge HTTP F5 XC avec le Serveur d’origine comme pool d’origine
- Attacher les politiques WAF, Défense Bot, Sécurité des API et CSD à l’équilibreur de charge
- Déployer le Générateur de trafic avec
target_fqdndéfini sur le domaine de l’équilibreur de charge F5 XC
Configuration du ciblage
Section intitulée « Configuration du ciblage »Le fichier config.env du Générateur de trafic le connecte au reste de l’architecture :
# 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.100Lorsque TARGET_FQDN est défini, tous les scripts de suite envoient le trafic vers https://<TARGET_FQDN>/.... L’équilibreur de charge HTTP F5 XC reçoit les requêtes, applique les politiques de Sécurité et transfère le trafic autorisé au Serveur d’origine.
Intégration de la démo CSD
Section intitulée « Intégration de la démo CSD »La suite javascript-exploits est spécifiquement conçue pour la démonstration de la Défense côté client sur le Serveur d’origine. Cette suite valide la fonctionnalité CSD Phase 2 :
Flux de la Phase 2 :
- Le Serveur d’origine héberge la page de démo CSD à
/csd-demo/ - F5 XC CSD injecte son JavaScript de surveillance dans la page
- La suite javascript-exploits du Générateur de trafic tente de :
- Injecter des scripts inline qui imitent des skimmers Magecart
- Modifier des éléments DOM pour rediriger les soumissions de formulaires
- Charger des JavaScript tiers non autorisés
- F5 XC CSD détecte ces modifications et les signale dans le tableau de bord CSD
Pour utiliser la suite 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-exploitsIntégration du Simulateur CDN
Section intitulée « Intégration du Simulateur CDN »Lorsque le Simulateur CDN est déployé, l’architecture ajoute une couche de mise en cache :
Traffic Generator -> CDN Simulator -> F5 XC HTTP LB -> Origin ServerLe Simulateur CDN se positionne devant l’équilibreur de charge F5 XC, met en cache les réponses et ajoute des en-têtes de type CDN. Pour acheminer le trafic via le CDN :
# Set TARGET_FQDN to the CDN Simulator's endpoint instead of F5 XC directlyTARGET_FQDN=cdn.demo.example.comCela est utile pour démontrer comment F5 XC gère le trafic arrivant via un CDN, notamment :
- L’identification de l’adresse IP client réelle derrière les en-têtes de proxy CDN
- L’application des règles WAF aux requêtes susceptibles d’avoir été modifiées par le CDN
- La classification par la Défense Bot lorsque le CDN modifie les empreintes du navigateur
Comparaison du trafic direct et via équilibreur de charge
Section intitulée « Comparaison du trafic direct et via équilibreur de charge »Le Générateur de trafic permet d’envoyer du trafic à la fois via F5 XC et directement vers l’origine. Cette comparaison démontre la valeur des fonctionnalités de Sécurité de F5 XC :
Via F5 XC (par défaut)
Section intitulée « Via F5 XC (par défaut) »# Traffic goes: Generator -> F5 XC LB -> OriginTARGET_FQDN=demo.example.com /opt/traffic-generator/suites/runner.sh web-app-attacksRésultat attendu : le Pare-feu applicatif (WAF) bloque les charges utiles d’injection SQL, XSS et d’injection de commandes. Le tableau de bord des événements de Sécurité affiche les requêtes bloquées avec les détails des violations.
Direct vers l’origine (référence)
Section intitulée « Direct vers l’origine (référence) »# Traffic goes: Generator -> Origin (no security layer)TARGET_FQDN=20.10.5.100 /opt/traffic-generator/suites/runner.sh web-app-attacksRésultat attendu : toutes les charges utiles atteignent les applications d’origine sans filtrage. Juice Shop et DVWA traitent les charges utiles d’attaque. Cela démontre ce qui se passe sans la protection F5 XC.
Flux de démonstration côte à côte
Section intitulée « Flux de démonstration côte à côte »Pour une démonstration convaincante, exécutez la même suite dans les deux modes :
- Exécutez
web-app-attacksdirectement contre l’origine — montrez que les attaques réussissent - Exécutez
web-app-attacksvia F5 XC — montrez que les attaques sont bloquées - Ouvrez le tableau de bord des événements de Sécurité F5 XC pour afficher les requêtes bloquées
- Comparez les résultats
meta.jsonde la suite : les exécutions directes affichent plus de « passed » (attaques réussies), les exécutions via équilibreur de charge affichent plus de « failed » (attaques bloquées)
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'Déploiement Terraform multi-composants
Section intitulée « Déploiement Terraform multi-composants »Lors du déploiement de l’environnement de laboratoire complet, utilisez des espaces de travail ou des répertoires Terraform distincts pour chaque composant :
# 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'