前置條件
Azure 訂閱
Section titled “Azure 訂閱”需要一個具有 Contributor 角色或同等權限的有效 Azure 訂閱,以建立下列資源:
- 資源群組
- 虛擬網路與子網路
- 網路安全性群組
- 公用 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 金鑰對”用於存取虛擬機器的 SSH 金鑰對,建議使用 Ed25519:
ssh-keygen -t ed25519 -f ~/.ssh/traffic-generator-key -N ""流量產生器虛擬機器在佈建期間需要對外的 HTTPS 連線,以從下列來源下載工具:
- GitHub Releases(nuclei、dalfox、ffuf、gobuster、feroxbuster、subfinder、httpx、amass)
- PyPI(sqlmap、scapy、impacket、arjun、pwntools、mitmproxy、sslyze、playwright)
- npm registry(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)流量通過。
預先部署的元件
Section titled “預先部署的元件”在部署流量產生器之前,您應已完成下列準備:
- 原始伺服器已部署且可連線(請參閱 origin-server 文件)
- F5 XC HTTP 負載平衡器已設定,並以原始伺服器作為後端
- 已將 WAF 政策附加至負載平衡器(用於 WAF 流量驗證)
Terraform 變數 target_fqdn 應設定為 F5 XC 負載平衡器的公用網域。