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 ブール値 受信したトークンが有効かどうか。スコアが低くても、トークンが不正な形式でないか期限切れでない限り、トークンは有効です。
recaptcha.token.action 文字列 トークン生成時に提供されるアクション名。 アクション トークンに対してのみ入力されます。これは、トークンの作成時に 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 文字列 受信リクエストの IP アドレス。
http.path 文字列 リクエスト URI のパス。
http.domain 文字列 リクエストされた URI のドメイン。

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

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

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

次のステップ