CAPTCHA および Challenge アクション動作 - AWS WAF、 AWS Firewall ManagerAWS Shield Advanced、および AWS Shield ネットワークセキュリティディレクター

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

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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CAPTCHA および Challenge アクション動作

このセクションでは、CAPTCHA および Challenge アクションの役割について説明します。

ウェブリクエストが CAPTCHAまたは Challengeアクションでルールの検査基準に一致すると、 はトークンの状態とイミュニティ時間設定に従ってリクエストを処理する方法 AWS WAF を決定します。 は、リクエストが CAPTCHA パズルまたはチャレンジスクリプトインタースティシャルを処理できるかどうか AWS WAF も考慮します。スクリプトは HTML コンテンツとして処理されるように設計されており、HTML コンテンツを想定しているクライアントによってのみ適切に処理されることが可能です。

注記

CAPTCHA または Challenge ルールアクションを 1 つのルールで使用、あるいはルールグループでルールアクションのオーバーライドとして使用すると、追加料金が請求されます。詳細については、「AWS WAF 料金」を参照してください。

アクションがウェブリクエストを処理する方法

AWS WAF は、次のように CAPTCHAまたは Challengeアクションをウェブリクエストに適用します。

  • 有効なトークン – アクションと同様にこれ AWS WAF を処理します。 は、ルールCountアクション用に設定したラベルとリクエストのカスタマイズ AWS WAF を適用し、保護パック (ウェブ ACL) の残りのルールを使用してリクエストの評価を続行します。

  • トークンの欠落、無効、または期限切れ — リクエストの保護パック (ウェブ ACL) の評価 AWS WAF を停止し、意図した送信先への送信をブロックします。

    AWS WAF は、ルールアクションタイプに従って、クライアントに返されるレスポンスを生成します。

    • Challenge – AWS WAF はレスポンスに次のものが含まれます。

      • 値が challenge のヘッダー x-amzn-waf-action

        注記

        クライアントブラウザで実行されている Javascript アプリケーションの場合、このヘッダーはアプリケーションのドメイン内でのみ使用できます。ヘッダーは、クロスドメイン取得には使用できません。詳細については、次のセクションを参照してください。

      • HTTP ステータスコード 202 Request Accepted

      • 値が text/htmlAccept ヘッダーがリクエストに含まれている場合、応答にはチャレンジスクリプトを備えた JavaScript ページインタースティシャルが含まれます。

    • CAPTCHA – レスポンスに以下 AWS WAF を含めます。

      • 値が captcha のヘッダー x-amzn-waf-action

        注記

        クライアントブラウザで実行されている Javascript アプリケーションの場合、このヘッダーはアプリケーションのドメイン内でのみ使用できます。ヘッダーは、クロスドメイン取得には使用できません。詳細については、次のセクションを参照してください。

      • HTTP ステータスコード 405 Method Not Allowed

      • text/html の値の Accept ヘッダーがリクエストに含まれている場合、応答には CAPTCHA スクリプトを使った JavaScript ページのインタースティシャルが含まれます。

保護パック (ウェブ ACL) またはルールレベルでトークンの有効期限を設定する方法については、「」を参照してくださいでのタイムスタンプの有効期限とトークンイミュニティ時間の設定 AWS WAF

ヘッダーは、クライアントブラウザで実行される JavaScript アプリケーションでは使用できません

が CAPTCHA またはチャレンジ AWS WAF レスポンスでクライアントリクエストに応答する場合、Cross-Origin Resource Sharing (CORS) ヘッダーは含まれません。CORS ヘッダーは、JavaScript アプリケーションがどのドメイン、HTTP メソッド、および HTTP ヘッダーを使用できるかをクライアントウェブブラウザに指示する一連のアクセスコントロールヘッダーです。CORS ヘッダーがないと、クライアントブラウザで実行されている JavaScript アプリケーションには HTTP ヘッダーへのアクセスが許可されないため、CAPTCHA および Challenge 応答で提供される x-amzn-waf-action ヘッダーを読み取ることができません。

チャレンジと CAPTCHA インタースティシャルの機能

チャレンジインタースティシャルが実行されると、クライアントが応答に成功した後、まだトークンがない場合、インタースティシャルがトークンを初期化します。その後、チャレンジ解決のタイムスタンプでトークンを更新します。

CAPTCHA インタースティシャルを実行するとき、クライアントがまだトークンを持っていない場合、CAPTCHA インタースティシャルはまずチャレンジスクリプトを呼び出し、ブラウザにチャレンジしてトークンを初期化します。その後、インタースティシャルは CAPTCHA パズルを実行します。エンドユーザーがパズルの完成に成功すると、インタースティシャルはトークンを CAPTCHA 解決のタイムスタンプで更新します。

いずれの場合も、クライアントが応答に成功してスクリプトがトークンを更新した後、スクリプトは更新されたトークンを使用して元のウェブリクエストを再送信します。

がトークン AWS WAF を処理する方法を設定できます。詳細については、「AWS WAF インテリジェントな脅威の軽減におけるトークンの使用」を参照してください。