Fastly コンソールを使用したエッジ WAF デプロイ
- English
- 日本語
重要 : このガイドは、Compute サービスにエッジ WAF をデプロイすることを希望し Fastly コンソールで Next-Gen WAF にアクセスできるお客様、または次のいずれかの条件を満たす CDN サービスにエッジ WAF をデプロイしたいお客様のみを対象としています。
サービスで
ngwaf_oob_enabledパラメータ が無効 (false) になっており、Mutual TLS (mTLS) を使用していません。サービスで
ngwaf_oob_enabledパラメータが有効になっています (true)。この条件が満たされている場合、サービスが mTLS を使用しているかどうかは関係ありません。これらの要件を満たしていない場合は、Next-Gen WAF コンソールのガイドをご覧ください。
エッジ WAF デプロイメソッドは、Fastly のエッジクラウドプラットフォーム上で Next-Gen WAF を、当社のグローバルネットワークの POP を通じてホストし、Fastly のキャッシングレイヤーと統合し、Fastly によって管理されます。セキュリティ処理はエッジで行われるため、Next-Gen WAF はオリジンインフラストラクチャに入る前にすべてのトラフィックを検査し、攻撃が発生した場所の近くでブロックできます。お客様のホスティング環境を変更する必要はありません。
前提条件
エッジ WAF デプロイを設定する前に、必要な前提条件が整っていることを確認してください。
制約と考慮事項
ご利用のサービスで Next-Gen WAF を有効にする際には、以下の点に注意してください。
Fastly Next-Gen WAF の有効化、無効化、または変更をサービス上で行うと、アクティブなものを含むすべてのサービスバージョンに即座に影響します。
1つのサービスは最大1つのワークスペースにリンクできます。1つのワークスペースは複数のサービスに接続できます。
スーパーユーザーロールを割り当てられたユーザーのみが、サービス用のエッジ WAF デプロイを有効化および設定することができます。
また、CDN サービス上に Next-Gen WAF をデプロイする場合は、以下の点に注意してください。
既存の CDN サービスに Next-Gen WAF を追加すると、サービスチェーンの制限にカウントされます。
Fastly コンソールでのオリジンに対する更新は、エッジ WAF に自動的に同期されます。つまり、オリジンを手動で同期する必要はありません。
デプロイの設定
- Fastly control panel
- Fastly プロダクト API
既存の CDN または Compute サービスに Next-Gen WAF をデプロイするには、次の手順を実行します。
- Fastly コンソールにログインしてください。
- Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
Service configuration、Security の順にクリックします。
Next-Gen WAF カードに以下のデプロイ設定を入力します。

Workspace メニューから、サービスにリンクさせたいワークスペースを選択します。アカウントにワークスペースが1つしかない場合、このフィールドは読み取り専用になります。
(CDN サービスのみ) % of traffic フィールドに、Next-Gen WAF で検査するトラフィックの割合 (パーセント) を入力します。
100に設定されている場合は、ご利用のサービスへのすべてのトラフィックが検査されます。値が100未満の場合は、指定された割合のランダムサンプルが検査されます。
Next-Gen WAF スイッチをクリックしてオンの位置に切り替えます。
確認ウィンドウで、Update all versions をクリックします。
(オプション) 攻撃ツールを使用して、Next-Gen WAF が Web アプリケーションを監視し、悪意のある異常なリクエストを識別していることを確認します。
ヒント: Compute サービスをご利用の場合は、Fastly コンソールの手順に従ってサービスに Next-Gen WAF をデプロイしてください。
Fastly API を使用して既存の CDN サービスに Next-Gen WAF をデプロイするには、認証用の Fastly-Key ヘッダーが必要です。Fastly API キーには、関連する CDN サービスへの書き込みアクセス権限が必要です。
curl コマンドラインツールを使用し、ターミナルアプリケーションで プロダクトを有効にする API エンドポイントを呼び出して、ご利用のサービス上で Next-Gen WAF を有効にし、サービスをワークスペースにリンクします。
$ curl -H "Fastly-Key: ${FASTLY_API_TOKEN}" -H 'Content-Type: application/json' -X PUT \-d '{"workspace_id": "${NGWAF_WORKSPACE_ID}"}' \"https://api.fastly.com/enabled-products/v1/ngwaf/services/${FASTLY_SERVICE_ID}"(オプション) curl コマンドラインツールを使用して、ターミナルアプリケーションでプロダクトを設定する API エンドポイントを呼び出し、Next-Gen WAF が検査するトラフィック量を変更します。値を
100に設定すると、すべてのトラフィック (100%) が検査されます。値が100未満の場合は、指定された割合のランダムサンプルが検査されます。デフォルトでは、Next-Gen WAF はすべてのトラフィックを検査します。$ curl -H "Fastly-Key: ${FASTLY_API_TOKEN}" -H 'Content-Type: application/json' -X PATCH \-d '{"workspace_id": "${NGWAF_WORKSPACE_ID}", "traffic_ramp": 20}' \"https://api.fastly.com/enabled-products/v1/ngwaf/services/${FASTLY_SERVICE_ID}/configuration"(オプション) 攻撃ツールを使用して、Next-Gen WAF が Web アプリケーションを監視し、悪意のある異常なリクエストを識別していることを確認します。
デプロイを設定する
- Fastly control panel
- Fastly プロダクト API
CDN または Compute サービス上のデプロイを更新するには、次の手順を実行します。
- Fastly コンソールにログインしてください。
- Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
Service configuration、Security の順にクリックします。
Next-Gen WAF カードに以下のデプロイ設定を入力します。
ヒント: Next-Gen WAF がすでに有効になっている場合は、鉛筆アイコン をクリックして設定を編集し、Submit をクリックして更新された値を保存します。
Workspace メニューから、サービスにリンクさせたいワークスペースを選択します。アカウントにワークスペースが1つしかない場合、このフィールドは読み取り専用になります。
(CDN サービスのみ) % of traffic フィールドに、Next-Gen WAF で検査するトラフィックの割合 (パーセント) を入力します。
100に設定されている場合は、ご利用のサービスへのすべてのトラフィックが検査されます。値が100未満の場合は、指定された割合のランダムサンプルが検査されます。
Next-Gen WAF で、スイッチをオンの位置に設定してご利用のサービスの Next-Gen WAF を有効にするか、またはオフの位置に設定してサービスの Next-Gen WAF を無効にします。
確認ウィンドウで、Update all versions をクリックします。
(オプション) 攻撃ツールを使用して、Next-Gen WAF が Web アプリケーションを監視し、悪意のある異常なリクエストを識別していることを確認します。
ヒント: Compute サービスをご利用の場合は、Fastly コンソールの手順に従ってデプロイを設定してください。
curl コマンドラインツールを使用して、ターミナルアプリケーションでプロダクトを設定する API エンドポイントを呼び出し、CDN サービス上のエッジ WAF デプロイを設定します。このエンドポイントでは、認証用の Fastly-Key ヘッダーと、JSON 本文に以下のパラメータを少なくとも1つ含める必要があります。
workspace_id: サービスにリンクしたいワークスペースの ID。traffic_ramp: Next-Gen WAF が検査するトラフィックの割合。値を100に設定すると、すべてのトラフィック (100%) が検査されます。値が100未満の場合は、指定された割合のランダムサンプルが検査されます。デフォルトでは、Next-Gen WAF はすべてのトラフィックを検査します。
$ curl -H "Fastly-Key: ${FASTLY_API_TOKEN}" -H 'Content-Type: application/json' -X PATCH \-d '{"workspace_id": "${NGWAF_WORKSPACE_ID}", "traffic_ramp": 20}' \"https://api.fastly.com/enabled-products/v1/ngwaf/services/${FASTLY_SERVICE_ID}/configuration"デプロイを無効にする
CDN または Compute サービスのエッジ WAF デプロイを無効にするには、次の手順を実行します。
- Fastly control panel
- Fastly プロダクト API
- Fastly コンソールにログインしてください。
- Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
Service configuration、Security の順にクリックします。
Next-Gen WAF カードで、Next-Gen WAF をオフの位置に設定します。
確認ウィンドウで、Update all versions をクリックします。
Curl コマンドラインツールを使用して CDN サービスのエッジ WAF デプロイを無効にするには、ターミナルアプリケーションでプロダクトを無効にする API エンドポイントを呼び出します。
ヒント: Fastly API を使用して Next-Gen WAF を無効にするには、認証用の Fastly-Key ヘッダーが必要です。Fastly API キーには、関連するサービスへの書き込み権限が必要です。
$ curl -H "Fastly-Key: ${FASTLY_API_TOKEN}" -H 'Content-Type: application/json' -X DELETE \"https://api.fastly.com/enabled-products/v1/ngwaf/services/${FASTLY_SERVICE_ID}"検査を無効にする
waf.inspection.disabled VCL 変数を追加することで、Next-Gen WAF はユーザーが定義した条件を満たすリクエストを検査できなくなります。たとえば、この変数を使用して WAF をバイパスし、トラフィックの静的コンテンツへのアクセスを許可します。
特定のリクエストの検査を無効にするには、VCL スニペットを作成します:
- Fastly コンソールにログインしてください。
- Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
- Edit configuration をクリックし、オプションを選択してアクティブバージョンをクローンします。
VCL をクリックします。
VCL snippets をクリックします。
Add snippet をクリックします。
以下の要領で、Add VCL snippet の各フィールドに入力します。
Type のセクションで、Regular を選択し、通常の VCL スニペットを作成します。
Name フィールドに、適切な名前 (例:
Disable WAF inspection) を入力します。Placement コントロールで、Within subroutine を選択します。
Subroutine メニューから、recv (
vcl_recv) を選択します。(オプション) Priority フィールドにスニペットを実行する順序を入力します。数値の小さい順に実行されます。
VCL エディターに以下のコードを追加します。
if (req.url.ext ~ "(?i)^(css|js|gif|png)") {set waf.inspection.disabled = true;}
Add をクリックしてスニペットを作成します。
- Activate メニューから、Activate on Production を選択して、設定の変更をデプロイします。
