LOG IN SIGN UP
Documentation

Fastly WAF のログ

  Last updated October 02, 2017

悪意のあるトラフィックを監視、特定するための様々な WAF 関連のログ変数を利用する事が出来ます。 これらの変数を通じて、リクエストに対して処理された Fastly WAF の動作を確認することが出来ます。

OWASP ルール

ひとつのリクエストが複数の OWASP ルールに該当する場合もあります。デフォルトではログは vcl_deliver または vcl_log で記録されますが、 vcl_deliver または vcl_log でログが記録された場合は、リクエストが複数の OWASP ルールに該当していても、異常評価値 (anomaly score) の累積値と、最後に該当したルールの情報のみが記録されます。

waf_debug_log

waf_debug_log サブルーチンでは、ひとつのリクエストに対して発生した複数の OWASP ルールを、それぞれ個別のログとして記録することが出来ます。ログの配信設定をこのサブルーチンに設定するためには、 以下の cURL コマンドを利用して、ログの placement パラメーターを waf_debug に設定する必要があります。

curl -X PUT -H 'Fastly-Key: FASTLY_API_TOKEN' -H 'Content-Type: application/json' 'https://api.fastly.com/service/<your Fastly service ID>/version/<version_id>/logging/<logging_integration>/<logging_name>' --data-binary '{"placement":"waf_debug"}'

複数の OWASP ルールに該当するリクエストをトラックするために request_id を設定することを推奨します。:

set req.http.x-request-id = digest.hash_sha256(now randomstr(64) req.http.host req.url req.http.Fastly-Client-IP server.identity);

WAF 変数を利用する

悪意のあるトラフィックを監視、特定するための様々な WAF 関連のログ変数を利用する事が出来ます。 これらの変数を通じて、リクエストに対して処理された次のような Fastly WAF の動作を確認することが出来ます。

Fastly WAF の動作を確認するために、次の変数を利用することが出来ます。

変数             説明
waf.executed リクエストが WAF により処理されたかどうかを示します。処理された場合は 1 (true) が、処理されていない場合は 0 (false) が記録されます。
waf.blocked リクエストが特定の ブロックに設定されているルールに該当し、特定の OWASP ルールのしきい値を超えた場合に true が設定されます。ブロックされた場合は1 (true) 、ログとして記録されたもののブロックされていない場合は 0 (false) が記録されます。
waf.logged   監視モードにおいて、リクエストが特定のルールに該当し、そのルールがログ設定されている場合に true が記録されます。アクティブ (ブロック) モードにおいては、waf.blockedtrue の場合、こちらも true が記録されます。 true の場合は 1 、false の 場合は 0 で記録されます。
waf.failures リクエストが WAF ルールセットの評価に失敗し、リクエストが WAF の処理をスキップした場合に true が記録されます。true の場合は 1 、false の 場合は 0 で記録されます。
waf.logdata ルールに該当した原因となったリクエストの箇所が記録されます。そのため、ルールにより記録される内容は異なります。
waf.message ルールに該当するための一般的な条件。例えば SLR: Arbitrary File Upload in Wordpress Gravity Forms plugin
waf.rule_id ルールの ID。
waf.severity ルールの重要度。0 が一番高く、7 が一番低い値です。99 はリクエストがどのルールにも該当しなかったなど、重要度が適用されないことを示します。
waf.anomaly_score 複数の OWASP ルールに該当した場合に、スコアの累積値が記録されます。詳細は OWASP カテゴリー スコア変数を参照して下さい。
waf.passed   リクエストがどの WAF ルールにも該当しなかったことを示します。true の場合は 1 、false の 場合は 0 で記録されます。waf.passedvcl_delivervcl_log で読み込むことが出来ますが、 waf_debug_log で読み込むことは出来ません。この値は WAF ルールセットの処理を完了した後に設定されます。

OWASP カテゴリー スコア変数

特定のリクエストが OWASP のルールで処理される際、ひとつのリクエストが異なる攻撃カテゴリーからなる複数のルール ID に該当する可能性があります。OWASP カテゴリースコア変数は、リクエストが該当したカテゴリーごとのスコアの累積値を記録します。この情報は攻撃カテゴリーごとの最低値、平均値、最大値を把握するために利用され、それぞのれカテゴリーごとに異なるしきい値を設定することが可能です。アクティブ (ブロック) モードにおいては、リクエストがカテゴリーごとのしきい値を超えた場合にリクエストがブロックされます。


Additional resources:


Back to Top