reCAPTCHA ファイアウォール ポリシーの概要

このドキュメントでは、reCAPTCHA ファイアウォール ポリシーの概要について説明します。

reCAPTCHA ファイアウォール ポリシーは、スパムや不正行為からサイトを保護するために、条件の属性に一致する一連のルールです。各ルールは受信トラフィックについて評価されます。ルールは、ポリシーで追加された順序で評価されます。

reCAPTCHA ファイアウォール ポリシーのコンポーネント

reCAPTCHA ファイアウォール ポリシールールは、次のコンポーネントで構成されています。

  • path: ファイアウォール ポリシールールが適用される URL パス。例: /login
  • condition: ポリシー条件。ポリシー条件は、ブール値に解決される CEL(Common Expression Language)式です。例: recaptcha.score >= 0.5
  • action: ポリシー条件が満たされたときに、WAF サービス プロバイダが実行する必要があるアクション。詳細については、ポリシーのアクションをご覧ください。

受信リクエストが指定されたパスのポリシー条件と一致する場合、WAF サービス プロバイダは指定されたアクションに基づいてリクエストを許可、ブロック、またはリダイレクトします。デフォルトのルールではアクセスを許可します。

reCAPTCHA ファイアウォール ポリシーの例

次の reCAPTCHA ファイアウォール ポリシーの例には、login アクションに適用されるルールが含まれています。スコアが 0.5 未満の場合は、アクセスがブロックされます。

     policy {
          path: login.php
          condition: recaptcha.score < 0.5
          action: block
        }

reCAPTCHA ファイアウォール ポリシー条件の属性

次の表に、reCAPTCHA ファイアウォール ポリシーの条件を定義するために使用できる reCAPTCHA トークン属性を示します。

属性名 データ型 説明
recaptcha.token.valid boolean 受信したトークンが有効かどうか。トークンは、スコアが低い場合でも、不正な形式や期限切れでない間は有効です。
recaptcha.token.action string トークン生成時に提供されるアクション名。 アクション トークンに対してのみ入力されます。これは、トークンの作成時に grecaptcha.enterprise.execute() に渡される action パラメータです。 詳細については、アクション名をご覧ください。
recaptcha.score float reCAPTCHA トークンからのスコア。有効なスコアの範囲は 0.0 ~ 1.0 です。 スコア 1.0 は、インタラクションのリスクが低く、正当である可能性が非常に高いことを示します。一方で 0.0 は、インタラクションのリスクが高く、不正行為の可能性があることを示します。詳細については、スコアの解釈をご覧ください。
recaptcha.assessment_type 整数 実施された評価の種類。assessment_type は、リクエストで渡される WAF の reCAPTCHA キーに従って設定されます。

CEL 式の recaptcha.assessment_type の値を比較するには、次のいずれかの定数を使用します。

  • AssessmentType.ACTION
  • AssessmentType.SESSION
  • AssessmentType.CHALLENGEPAGE
  • AssessmentType.EXPRESS
たとえば、アクション トークン評価を比較するには、AssessmentType.ACTION を使用します。
http.ip string 受信リクエストの IP アドレス。
http.path string リクエスト URI のパス。
http.domain string リクエストされた URI のドメイン。

reCAPTCHA ファイアウォール ポリシーのアクション

次の表に、reCAPTCHA ファイアウォール ポリシールールで指定できるさまざまなポリシー アクションを示します。

ポリシーのアクション 説明 アクションの結果
allow リクエストされたページへのアクセスを許可します。 受信したユーザー リクエストが中断されることはありません。
block リクエストされたページへのアクセスを拒否します。 403(禁止)HTTP エラーがユーザーに返されます。
redirect 受信したユーザー リクエストを reCAPTCHA 課題ページにリダイレクトします。 reCAPTCHA 課題ページでは、ユーザー リクエストを評価し、評価に基づいて Cookie を添付します。その後、ユーザー リクエストは元のページにリダイレクトされます。
substitute リクエストされたページ以外のページを不正なユーザー リクエストに配信する バックエンドにリクエストを送信するときに、リクエストされたパスが別のパスに置き換えられます。ユーザーには元の URL が引き続き表示されます。
set_header カスタム ヘッダーを設定し、受信ユーザー リクエストをバックエンドに転送できるようにします。バックエンドはカスタム保護をトリガーできます。 ヘッダーはユーザー リクエストに添付されます。バックエンドは、このヘッダーを使用してカスタム保護または分析をトリガーします。

次のステップ