このドキュメントは、WAF 用 reCAPTCHA の機能を理解し、ユースケースに最適な機能を判断する際に役立ちます。
WAF 用 reCAPTCHA には、ウェブ アプリケーション ファイアウォール(WAF)サービス プロバイダとの統合に使用できる次の機能があります。
機能の概要
次の表に、reCAPTCHA アクション トークン、reCAPTCHA セッション トークン、reCAPTCHA 課題ページ、WAF Express 保護用 reCAPTCHA Enterprise の簡単な比較を示します。
比較カテゴリ | reCAPTCHA アクション トークン | reCAPTCHA セッション トークン | reCAPTCHA 課題ページ | WAF Express 保護用 reCAPTCHA Enterprise |
---|---|---|---|---|
ユースケース | reCAPTCHA アクション トークンを使用して、ログインや投稿へのコメントなどのユーザー アクションを保護します。 | reCAPTCHA セッション トークンを使用して、サイトのドメインでユーザー セッション全体を保護します。 | サイトに対するスパム行為が疑われ、bot を除外する必要がある場合は、reCAPTCHA 課題ページを使用します。 この方法では、ユーザーが CAPTCHA チャレンジを確認する必要があるため、ユーザーのアクティビティが中断されます。 |
環境が reCAPTCHA JavaScript またはモバイル SDK の統合をサポートしていない場合は、WAF Express 保護用 reCAPTCHA Enterprise を使用します。 |
対応プラットフォーム | ウェブサイトとモバイルアプリ | ウェブサイト | ウェブサイト | API、ウェブサイト、モバイルアプリ、テレビやゲーム機などの IoT デバイス |
統合の作業量 | 中
統合では、次のことを行う必要があります。
|
中
統合では、次のことを行う必要があります。
|
低
統合では、Google Cloud Armor のセキュリティ ポリシー ルールまたはサードパーティの WAF サービス プロバイダ用の reCAPTCHA ファイアウォール ポリシーを構成する必要があります。 |
低
統合では、WAF サービス プロバイダを使用して WAF Express 保護用 reCAPTCHA Enterprise を構成するか、アプリケーション サーバーから reCAPTCHA にリクエストを行う必要があります。 |
検出精度 | 最高
アクション トークンは個々のユーザー アクションを保護します。 |
高
セッション トークンは、サイトのドメインでのユーザー セッション全体を保護します。 |
中
このプロセスでは、reCAPTCHA 課題ページにリダイレクトされますが、ページ固有のシグナルがすべて受信されない場合があります。その結果、bot 検出の精度が低下する可能性があります。 |
低
クライアント側のシグナルは使用できません。 |
サポートされている reCAPTCHA のバージョン | reCAPTCHA のスコアベース キーとチェックボックス キー | reCAPTCHA スコアベース キー | reCAPTCHA 課題ページでは、最適化されたバージョンの reCAPTCHA を使用して、統合を最小限に抑えます。 | reCAPTCHA スコアベース キー |
1 つのアプリケーションで WAF 用 reCAPTCHA の 1 つ以上の機能を使用できます。たとえば、すべてのページにセッション トークンを適用するように選択でき、セッション トークンのスコアに基づいて、不審なリクエストを reCAPTCHA 課題ページにリダイレクトできます。 また、ご購入手続きなどの重要なアクションにアクション トークンを使用できます。詳細については、例をご覧ください。
reCAPTCHA アクション トークン
reCAPTCHA アクション トークンを使用して、ウェブページやモバイルアプリでの購入手続きなど、重要なユーザー インタラクションを保護できます。
reCAPTCHA action-tokens のワークフローは、次の手順で構成されます。
- エンドユーザーが reCAPTCHA で保護されたアクションをトリガーすると、ウェブページまたはモバイルアプリは、分析のためにブラウザで収集したシグナルを reCAPTCHA に送信します。
- reCAPTCHA がアクション トークンをウェブページまたはモバイルアプリに送信します。
- このアクション トークンを、保護するリクエストのヘッダーに添付します。
- エンドユーザーがアクション トークンを使用してアクセスをリクエストすると、WAF サービス プロバイダがバックエンド アプリケーションの代わりにアクション トークン属性をデコードして検証します。
- WAF サービス プロバイダは、構成済みのセキュリティ ポリシー ルールまたはファイアウォール ポリシールールに基づいて(いずれか該当する場合)、アクションを適用します。
次のシーケンス図は、ウェブサイトの reCAPTCHA アクション トークンのワークフローを示しています。
Google Cloud Armor
サードパーティの WAF サービス プロバイダ
次のシーケンス図は、モバイルアプリ用の reCAPTCHA アクション トークンのワークフローを示しています。
reCAPTCHA セッション トークン
サイトのドメインでユーザー セッション全体を保護する場合は、reCAPTCHA セッション トークンを使用できます。セッション トークンを使用すると、既存の reCAPTCHA 評価を一定期間再利用できるため、特定のユーザーに対するそれ以上の評価が不要になり、ユーザー側の抵抗と必要な reCAPTCHA 呼び出しの総数が減少します。
reCAPTCHA がエンドユーザーのブラウジング パターンを学習できるようにするには、サイトのすべてのウェブページで reCAPTCHA セッション トークンを使用することをおすすめします。
reCAPTCHA セッション トークンのワークフローは次の手順で構成されます。
- ブラウザが reCAPTCHA から reCAPTCHA JavaScript を読み込みます。
- reCAPTCHA JavaScript は、評価後にセッション トークンをエンドユーザーのブラウザの Cookie として設定します。
- エンドユーザーのブラウザは Cookie を保存し、reCAPTCHA JavaScript はアクティブである限り 30 分ごとに Cookie を更新します。
- ユーザーが Cookie を使用してアクセスをリクエストすると、WAF サービス プロバイダがこの Cookie を検証し、セキュリティ ポリシー ルールまたはファイアウォール ポリシールールに基づいてアクションを適用します。
次のシーケンス図は、reCAPTCHA セッション トークンのワークフローを示しています。
Google Cloud Armor
サードパーティの WAF サービス プロバイダ
reCAPTCHA 課題ページ
reCAPTCHA による確認ページ機能を使用して、受信リクエストを reCAPTCHA にリダイレクトし、各リクエストが不正なものか正当なものかを判断します。
リダイレクトと可能性がある CAPTCHA 課題の適用により、ユーザーのアクティビティが中断されます。サイトに対するスパム行為が疑われる場合は、これを使用して bot を除外することをおすすめします。
エンドユーザー(ユーザー)が初めてサイトにアクセスしたときに、次のイベントが発生します。
- WAF レイヤで、ユーザーのリクエストが reCAPTCHA による確認ページにリダイレクトされます。
- reCAPTCHA が、reCAPTCHA JavaScript が埋め込まれた HTML ページで応答します。
- 確認ページがレンダリングされると、reCAPTCHA がユーザー インタラクションを評価します。必要に応じて、reCAPTCHA が CAPTCHA による確認をユーザーに提供します。
評価の結果に応じて、reCAPTCHA は次の処理を行います。
- ユーザー操作が評価に合格すると、reCAPTCHA は除外 Cookie を発行します。ブラウザは、Cookie が期限切れになるまで、同じサイトに対するユーザーの後続のリクエストにこの除外 Cookie を添付します。デフォルトでは、除外 Cookie は 3 時間後に期限切れになります。
- ユーザーの操作が評価に合格しなかった場合、reCAPTCHA は除外 Cookie を発行しません。
reCAPTCHA は、ユーザーが GET/HEAD 呼び出しを使用してウェブページにアクセスすると、除外 Cookie でウェブページを再読み込みします。ユーザーが POST/PUT 呼び出しを使用してウェブページにアクセスする場合、ユーザーはページの再読み込みリンクをクリックする必要があります。
WAF サービス プロバイダは、有効な除外 Cookie を持つリクエストが再びリダイレクトされるのを除外し、サイトへのアクセスを許可します。
次のシーケンス図は、reCAPTCHA 課題ページのワークフローを示しています。
Google Cloud Armor
サードパーティの WAF サービス プロバイダ
WAF Express 保護用 reCAPTCHA Enterprise
WAF Express 保護用 reCAPTCHA Enterprise(reCAPTCHA WAF express)を使用すると、reCAPTCHA JavaScript や組み込みモバイル SDK の実行がサポートされていない環境(IoT デバイスやセットトップ ボックスなど)でアプリケーションを保護できます。reCAPTCHA WAF express は、WAF サービス プロバイダを使用して WAF レイヤで、またはアプリケーション サーバーのスタンドアロン環境で設定できます。reCAPTCHA WAF express は、バックエンド シグナルのみを使用して reCAPTCHA リスクを生成しますスコア。
reCAPTCHA WAF express ワークフローは、次の手順で構成されます。
- ユーザーがウェブページへのアクセスをリクエストすると、WAF サービス プロバイダまたはアプリケーション サーバーが reCAPTCHA への評価リクエストを作成します。
- reCAPTCHA はユーザー インタラクションを評価し、リスクスコアを送信します。
- リスクスコアに基づいて、WAF サービス プロバイダまたはアプリケーション サーバーがアクセスを許可またはブロックします。
次のシーケンス図は、reCAPTCHA WAF express のワークフローを示しています。
次のステップ
- Google Cloud Armor のトークン属性について学習する。
- ウェブサイトで WAF 用 reCAPTCHA を Google Cloud Armor と統合する。
- モバイルアプリで WAF 用 reCAPTCHA を Google Cloud Armor と統合する。
- Fastly のトークン属性について学習する。
- WAF 用 reCAPTCHA を Fastly と統合する。
- アプリケーション サーバーで WAF Express 保護用 reCAPTCHA Enterprise を設定する。