コンテンツにスキップ

前提条件

以下を作成するための Contributor ロールまたは同等の権限を持つアクティブな Azure サブスクリプション:

  • リソースグループ
  • 仮想ネットワークおよびサブネット
  • ネットワークセキュリティグループ
  • パブリック IP アドレス
  • 仮想マシン(デフォルト: Standard_F16s_v2)

サブスクリプション ID を取得するために Azure CLI をインストールして認証します:

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

VM アクセス用の SSH キーペア。Ed25519 を推奨します:

Terminal window
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)が許可されていることを確認してください。

事前デプロイ済みコンポーネント

Section titled “事前デプロイ済みコンポーネント”

トラフィックジェネレーターをデプロイする前に、以下が必要です:

  1. オリジンサーバー がデプロイされ到達可能であること(origin-server ドキュメントを参照)
  2. F5 XC HTTP ロードバランサー がオリジンサーバーをバックエンドとして設定されていること
  3. ロードバランサーに WAF ポリシー が付与されていること(WAF トラフィック検証用)

target_fqdn Terraform 変数には、F5 XC ロードバランサーのパブリックドメインを設定してください。