- Início
- Gerador de tráfego
- Integrar
Integrar
Arquitetura Completa
Seção intitulada “Arquitetura Completa”O gerador de tráfego é um componente em um ambiente de demonstração multicamada. A arquitetura completa quando todos os componentes estão implantados:
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| ORIGINCada componente é implantado e configurado de forma independente via Terraform. O gerador de tráfego aponta para o FQDN do load balancer do F5 XC, e não diretamente para o servidor de origem.
Integração com o Servidor de Origem
Seção intitulada “Integração com o Servidor de Origem”O servidor de origem fornece as aplicações de backend que os conjuntos de ataque do gerador de tráfego visam:
| Suite de Tráfego | Aplicação de Origem | Caminho |
|---|---|---|
| api-attacks | VAmPI | /vampi/ |
| bot-simulation | Todas as aplicações | Todos os caminhos |
| cdn-load-testing | CDN Simulator | Endpoint CDN |
| 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 | Todas as aplicações | Todos os caminhos |
| owasp-scanning | Todas as aplicações | Todos os caminhos |
| performance-testing | Todas as aplicações | Todos os caminhos |
| reconnaissance | Todas as aplicações | Todos os caminhos |
| restaurant-exploits | Restaurant API | /restaurant/ |
| ssl-scanning | F5 XC LB (não diretamente na origem) | N/A |
| traffic-generation | Todas as aplicações | Todos os caminhos |
| web-app-attacks | Juice Shop, DVWA | /juice-shop/, /dvwa/ |
Ordem de Implantação
Seção intitulada “Ordem de Implantação”- Implante o servidor de origem primeiro — ele fornece as aplicações de backend
- Configure o F5 XC HTTP load balancer com o servidor de origem como pool de origem
- Anexe as políticas de WAF, Bot Defense, Segurança de API e CSD ao load balancer
- Implante o gerador de tráfego com
target_fqdnapontando para o domínio do F5 XC LB
Configuração de Targeting
Seção intitulada “Configuração de Targeting”O config.env do gerador de tráfego o conecta ao restante da arquitetura:
# 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.100Quando TARGET_FQDN está definido, todos os scripts de suite enviam tráfego para https://<TARGET_FQDN>/.... O load balancer do F5 XC recebe as requisições, aplica as políticas de segurança e encaminha o tráfego permitido ao servidor de origem.
Integração com a Demonstração CSD
Seção intitulada “Integração com a Demonstração CSD”A suite javascript-exploits foi projetada especificamente para a demonstração do Client-Side Defense no servidor de origem. Esta suite valida a funcionalidade da Fase 2 do CSD:
Fluxo da Fase 2:
- O servidor de origem hospeda a página de demonstração do CSD em
/csd-demo/ - O F5 XC CSD injeta seu JavaScript de monitoramento na página
- A suite javascript-exploits do gerador de tráfego tenta:
- Injetar scripts inline que imitam skimmers Magecart
- Modificar elementos do DOM para redirecionar envios de formulários
- Carregar JavaScript não autorizado de terceiros
- O F5 XC CSD detecta essas modificações e as reporta no painel do CSD
Para utilizar a 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-exploitsIntegração com o Simulador CDN
Seção intitulada “Integração com o Simulador CDN”Quando o Simulador CDN está implantado, a arquitetura adiciona uma camada de cache:
Traffic Generator -> CDN Simulator -> F5 XC HTTP LB -> Origin ServerO Simulador CDN fica na frente do load balancer do F5 XC, armazenando respostas em cache e adicionando cabeçalhos típicos de CDN. Para direcionar o tráfego pelo CDN:
# Set TARGET_FQDN to the CDN Simulator's endpoint instead of F5 XC directlyTARGET_FQDN=cdn.demo.example.comIsso é útil para demonstrar como o F5 XC lida com tráfego que chega por meio de um CDN, incluindo:
- Identificação do IP real do cliente por trás dos cabeçalhos de proxy do CDN
- Aplicação de regras WAF a requisições que podem ter sido modificadas pelo CDN
- Classificação do Bot Defense quando o CDN modifica as impressões digitais do navegador
Comparação de Tráfego Direto vs LB
Seção intitulada “Comparação de Tráfego Direto vs LB”O gerador de tráfego suporta o envio de tráfego tanto pelo F5 XC quanto diretamente para a origem. Essa comparação demonstra o valor dos recursos de segurança do F5 XC:
Pelo F5 XC (padrão)
Seção intitulada “Pelo F5 XC (padrão)”# Traffic goes: Generator -> F5 XC LB -> OriginTARGET_FQDN=demo.example.com /opt/traffic-generator/suites/runner.sh web-app-attacksEsperado: O WAF bloqueia payloads de injeção SQL, XSS e injeção de comandos. O painel de Eventos de Segurança exibe as requisições bloqueadas com detalhes das violações.
Direto para a Origem (baseline)
Seção intitulada “Direto para a Origem (baseline)”# Traffic goes: Generator -> Origin (no security layer)TARGET_FQDN=20.10.5.100 /opt/traffic-generator/suites/runner.sh web-app-attacksEsperado: Todos os payloads chegam às aplicações de origem sem filtragem. O Juice Shop e o DVWA processam os payloads de ataque. Isso demonstra o que acontece sem a proteção do F5 XC.
Fluxo de Demonstração Lado a Lado
Seção intitulada “Fluxo de Demonstração Lado a Lado”Para uma demonstração impactante, execute a mesma suite das duas formas:
- Execute
web-app-attacksdiretamente contra a origem — mostre que os ataques têm sucesso - Execute
web-app-attackspelo F5 XC — mostre que os ataques são bloqueados - Abra o painel de Eventos de Segurança do F5 XC para exibir as requisições bloqueadas
- Compare os resultados do
meta.jsonda suite: execuções diretas mostram mais “passed” (ataques bem-sucedidos), execuções pelo LB mostram mais “failed” (ataques bloqueados)
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'Implantação Terraform com Múltiplos Componentes
Seção intitulada “Implantação Terraform com Múltiplos Componentes”Ao implantar o ambiente de laboratório completo, utilize workspaces ou diretórios Terraform separados para cada componente:
# 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'