Next-Gen WAF コンソールを使用したエッジ WAF デプロイの設定

重要 : このガイドは、Fastly コンソールで WAF にアクセスできない Next-Gen WAF のお客様のみが対象です。Fastly コンソールで WAF にアクセスできる場合は、代わりに Fastly コンソールを使用したエッジ WAF デプロイガイドをご覧ください。

エッジ WAF デプロイ方式では、CDN と Compute サービスの両方を使用して、Next-Gen WAF をエッジセキュリティサービスとして Fastly の Edge Cloud Platform に追加できます。

  1. CDN サービス
  2. Compute サービス

既存の CDN サービスに Next-Gen WAF をデプロイするには、次の手順を実行してください。

  1. 企業 (アカウント) でエッジ WAF のデプロイを有効にするには、Fastly サポートにお問い合わせください。

  2. エッジセキュリティサービスを作成し、エッジ WAF を呼び出します。

  3. 企業 (アカウント) とサイト (ワークスペース) を既存の Fastly CDN サービスにマッピングし、オリジンを同期します。検査を可能にする特権的な動的スニペットが CDN サービスに追加されます。

前提条件

エッジ WAF のデプロイを設定する前に、必要な前提条件が整っていることを確認してください。

制約と考慮事項

エッジ WAF デプロイ方式を使用する場合は、次の点に注意してください。

  • 既存の Fastly CDN にエッジ WAF デプロイ方式を使用して Next-Gen WAF を追加すると、サービスチェーンの制限にカウントされます。

  • Fastly API を使用して定義されている限り、CDN サービス上の VCL ディレクターを自動的にサポートします。

エッジセキュリティサービスの作成

重要 : Fastly コンソールで Next-Gen WAF にアクセスできる場合は、代わりに Fastly コンソールを使用したエッジ WAF のデプロイガイドの手順に従ってください。

エッジ WAF デプロイ API エンドポイントを呼び出して、新しいエッジセキュリティサービスを作成します。この API コールは、お客様の企業 (アカウント) とサイト (ワークスペース) に関連する新しいエッジセキュリティサービスを作成します。${corpName} および ${siteName} を、エッジセキュリティサービスを追加しようとするお客様の企業 (アカウント) とサイト (ワークスペース) のものに置き換える必要があります。${corpname}${siteName} はどちらも、Next-Gen WAF コンソールのアドレス (https://dashboard.signalsciences.net/corps/${corpName}/sites/${siteName}など) に存在します。

  1. CDN サービス
  2. Compute サービス
$ curl -X PUT "https://dashboard.signalsciences.net/api/v0/corps/${corpName}/sites/${siteName}/edgeDeployment" \
-H "x-api-user:${SIGSCI_EMAIL}" \
-H "x-api-token:${SIGSCI_TOKEN}" \
-H "Content-Type: application/json"

デプロイしたいサイト (ワークスペース) ごとに、この API コールをもう一度実行してください。

成功した場合、空のレスポンス本文 ({}) を含む HTTP 200 レスポンスが返されます。サイト (ワークスペース) に関連付けられた Next-Gen WAF インスタンスリソースが作成されたことを確認するには、次のリクエストを使用して edgeDeployment エンドポイントを再度クエリします。

$ curl -H "x-api-user:${SIGSCI_EMAIL}" -H "x-api-token:${SIGSCI_TOKEN}" \
-H "Content-Type: application/json" \
"https://dashboard.signalsciences.net/api/v0/corps/${corpName}/sites/${siteName}/edgeDeployment"

クエリは、URL のパス内の Next-Gen WAF サイト (ワークスペース) に関連付けられた適切な Next-Gen WAF インスタンスを、サービスが接続されていない状態で返すはずです。適切なサービスをアタッチするには、「Fastly サービスへのマッピング」を参照してください。

{"AgentHostName":"se--${corpName}--{SiteUID}.edgecompute.app","ServicesAttached":[]}

重要 : Next-Gen WAF を Compute サービスと共に使用している場合、次のステップは Rust コードを更新して inspect 関数を通じて Next-Gen WAF を呼び出すことです。CDN サービスを使用している場合、以下の手順に従って、お客様の企業 (アカウント) とサイト (ワークスペース) を Fastly CDN サービスにマッピングし、オリジンを同期してください。

Fastly CDN サービスへのマッピング

企業 (アカウント) とサイト (ワークスペース) を既存の Fastly CDN サービスにマッピングし、オリジンを同期するには、次の手順に従ってください。

  1. curl コマンドラインツールを使用して、ターミナルアプリケーションで PUT deliveryIntegration/${fastlySID} API エンドポイントを呼び出します。

    1. Unix ベース
    2. Windows ベース
    $ curl -H "x-api-user:${SIGSCI_EMAIL}" -H "x-api-token:${SIGSCI_TOKEN}" \
    -H "Fastly-Key: ${FASTLY_KEY}" -H 'Content-Type: application/json' -X PUT \
    "https://dashboard.signalsciences.net/api/v0/corps/${corpName}/sites/${siteName}/deliveryIntegration/${fastlySID}"

    この API コールは、動的 VCL スニペットを自動的にサービスに追加した新しいサービスのバージョンを作成および有効化します。デフォルトでは、このサービスは有効化され、トラフィック増加率は0%に設定されます。JSON 本文にパラメータを指定することで、これらのデフォルトをオーバーライドできます。

    • activateVersion - クローン後に Fastly サービスバージョンを有効化します。使用可能な値は true または false (引用符なし) です。指定がない場合、デフォルトで true となります。

    • percentEnabled - Next-Gen WAF に送信するトラフィックの割合。使用可能な値は 0 から 100 までの整数値です (引用符なし) 。指定がない場合、デフォルトで 0 となります。これは後で調整できます。詳細についてはトラフィックの段階的増加をご覧ください。

    例えば、初回の有効化を無効にし、初回のトラフィックの段階的増加率を10%に設定するには、通常の呼び出しに curl パラメータ -d '{"activateVersion": false, "percentEnabled": 10}' を追加します。

    $ curl -H "x-api-user:${SIGSCI_EMAIL}" -H "x-api-token:${SIGSCI_TOKEN}" \
    -H "Fastly-Key: ${FASTLY_KEY}" -H 'Content-Type: application/json' -X PUT \
    -d '{"activateVersion": false, "percentEnabled": 10}' \
    "https://dashboard.signalsciences.net/api/v0/corps/${corpName}/sites/${siteName}/deliveryIntegration/${fastlySID}"

    この API コールでは、認証のために Fastly-Key ヘッダーが必要です。Fastly API キーは、Fastly サービス ID への書き込み権限が必要です。この API コールは、動的 VCL スニペットを自動的にサービスに追加した新しいサービスのバージョンを作成および有効化します。

  2. 必要に応じて、デプロイしたい追加の Fastly サービスごとにこれらの手順を再度実行します。

    オリジンが変更された場合は、PUT deliveryIntegration/${fastlySID}/backends API エンドポイントを再度呼び出してバックエンドを再同期する必要があります。

CDN サービスに対する WAF の実行

両方の API コールが完了すると、Next-Gen WAF の実行をコントロールするダイナミック VCL スニペットでサービスが自動的に設定されます。追加の VCL スニペットを含む新しいサービスバージョンが作成され、有効化されます。