WAF サービス プロバイダとの統合の機能

このドキュメントは、WAF 用 reCAPTCHA の機能を理解し、ユースケースに最適な機能を判断する際に役立ちます。

WAF 用 reCAPTCHA には、ウェブ アプリケーション ファイアウォール(WAF)サービス プロバイダとの統合に使用できる次の機能があります。

機能の概要

次の表に、reCAPTCHA アクション トークン、reCAPTCHA セッション トークン、reCAPTCHA チャレンジ ページ、reCAPTCHA express の簡単な比較を示します。

比較カテゴリ reCAPTCHA アクション トークン reCAPTCHA セッション トークン reCAPTCHA 課題ページ reCAPTCHA express
ユースケース reCAPTCHA アクション トークンを使用して、ログイン投稿へのコメントなどのユーザー アクションを保護します。 reCAPTCHA セッション トークンを使用して、サイトのドメインでユーザー セッション全体を保護します。 サイトに対するスパム行為が疑われ、bot を除外する必要がある場合は、reCAPTCHA 課題ページを使用します。

この方法では、ユーザーが CAPTCHA チャレンジを確認する必要があるため、ユーザーのアクティビティが中断されます。

環境が reCAPTCHA JavaScript またはモバイル SDK の統合をサポートしていない場合は、reCAPTCHA express を使用します。
対応プラットフォーム ウェブサイトとモバイルアプリ ウェブサイト ウェブサイト API、ウェブサイト、モバイルアプリ、テレビやゲーム機などの IoT デバイス
統合の作業量

統合では、次のことを行う必要があります。

  • サイトの個々のページに reCAPTCHA JavaScript をインストールするか、モバイルアプリに reCAPTCHA モバイル SDK をインストールします。
  • アクション トークンを個々のリクエスト ヘッダーに添付する。
  • Google Cloud Armor セキュリティ ポリシー ルールまたはサードパーティの WAF サービス プロバイダ用の reCAPTCHA ファイアウォール ポリシーを構成します。

統合では、次のことを行う必要があります。

  • サイトの個々のページに reCAPTCHA JavaScript をインストールする。
  • Google Cloud Armor セキュリティ ポリシー ルールまたはサードパーティの WAF サービス プロバイダ用の reCAPTCHA ファイアウォール ポリシーを構成します。

統合では、Google Cloud Armor のセキュリティ ポリシー ルールまたはサードパーティの WAF サービス プロバイダ用の reCAPTCHA ファイアウォール ポリシーを構成する必要があります。

統合では、WAF サービス プロバイダを使用して reCAPTCHA express を構成するか、アプリケーション サーバーから reCAPTCHA にリクエストを行う必要があります。

検出精度 最高

アクション トークンは個々のユーザー アクションを保護します。

セッション トークンは、サイトのドメインでのユーザー セッション全体を保護します。

このプロセスでは、reCAPTCHA 課題ページにリダイレクトされますが、ページ固有のシグナルがすべて受信されない場合があります。その結果、bot 検出の精度が低下する可能性があります。

クライアント側のシグナルは使用できません。

サポートされている reCAPTCHA のバージョン reCAPTCHA のスコアベース キーとチェックボックス キー reCAPTCHA スコアベース キー reCAPTCHA 課題ページでは、最適化されたバージョンの reCAPTCHA を使用して、統合を最小限に抑えます。 reCAPTCHA スコアベース キー

1 つのアプリケーションで WAF 用 reCAPTCHA の 1 つ以上の機能を使用できます。たとえば、すべてのページにセッション トークンを適用するように選択でき、セッション トークンのスコアに基づいて、不審なリクエストを reCAPTCHA 課題ページにリダイレクトできます。 また、ご購入手続きなどの重要なアクションにアクション トークンを使用できます。詳細については、をご覧ください。

reCAPTCHA アクション トークン

reCAPTCHA アクション トークンを使用して、ウェブページやモバイルアプリでの購入手続きなどの重要なユーザー インタラクションを保護できます。

reCAPTCHA action-tokens のワークフローは、次の手順で構成されます。

  1. エンドユーザーが reCAPTCHA で保護されたアクションをトリガーすると、ウェブページまたはモバイルアプリは、分析のためにブラウザで収集したシグナルを reCAPTCHA に送信します。
  2. reCAPTCHA は、ウェブページまたはモバイルアプリにアクション トークンを送信します。
  3. このアクション トークンを、保護するリクエストのヘッダーに添付します。
  4. エンドユーザーがアクション トークンを使用してアクセスをリクエストすると、WAF サービス プロバイダはバックエンド アプリケーションではなく、アクション トークン属性をデコードして検証します。
  5. WAF サービス プロバイダは、構成済みのセキュリティ ポリシー ルールまたはファイアウォール ポリシールールに基づいて(いずれか該当する場合)、アクションを適用します。

次のシーケンス図は、ウェブサイト用の reCAPTCHA アクション トークンのワークフローを示しています。

Google Cloud Armor

サードパーティの WAF サービス プロバイダ

次のシーケンス図は、モバイルアプリ用の reCAPTCHA アクション トークンのワークフローを示しています。

reCAPTCHA セッション トークン

サイトのドメインでユーザー セッション全体を保護する場合は、reCAPTCHA セッション トークンを使用できます。セッション トークンを使用すると、既存の reCAPTCHA 評価を一定期間再利用できるため、特定のユーザーに対するそれ以上の評価が不要になり、ユーザー側の抵抗と必要な reCAPTCHA 呼び出しの総数が減少します。

reCAPTCHA でエンドユーザーのブラウジング パターンを学習できるようにするには、サイトのすべてのウェブページで reCAPTCHA セッション トークンを使用することをおすすめします。

reCAPTCHA セッション トークンのワークフローは次の手順で構成されます。

  1. ブラウザは reCAPTCHA から reCAPTCHA JavaScript を読み込みます。
  2. reCAPTCHA JavaScript は、評価後にセッション トークンをエンドユーザーのブラウザの Cookie として設定します。
  3. エンドユーザーのブラウザは Cookie を保存し、reCAPTCHA JavaScript はアクティブである限り 30 分ごとに Cookie を更新します。
  4. ユーザーが Cookie を使用してアクセスをリクエストすると、WAF サービス プロバイダがこの Cookie を検証し、セキュリティ ポリシー ルールまたはファイアウォール ポリシールールに基づいてアクションを適用します。

次のシーケンス図は、reCAPTCHA セッション トークンのワークフローを示しています。

Google Cloud Armor

サードパーティの WAF サービス プロバイダ

reCAPTCHA 課題ページ

reCAPTCHA による確認ページ機能を使用して、受信リクエストを reCAPTCHA にリダイレクトし、各リクエストが不正なものか正当なものかを判断します。

リダイレクトと可能性がある CAPTCHA 課題の適用により、ユーザーのアクティビティが中断されます。サイトに対するスパム行為が疑われる場合は、これを使用して bot を除外することをおすすめします。

エンドユーザー(ユーザー)が初めてサイトにアクセスしたときに、次のイベントが発生します。

  1. WAF レイヤで、ユーザーのリクエストが reCAPTCHA による確認ページにリダイレクトされます。
  2. reCAPTCHA が、reCAPTCHA JavaScript が埋め込まれた HTML ページで応答します。
  3. 確認ページがレンダリングされると、reCAPTCHA がユーザー インタラクションを評価します。必要に応じて、reCAPTCHA が CAPTCHA による確認をユーザーに提供します。
  4. 評価の結果に応じて、reCAPTCHA は次の処理を行います。

    1. ユーザー操作が評価に合格すると、reCAPTCHA は除外 Cookie を発行します。ブラウザは、Cookie が期限切れになるまで、同じサイトに対するユーザーの後続のリクエストにこの除外 Cookie を添付します。デフォルトでは、除外 Cookie は 3 時間後に期限切れになります。
    2. ユーザーの操作が評価に合格しなかった場合、reCAPTCHA は除外 Cookie を発行しません。
  5. reCAPTCHA は、ユーザーが GET/HEAD 呼び出しを使用してウェブページにアクセスすると、除外 Cookie でウェブページを再読み込みします。ユーザーが POST/PUT 呼び出しを使用してウェブページにアクセスする場合、ユーザーはページの再読み込みリンクをクリックする必要があります。

  6. WAF サービス プロバイダは、有効な除外 Cookie を持つリクエストが再びリダイレクトされるのを除外し、サイトへのアクセスを許可します。

次のシーケンス図は、reCAPTCHA 課題ページのワークフローを示しています。

Google Cloud Armor

サードパーティの WAF サービス プロバイダ

WAF 用 reCAPTCHA express

reCAPTCHA express を使用すると、reCAPTCHA JavaScript や組み込みモバイル SDK の実行がサポートされていない環境(IoT デバイスやセットトップ ボックスなど)でアプリケーションを保護できます。reCAPTCHA express は、WAF サービス プロバイダを使用して WAF レイヤに設定するか、アプリケーション サーバーのスタンドアロン環境に設定できます。 reCAPTCHA express は、バックエンド シグナルのみを使用して reCAPTCHA リスクスコアを生成します。

reCAPTCHA WAF express ワークフローは、次の手順で構成されます。

  1. ユーザーがウェブページへのアクセスをリクエストすると、WAF サービス プロバイダは reCAPTCHA への評価リクエストを作成します。
  2. reCAPTCHA がユーザーの操作を評価し、リスクスコアを送信します。
  3. WAF サービス プロバイダまたはアプリケーション サーバーは、リスクスコアに基づいてアクセスを許可またはブロックします。

次のシーケンス図は、reCAPTCHA WAF express のワークフローを示しています。

次のステップ