このドキュメントでは、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 式の
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 |
カスタム ヘッダーを設定し、受信ユーザー リクエストをバックエンドに転送できるようにします。バックエンドはカスタム保護をトリガーできます。 | ヘッダーはユーザー リクエストに添付されます。バックエンドは、このヘッダーを使用してカスタム保護または分析をトリガーします。 |