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

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

エッジ WAF のデプロイ後は、Fastly がデプロイを管理し、エッジ WAF の検知エンジンを定期的にアップデートします (SQL インジェクション検知の改善など)。ただし、時折、以下のようなメンテナンス作業を行う必要がある場合があります。

edgemodule バージョンの更新

新しい Next-Gen WAF 機能がリリースされたときは、エッジ WAF デプロイの edgemodule バージョンを更新する必要があります。更新が必要でない場合でも、更新プロセスはいつでも安全に実行できます。

重要 : デプロイの edgemodule バージョンを更新した場合、以前のバージョンにロールバックすることはできません。

デプロイの edgemodule バージョンを更新するには、次の手順を実行してください。

  1. Fastly コンソールにログインしてください。
  2. Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
  3. Service configuration > VCL snippets に移動します。

  4. Dynamic snippets エリアで、次の Next-Gen WAF スニペットが存在するかどうかを確認します。

    • ngwaf_config_init

    • ngwaf_config_miss

    • ngwaf_config_pass

    • ngwaf_config_deliver

  5. スニペットが存在する場合は、ターミナルアプリケーションで `PUT deliveryIntegration/{fastlySID} API エンドポイントを呼び出します。

    $ 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 コールは、アクティブな CDN サービスをクローンし、デプロイの edgemodule バージョンを更新し、クローンされたサービスバージョンを有効化します。

  6. スニペットが存在しない場合は、Fastly サポートedgemoduleバージョンの更新を依頼してください。

CDN サービスのオリジンの同期

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

Fastly コンソールでオリジンを変更し、動的バックエンドが有効化されていない場合は、オリジンを同期する必要があります。オリジンの同期に失敗すると、トラフィックが適切に検査されない可能性があります。エッジ WAF に存在しないバックエンドに送信されたリクエストには 503 Unknown wasm backend エラーが返されます。

動的バックエンドが有効かどうかの確認

動的バックエンドを有効にしている場合、オリジンを同期する必要はありません。動的バックエンドが有効かどうかを確認するには、次の手順を実行します。

  1. Fastly コンソールにログインしてください。
  2. Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
  3. Service configuration > VCL snippets に移動します。

  4. Dynamic snippets エリアで、ngwaf_config_init スニペットの横にあるView source をクリックします。

  5. スニペットコード内で backendtoken を検索します (set bereq.http.x-fastly-ngwaf:edgemodule = "vcl <VERSION>;backendtoken"; 行にあります)。backendtoken が存在する場合、動的バックエンドが有効になっているためオリジンの同期は不要です。

自動オリジン同期が発生する状況

次のような状況で、オリジン同期が自動的に行われます。

  • サイト (ワークスペース) の設定変更

  • エージェントモード (保護モードとも呼ばれる) の変更

  • IP 匿名化の有効化または無効化

  • ルール変更 (例 : リクエストルール、シグナル除外ルール、共通脆弱性識別子ルール)

  • ルールリストの変更 (リストがルールで使用されている場合のみ)

  • IP アドレスがフラグされた

これらの条件に加えて、Fastly は WAF の正確な設定を確保するためにオリジンを同期することがあります。

手動によるオリジンの同期

オリジンを同期するには、ターミナルアプリケーションで以下のエンドポイントを呼び出します。

$ curl -v -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}/backends"

この呼び出しにより、Fastly コンソールで適用されたオリジンの変更がエッジセキュリティサービスに反映されます。

デプロイに異常がある場合の検査の省略

エッジ WAF にはヘルスチェックが含まれており、何らかの理由でエッジ WAF が不健全である場合、セキュリティ処理を完全にスキップします。

ヘルスチェックロジックが利用済みかどうかの確認

x-sigsci-edgemodule ヘッダーの値を検査することで、サービスがすでにヘルスチェックロジックを使用しているかどうかを確認できます。この HTTP ヘッダーは、エッジ WAF に送信される前にリクエストに追加されます。この値が 1.6.0 以上であれば、VCL にヘルスチェックロジックが含まれています。

ヘルスチェックロジックの有効化

既存のサービスのヘルスチェックを有効にするには、まず edgemodule バージョンが最新バージョンに更新されていることを確認してください。次に、エージェントモード (保護モード)Off に切り替えて、ヘルスチェックロジックをテストします。これによりエッジ WAF の異常な状態がシミュレートされ、処理はスキップされます。