-
Guides
- Fastly Status
Fastly WAF の運用
Last updated August 15, 2018
Fastly WAF は潜在的な攻撃を検出してブロックするためのルールを提供します。これらのルールはポリシーとしてまとめられ Fastly のエッジで動作するサービスに展開されます。
重要: この機能は、限定提供版 (Limited Availability) としてリリースされています。詳細については、製品と機能のライフサイクルの説明をご覧ください。
Fastly WAF ルールセットの確認
サービスに関連付けられたすべての WAF ルールのデータは API コールで取得することが出来ます。情報を取得するには、以下の cURL コマンドをターミナルアプリケーションから実行して下さい。
1
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 コマンドを実行して下さい。:
1
curl -H 'Fastly-Key: FASTLY_API_TOKEN' https://api.fastly.com/wafs/<your WAF ID> /rules/<rule_id>/vcl
詳細については API ドキュメントを参照下さい。
リクエストをブロック
初めて Fastly WAF を有効化する際には、偽陽性の影響を最小限に抑えるために、すべてのルールに log
ステータスが設定されます。リクエストはルールを block
モードに変更しない限りブロックされることはありません。最低2週間程度ログをモニタリングし、アプリケーションへの正規のユーザーリクエストがブロックされないことを確実にしてから、ブロックモードに移行することを推奨いたします。
ルールステータスの変更
ルールのステータスを log
から disabled
または block
に変更するには、Fastly のルールセットもしくは、WAF ログから waf.rule_id
変数を確認して下さい。waf.rule_id
が確認できたら、各ルールに対して、以下の cURL コマンドをターミナルアプリケーションから実行して下さい。
1
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
フィルタータグ (例、application-WordPress
、language-html
、OWASP
) を利用して複数のルールのステータスをまとめて変更したい場合は、以下の cURL コマンドを実行して下さい。
1
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
注意: 個別に disable に設定されたルールについては、上記の API コールでフィルタータグを利用して複数のルールのステータスを変更しても disable ステータスが保持されます。もし特定のフィルタータグ配下のルールについて強制的に log
または block
を設定したい場合は、リクエストボディの attributes に force:true
パラメーターを追加して下さい。
詳細については API ドキュメントをご参照下さい。ルールのステータスの block
への変更が完了したら、変更を有効化する必要があります。
注意: 1,000 以上のルールを有効化する必要がある場合は、Fastly サポートチーム support@fastly.com までご連絡下さい。
OWASP 設定
OWASP によるブロックは以下の条件を満たす必要があります:
- (
log
からdisabled
モードに変更されているものを除き) ルールがblock
モードに設定されている - しきい値が累積スコアおよび攻撃カテゴリーに設定されている
リクエストが OWASP ルールに検知された場合、攻撃カテゴリーごとのスコアと、OWASP ルール全体のスコアの累積値が記録されます。 block モードに設定されているルールに対して、リクエストの最終的なスコアが OWASP ルールに設定されたしきい値を上回った場合に、Fastly はリクエストをブロックし、設定したエラーレスポンスを返却します。
OWASP 設定の確認
OWASP 設定を確認するには、以下の cURL コマンドをターミナルアプリケーションから実行して下さい。
1
curl -H 'Fastly-Key: FASTLY_API_TOKEN' https://api.fastly.com/service/<service_id>/wafs/<your WAF ID>/owasp
OWASP ルール全体のスコア累積値に対するしきい値は inbound_anomaly_score_threshold
フィールドに含まれます。
OWASP 設定の変更
OWASP 設定オブジェクトの変更は、以下の OWASP 更新コマンドをターミナルアプリケーションで実行して下さい:
1
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"}}'
OWSAP 設定の変更が完了したら、変更を有効化して下さい。
変更の有効化
ルールのスタータスを変更した後、ターミナルアプリケーションで以下の cURL コマンドを実行して変更を有効化させる必要があります。
1
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/<service_id>/wafs/<waf_id>/ruleset
詳細については API ドキュメントをご参照下さい。
ルールにバージョンはありません。ルールに行った変更は上記コマンドを実行することで有効になります。変更を有効にするために、新しいバージョンのサービスを有効化する必要はありません。
Back to Top