Fastly waf (オリジナル) の管理

重要

2023年4月30日をもって、Fastly WAF (WAF のレガシー製品および WAF 2020) の正式なサポートが終了し、それ以降は同製品に対するサポートが受けられなくなります。これらに代わる Fastly Next-Gen WAF は、同様の機能に加えて新たな機能も備えています。この新しい Web アプリケーションファイアーウォールは疑わしい、あるいは異常な Web トラフィックをモニタリングし、特定のアプリケーションやオリジンサーバーに対する攻撃をリアルタイムでブロックします。同製品は、コントロールパネルのダッシュボードまたはアプリケーション・プログラミング・インターフェイス (API) でコントロールできます。Fastly Next-Gen WAF の詳細や、同製品への移行については、waftransition@fastly.com までお問い合わせください。

Fastly WAF潜在的な攻撃を検出してブロックするルールを提供します。これらのルールはポリシーとしてまとめられ、エッジに配置された Fastly のサービスにデプロイされます。

Fastly WAF ルールセットの点検

Fastly WAF ルールセットはいつでも点検することが出来ます。API コールを行うことで、Fastly WAF ルールに関連するすべてのデータをダウンロードできます。WAF ルールセットを点検するには、以下の curl コマンドをターミナルアプリケーションから実行して下さい。

$ curl -H 'Fastly-Key: FASTLY_API_TOKEN' https://api.fastly.com/service/<your Fastly service ID>/wafs/<your WAF ID>/ruleset | perl -pe 's/\\n/\n/g'
注意

| perl -pe 's/\\n/\n/g'は必須ではありませんが、フォーマットがしやすくなります。

WAF ルールの VCL を確認する

特定の WAF ルールの VCL を確認するには、ターミナルアプリケーションで以下の curl コマンドを実行して下さい。

$ curl -H 'Fastly-Key: FASTLY_API_TOKEN' https://api.fastly.com/wafs/<your WAF ID> /rules/<rule_id>/vcl

詳細については API ドキュメントをご参照下さい。

リクエストをブロックする

初めて Fastly WAF を有効化する際には、誤検知の影響を最小限に抑えるために、すべてのルールに log ステータスが設定されます。最低2週間程度ログをモニタリングし、アプリケーションへの正規のユーザーリクエストがブロックされないことを確実にしてから、ブロックモードに移行することを推奨いたします。リクエストはルールを log から block ステータスに変更しない限りブロックされることはありません。

ルールステータスの変更

ルールのステータスを log から disabled あるいは block に変更するには、ルールセットを点検、またはログをレビューして waf.rule_id 変数を見つけます。変数が確認できたら、各ルールに対して以下の curl コマンドをターミナルアプリケーションから実行します。

$ curl -H 'Fastly-Key: FASTLY_API_TOKEN' -X PATCH -d '{"data": {"id": "<your WAF ID>-<WAF rule ID>", "type": "rule_status", "attributes":{ "status": "block"}}}' -H 'Content-Type: application/vnd.api+json' https://api.fastly.com/service/<your Fastly service ID>/wafs/<your WAF ID>/rules/<WAF rule ID>/rule_status

複数のルールのステータスをまとめて変更したい場合は、次の curl コマンドをターミナルアプリケーションで実行することでフィルタータグ(application-WordPresslanguage-htmlOWASP など)を利用できます。

$ curl -H 'Fastly-Key: FASTLY_API_TOKEN' -X POST -d '{"data": {"id": "<your WAF ID>", "type": "rule_status", "attributes": {"name": <tag>, "status": "block"}}}' -H 'Content-Type: application/vnd.api+json' https://api.fastly.com/service/<your Fastly service ID>/wafs/<your WAF ID>/rule_statuses
注意

フィルタータグを使ってルールのグループのルールステータスを変更する際、上記の API コールは個別に更新された無効なルールのステータスを保持します。フィルタータグ付けされたルールに強制的に log または block のステータスを設定したい場合は、リクエストボディの属性に force:true パラメーターを追加します。

詳細については API ドキュメントをご参照下さい。ルールのステータスを block に変更後、変更を有効化する必要があります。

注意

1,000以上のルールを有効化する必要がある場合は、Fastly サポートチーム support@fastly.com までご連絡下さい

OWASP 設定

OWASP によるブロックは、以下の条件に基づきます。

  • log モードに設定されているすべての OWASP ルール (disabled から block モードに変更されているものを除く)
  • 累積スコアおよび攻撃カテゴリーに対して設定されているしきい値

リクエストが OWASP ルールをトリガーした場合、攻撃カテゴリーのスコアと累積スコアを返します。最終スコアのいずれかがしきい値を超えて、OWASP ルールがブロックモードにある場合、Fastly はユーザーにカスタムエラーレスポンスを送信します。

OWASP 設定の確認

OWASP 設定を確認するには、以下の curl コマンドをターミナルアプリケーションから実行して下さい。

$ curl -H 'Fastly-Key: FASTLY_API_TOKEN' https://api.fastly.com/service/<service_id>/wafs/<your WAF ID>/owasp

累積異常スコアは inbound_anomaly_score_threshold フィールドに表示されます。

OWASP 設定の変更

OWASP 設定オブジェクトを変更するには、以下の OWASP 更新コマンドをターミナルアプリケーションで実行して下さい。

$ curl -X PATCH -v -H "Content-Type: application/vnd.api+json" -H "Accept: application/vnd.api+json" -H "Fastly-Key: FASTLY_API_TOKEN" https://api.fastly.com/service/<service_id>/wafs/<waf_id>/owasp -d '{"data": {"attributes":{"inbound_anomaly_score_threshold":"50"}, "id":"<owasp_id>", "type":"owasp"}}'

OWASP 設定の変更が完了したら、変更を有効化します。

変更の有効化

ルールのスタータスを変更した後、ターミナルアプリケーションで以下の curl コマンドを実行して変更を有効化させる必要があります。

$ curl -H 'Fastly-Key: FASTLY_API_TOKEN' -X PATCH -d '{"data": {"id": "<your WAF ID>", "type": "ruleset"}}' -H 'Content-Type: application/vnd.api+json' https://api.fastly.com/service/ID/wafs/ID/ruleset

詳細については API ドキュメントをご参照下さい。

ルールにバージョンはありません。ルールへの変更は上記コマンドを実行することで有効になります。変更を有効にするために、新しいバージョンのサービスを有効化する必要はありません。


翻訳についての注意事項
このガイドは役に立ちましたか?

このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合はお問い合わせください : support@fastly.com