Pular para o conteúdo

Pré-requisitos

Uma assinatura Azure ativa com a função Contributor ou permissões equivalentes para criar:

  • Grupos de recursos
  • Redes virtuais e sub-redes
  • Grupos de segurança de rede
  • Endereços IP públicos
  • Máquinas virtuais (padrão Standard_F16s_v2)

Instale e autentique o Azure CLI para recuperar o ID da sua assinatura:

Terminal window
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az login
az account show --query '{name:name, id:id}' -o table

Copie o valor id — este é o subscription_id exigido pelo Terraform.

O Terraform >= 1.5 é obrigatório:

Terminal window
terraform version

Se não estiver instalado, utilize o repositório APT da HashiCorp:

Terminal window
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform

Um par de chaves SSH para acesso à VM. Ed25519 é recomendado:

Terminal window
ssh-keygen -t ed25519 -f ~/.ssh/traffic-generator-key -N ""

A VM do Gerador de Tráfego requer acesso HTTPS de saída durante o provisionamento para baixar ferramentas de:

  • GitHub Releases (nuclei, dalfox, ffuf, gobuster, feroxbuster, subfinder, httpx, amass)
  • PyPI (sqlmap, scapy, impacket, arjun, pwntools, mitmproxy, sslyze, playwright)
  • Registro npm (puppeteer, puppeteer-extra-plugin-stealth)
  • Repositórios APT do Ubuntu (nikto, nmap, masscan, hydra, tshark e outros pacotes do sistema)
  • Repositórios Git (testssl.sh, recon-ng, spiderfoot, SecLists)

Se a sua assinatura Azure impõe regras de firewall de saída ou restrições de NSG, certifique-se de que o HTTPS (porta 443) para essas fontes esteja permitido durante a janela inicial de provisionamento (15 a 25 minutos).

Antes de implantar o Gerador de Tráfego, você deve ter:

  1. Servidor de Origem implantado e acessível (consulte a documentação do origin-server)
  2. F5 XC HTTP Load Balancer configurado com o servidor de origem como backend
  3. Uma política WAF vinculada ao load balancer (para validação de tráfego WAF)

A variável Terraform target_fqdn deve ser definida com o domínio público do load balancer do F5 XC.