このドキュメントでは、reCAPTCHA WAF の機能の実装に基づいて作成できる reCAPTCHA ファイアウォール ポリシーの例を示します。
例 1: アクション トークンを使用した reCAPTCHA ファイアウォール ポリシー
reCAPTCHA アクション トークンを追加して、ログインなどのユーザー アクションを保護できます。 ユーザーがログイン アクションを開始したときに reCAPTCHA Cookie が発行されるようにするには、ホームページに reCAPTCHA アクション トークン スクリプトを統合します。
次のルールを使用して reCAPTCHA ファイアウォール ポリシーを作成します。
- ルールを適用するパス。この場合は
login.php
です。 - アクション トークンのアクション名の属性が保護されているユーザー アクションと一致しない場合、またはスコアが 0.1 以下の場合、アクセスをブロックします。
gcloud recaptcha firewall-policies create \
--description="example1 policy" \
--path="/login.php" \
--condition="recaptcha.token.action != "login" || recaptcha.score <= 0.1" \
--actions="block"
次の図は、reCAPTCHA アクション トークン機能を使用するワークフローと、対応する reCAPTCHA ファイアウォール ポリシーを示しています。
例 2: セッション トークンを使用した reCAPTCHA ファイアウォール ポリシー
ユーザーがアクセスする可能性のあるページ(たとえば購入手続きページなど)に、reCAPTCHA セッション トークンを追加して、Cookie が定期的に更新されるようにします。 reCAPTCHA セッション トークン スクリプトを統合し、ユーザーが購入手続きページにアクセスする前に、reCAPTCHA Cookie がアプリケーション バックエンドで発行および更新されるようにします。購入手続きページで reCAPTCHA セッション トークン スクリプトを統合し、Cookie が期限切れになるのを防ぐために、reCAPTCHA Cookie がアプリケーション バックエンドで発行および更新されるようにします。
次のルールを使用して reCAPTCHA ファイアウォール ポリシーを作成します。
- ルールを適用するパス。この場合は
checkout.html
です。 - スコアが 0.1 以下の場合、アクセスをブロックします。
gcloud recaptcha firewall-policies create \
--description="example2 policy" \
--path="/checkout.html" \
--condition="recaptcha.score <=0.1" \
--actions="block"
次の図は、reCAPTCHA セッション トークン機能を使用するワークフローと、対応する reCAPTCHA ファイアウォール ポリシーを示しています。
例 3: 課題ページを使用した reCAPTCHA ファイアウォール ポリシー
reCPTCHA 課題ページ機能を追加して、ユーザーのリクエストが不正なものか正当なものかどうかを判断するインターステイシャル ページにユーザーをリダイレクトすることができます。
保護するページで、ユーザーを本人確認ページにリダイレクトする reCAPTCHA ファイアウォール ポリシールールを作成します。
- 保護されたページの場合、トークンが有効でない場合は、課題ページにリダイレクトします。この場合は
index.html
です。 スコアが 0.1 以下の場合、ユーザーをエラーページにリダイレクトします。
gcloud recaptcha firewall-policies create \ --description="example3-1 policy" \ --path="/index.html" --condition="!recaptcha.token.valid" --actions="redirect"
gcloud recaptcha firewall-policies create \ --description="example3-2 policy" \ --path="/index.html" --condition="recaptcha.score <= 0.1" --actions="substitute { path: /bot_error }"
次の図は、reCAPTCHA 課題ページ機能を使用するワークフローと、対応する reCAPTCHA ファイアウォール ポリシーを示しています。
例 4: アクション トークンと課題ページを使用した reCAPTCHA ファイアウォール ポリシー
ウェブページ間で異なる保護レベルを使用する場合は、reCAPTCHA WAF の複数の機能を使用できます。たとえば、ページでアクション トークンまたはセッション トークン機能を使用して、ページreCAPTCHA スコアを使用して受信トラフィックを評価するために、ます。また、ユーザーが bot でないことを確認するページで本人確認ページ機能を使用します。
reCAPTCHA アクション トークンを追加して、ログインなどのユーザー アクションを保護できます。 ユーザーがログイン アクションを開始したときに reCAPTCHA Cookie が発行されるようにするには、保護されるログイン アクションの前に、ページに reCAPTCHA アクション トークン スクリプトを統合します。たとえば、ホームページ。ダウンロード ページで、ユーザーを課題ページにリダイレクトするには、reCAPTCHA ファイアウォール ポリシールールを使用します。
次のルールを使用して reCAPTCHA ファイアウォール ポリシーを作成します。
- ルールを適用するパス。この場合は
login.php
です。 - アクション トークンのアクション名属性が保護されているユーザー アクションと一致しない場合、または評価タイプが
ACTION
でない場合、またはスコアが 0.1 以下の場合、アクセスをブロックします。 - コンテンツをダウンロードしたときにユーザーを課題ページにリダイレクトするには、ユーザーをリダイレクトするファイアウォール ポリシールールを追加します。
- スコアが 0.1 以下の場合、または評価タイプが
CHALLENGEPAGE
でない場合、ユーザーをエラーページにリダイレクトします。
gcloud recaptcha firewall-policies create --description="example4-1 policy"
--path="/login.php" --condition="recaptcha.token.action != "login" || recaptcha.assessment_type != AssessmentType.ACTION || recaptcha.score <= 0.1" --actions="block"
gcloud recaptcha firewall-policies create --description="example4-2 policy"
--path="/content/example.pdf" --condition="recaptcha.assessment_type != AssessmentType.CHALLENGEPAGE" --actions="redirect"
gcloud recaptcha firewall-policies create --description="example4-3 policy"
--path="/content/example.pdf" --condition="recaptcha.score <= 0.1 || recaptcha.assessment_type != AssessmentType.CHALLENGEPAGE" --actions="substitute { path: /bot_error }"
次の図は、reCAPTCHA アクション トークンと reCAPTCHA 課題ページの機能を使用するワークフローと、対応する reCAPTCHA ファイアウォール ポリシーを示しています。
例 5: WAF Express 保護と本人確認ページを使用した reCAPTCHA ファイアウォール ポリシー
ユーザーに心理的負荷をかけることなくユーザー操作を評価し、スコアが低い場合はユーザーを本人確認ページにリダイレクトするには、WAF Express 保護用 reCAPTCHA Enterprise を追加します。たとえば、データのスクレイピングを防ぐために、カタログ ページへのトラフィックをブロックする場合などです。
次のルールを使用して reCAPTCHA ファイアウォール ポリシーを作成します。
- ルールを適用する必要があるパス。
- スコアが 0.3 以下の場合は、ユーザーを本人確認ページにリダイレクトします。
次の例では、スコアが 0.1 未満の場合に、/catalog1/itemlist.html
に対するトラフィック ターゲティングをリダイレクトする reCAPTCHA ファイアウォール ポリシーを作成します。
gcloud recaptcha firewall-policies create \
--description="example5 policy" \
--path="/catalog1/itemlist.html" \
--condition="recaptcha.score <= 3" \
--actions="redirect"