ログとメトリクスの CAPTCHA および Challenge アクション - AWS WAF、AWS Firewall Manager、AWS Shield Advanced、および AWS Shield ネットワークセキュリティディレクター

AWS WAF の新しいコンソールエクスペリエンスのご紹介

更新されたエクスペリエンスを使用して、コンソールの任意の場所で AWS WAF 機能にアクセスできるようになりました。詳細については、「更新されたコンソールエクスペリエンスを使用する」を参照してください。

ログとメトリクスの CAPTCHA および Challenge アクション

このセクションでは、AWS WAF が CAPTCHA および Challenge アクションのログ記録とメトリクスを処理する方法について説明します。

Challenge および CAPTCHA アクションは、Count のように終了しない場合もあれば、Block のように終了する場合もあります。結果は、リクエストがアクションタイプの有効期限が切れていない有効なトークンがあるかどうかによって異なります。

  • 有効なトークン – アクションが有効なトークンを検出してリクエストをブロックしないとき、AWS WAF は次のようにメトリクスとログをキャプチャします。

    • CaptchaRequests および RequestsWithValidCaptchaToken または ChallengeRequests および RequestsWithValidChallengeToken のいずれかのメトリクスを増分します。

    • CAPTCHA または Challenge のアクションで nonTerminatingMatchingRules エントリとして一致をログに記録します。次のリストは、CAPTCHA アクションを使ったこの一致タイプにおけるログのセクションを示しています。

      "nonTerminatingMatchingRules": [ { "ruleId": "captcha-rule", "action": "CAPTCHA", "ruleMatchDetails": [], "captchaResponse": { "responseCode": 0, "solveTimestamp": 1632420429 } } ]
  • トークンの不足、無効、有効期限切れ – トークンの不足または無効が原因でアクションがリクエストをブロックすると、AWS WAF は次のようにメトリクスおよびログをキャプチャします。

    • CaptchaRequests または ChallengeRequests のメトリクスを増分させます。

    • 一致を HTTP 405 ステータスコードを含む CaptchaResponse エントリ、あるいは HTTP 202 ステータスコードを含む ChallengeResponse エントリとしてログ記録します。ログは、リクエストにトークンが不足しているか、トークンの有効期限が切れているか示します。ログは、AWS WAF が CAPTCHA インタースティシャルページをクライアントに送信したのか、クライアントブラウザにサイレントチャレンジを送信したのかも表示します。次のリストは、CAPTCHA アクションを含むこのタイプの一致におけるログのセクションを示しています。

      "terminatingRuleId": "captcha-rule", "terminatingRuleType": "REGULAR", "action": "CAPTCHA", "terminatingRuleMatchDetails": [], ... "responseCodeSent": 405, ... "captchaResponse": { "responseCode": 405, "solveTimestamp": 0, "failureReason": "TOKEN_MISSING" }

AWS WAF ログの詳細については、「ログ記録 AWS WAF 保護パック (ウェブ ACL) トラフィック」を参照してください。

AWS WAF メトリクスの詳細については、「AWS WAF のメトリクスとディメンション」を参照してください。

ルールアクションのオプションの一般的な情報については、「AWS WAF でのルールアクションの使用」を参照してください。

トークンのないリクエストは、ログとメトリクスに 2 回表示されるように見える

このセクションで説明されている CAPTCHA および Challenge アクション動作、ログ記録とメトリクスに基づいて、トークンのないリクエストは通常、ログとメトリクスに 2 回表示されます。これは、意図した 1 つのリクエストが実際にクライアントによって 2 回送信されるためです。

  • トークンのない最初のリクエストは、欠落、無効、または期限切れのトークンについて、上記のログ記録とメトリクス処理を受け取ります。CAPTCHA または Challenge アクションはこの最初のリクエストを終了し、サイレントチャレンジまたは CAPTCHA パズルのいずれかでクライアントに応答します。

  • クライアントはチャレンジまたはパズルを評価し、クライアントブラウザまたはエンドユーザーが正常に応答すると、新しく取得したトークンを使用してリクエストを再度送信します。この 2 番目のリクエストは、有効なトークンを持つリクエストについて、上記のログ記録とメトリクス処理を受け取ります。