前提条件
Azure 订阅
Section titled “Azure 订阅”一个有效的 Azure 订阅,具备 Contributor 角色或同等权限,以便创建以下资源:
- 资源组
- 虚拟网络和子网
- 网络安全组
- 公共 IP 地址
- 虚拟机(默认为 Standard_F16s_v2)
Azure CLI
Section titled “Azure CLI”安装并验证 Azure CLI,以获取您的订阅 ID:
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az login
az account show --query '{name:name, id:id}' -o table复制 id 值——这是 Terraform 所需的 subscription_id。
Terraform
Section titled “Terraform”需要 Terraform >= 1.5:
terraform version如未安装,请使用 HashiCorp APT 仓库:
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpgecho "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.listsudo apt update && sudo apt install terraformSSH 密钥对
Section titled “SSH 密钥对”用于 VM 访问的 SSH 密钥对。推荐使用 Ed25519:
ssh-keygen -t ed25519 -f ~/.ssh/traffic-generator-key -N ""流量生成器 VM 在配置期间需要出站 HTTPS 访问,以从以下来源下载工具:
- GitHub Releases(nuclei、dalfox、ffuf、gobuster、feroxbuster、subfinder、httpx、amass)
- PyPI(sqlmap、scapy、impacket、arjun、pwntools、mitmproxy、sslyze、playwright)
- npm 注册表(puppeteer、puppeteer-extra-plugin-stealth)
- Ubuntu APT 仓库(nikto、nmap、masscan、hydra、tshark 及其他系统包)
- Git 仓库(testssl.sh、recon-ng、spiderfoot、SecLists)
如果您的 Azure 订阅强制执行出站防火墙规则或 NSG 限制,请确保在初始配置窗口期间(15-25 分钟)允许访问上述来源的 HTTPS(端口 443)。
在部署流量生成器之前,您应已完成以下准备:
- 源服务器已部署并可访问(参见 origin-server 文档)
- F5 XC HTTP 负载均衡器已配置,并将源服务器设为后端
- 已将 WAF 策略附加到负载均衡器(用于 WAF 流量验证)
Terraform 变量 target_fqdn 应设置为 F5 XC 负载均衡器的公共域名。