Aller au contenu

Prérequis

Un abonnement Azure actif avec le rôle Contributeur ou des autorisations équivalentes pour créer :

  • Des groupes de ressources
  • Des réseaux virtuels et des sous-réseaux
  • Des groupes de sécurité réseau
  • Des adresses IP publiques
  • Des machines virtuelles (Standard_F16s_v2 par défaut)

Installez et authentifiez l’Azure CLI pour récupérer votre identifiant d’abonnement :

Fenêtre de terminal
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az login
az account show --query '{name:name, id:id}' -o table

Copiez la valeur id — il s’agit du subscription_id requis par Terraform.

Terraform >= 1.5 est requis :

Fenêtre de terminal
terraform version

S’il n’est pas installé, utilisez le dépôt APT HashiCorp :

Fenêtre de terminal
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

Une paire de clés SSH pour l’accès aux machines virtuelles. Ed25519 est recommandée :

Fenêtre de terminal
ssh-keygen -t ed25519 -f ~/.ssh/traffic-generator-key -N ""

La machine virtuelle du Générateur de trafic nécessite un accès HTTPS sortant lors du provisionnement pour télécharger des outils depuis :

  • GitHub Releases (nuclei, dalfox, ffuf, gobuster, feroxbuster, subfinder, httpx, amass)
  • PyPI (sqlmap, scapy, impacket, arjun, pwntools, mitmproxy, sslyze, playwright)
  • Le registre npm (puppeteer, puppeteer-extra-plugin-stealth)
  • Les dépôts APT Ubuntu (nikto, nmap, masscan, hydra, tshark, et d’autres paquets système)
  • Des dépôts Git (testssl.sh, recon-ng, spiderfoot, SecLists)

Si votre abonnement Azure applique des règles de pare-feu sortant ou des restrictions NSG, assurez-vous que le trafic HTTPS (port 443) vers ces sources est autorisé pendant la fenêtre de provisionnement initiale (15 à 25 minutes).

Avant de déployer le Générateur de trafic, vous devez disposer des éléments suivants :

  1. Le Serveur d’origine déployé et accessible (voir la documentation origin-server)
  2. Un équilibreur de charge HTTP F5 XC configuré avec le serveur d’origine comme backend
  3. Une politique WAF attachée à l’équilibreur de charge (pour la validation du trafic WAF)

La variable Terraform target_fqdn doit être définie sur le domaine public de l’équilibreur de charge F5 XC.