跳到內容

前置條件

需要一個具有 Contributor 角色或同等權限的有效 Azure 訂閱,以建立下列資源:

  • 資源群組
  • 虛擬網路與子網路
  • 網路安全性群組
  • 公用 IP 位址
  • 虛擬機器(預設為 Standard_F16s_v2)

安裝並驗證 Azure CLI 以取得您的訂閱 ID:

Terminal window
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 >= 1.5:

Terminal window
terraform version

若尚未安裝,請使用 HashiCorp APT 套件庫:

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

用於存取虛擬機器的 SSH 金鑰對,建議使用 Ed25519:

Terminal window
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)流量通過。

在部署流量產生器之前,您應已完成下列準備:

  1. 原始伺服器已部署且可連線(請參閱 origin-server 文件
  2. F5 XC HTTP 負載平衡器已設定,並以原始伺服器作為後端
  3. 已將 WAF 政策附加至負載平衡器(用於 WAF 流量驗證)

Terraform 變數 target_fqdn 應設定為 F5 XC 負載平衡器的公用網域。