We've been making changes to how we organize and display our docs. Our work isn't done but we'd love your feedback.
Getting started
Basics
Domains & Origins
Performance

Configuration
Basics
Conditions
Dictionaries
Domains & Origins
Request settings
Cache settings
Headers
Responses
Performance
Custom VCL
Image optimization
Video

Security
Access Control Lists
Monitoring and testing
Securing communications
TLS
Web Application Firewall

Integrations
Logging endpoints
Non-Fastly services

Diagnostics
Streaming logs
Debugging techniques
Common errors

Account info
Account management
Billing
User access and control

Reference

    Fastly WAF のログ

      Last updated February 27, 2019

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

    ログエンドポイントの設定

    WAF を利用して悪意のあるトラフィックをモニタリングするために、リモートログストリーミングを設定して WAF 変数をログに取得して下さい。既存のログ配信設定を利用することや、新規のログ配信設定を作成することも可能です。ログから 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 に設定する必要があります。

    1
    
    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 を設定することを推奨します。:

    1
    
    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 リクエストがルールにマッチし、ロギングに設定されている特定のルールに該当するかもしくは、ロギングに設定されている OWASP ルールのしきい値を超えた場合に 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 カテゴリースコア変数は、リクエストが該当したカテゴリーごとのスコアの累積値を記録します。この情報は攻撃カテゴリーごとの最低値、平均値、最大値を把握するために利用され、それぞのれカテゴリーごとに異なるしきい値を設定することが可能です。アクティブ (ブロック) モードにおいては、リクエストがカテゴリーごとのしきい値を超えた場合にリクエストがブロックされます。

    Back to Top

    Additional resources: