メインコンテンツへスキップ

始める前に

サポートされているサードパーティ製 CAPTCHA プロバイダー統合を使用するには、プロバイダーの設定情報が必要です。詳しくは、サードパーティ製 CAPTCHA プロバイダー統合を設定するを参照してください。
は、リクエストがボットによるものである可能性が高い場合を検出することで、スクリプト化された攻撃を軽減します。こうした攻撃は、credential stuffing 攻撃や list validation 攻撃と呼ばれることもあります。ボット検知は特定の攻撃への対策を提供し、正当なユーザーにはほとんど負担をかけません。Auth Challenge は既定のボット検知の応答であり、CAPTCHA を使わないユーザー確認を提供します。 詳しくは、Credential Stuffing Attacks: What Are They and How to Combat Themを参照してください。 Auth0 は、大量のデータと統計モデルを使用して、ログイン、サインアップ、またはパスワードのリセットのトラフィック急増が、ボットやスクリプトによるものである可能性が高いことを示すパターンを特定します。credential stuffing 攻撃の一部である可能性が高い IP アドレスからログイン、アカウントの作成、またはパスワードのリセットを試みるユーザーには、追加の確認手順の完了が求められます。これらのトリガーは、この種の攻撃に関連するトラフィックを検出しつつ、正当なユーザーに不要な負担をかけないようにします。

Bot Detection を設定する

有効にすると、検出モデルやレスポンスアクションなど、Bot Detection の設定をカスタマイズできます。これらの設定は、テナント内のすべての接続に適用されます。 Bot Detection を有効にしていても Response アクションを設定しない場合、Bot Detection は Monitoring モードで動作します。Monitoring モードでは、リスク評価の詳細を含む関連イベントが確認用にテナントログへ記録されます。詳しくは、View Attack Protection Log Events を参照してください。 Auth0 Dashboard で、リスク評価用のテナントログを有効にできます。
  1. Dashboard > Security > Attack Protection に移動し、Bot Detection を選択します。
  2. Detection セクションで、トグルを有効にします。
    Attack Protection 画面の Detection セクション
    リスク評価用のテナントログを有効にするトグルが表示されない場合は、プランのアップグレード が必要になることがあります。
  3. Response セクションで、Bot Detection のレスポンスを選択します。
    Dashboard - Attack Protection - Bot Detection
    Auth Challenge を使用する場合、Fail open トグルはデフォルトで無効になっています。 Fail Open トグルを有効にすると:
    • Bot Detection サービスに接続できない場合、Auth0 は認証処理を優先し、CAPTCHA チャレンジなしで続行します。エンドユーザーにはエラーメッセージは表示されず、引き続きログインまたは登録できます。
    • Bot Detection サービスに接続できる場合、認証処理は CAPTCHA チャレンジ付きで続行されます。
    Auth Challenge はデフォルトの Bot Detection レスポンスであり、CAPTCHA を使わない Web エクスペリエンスによって、より高いプライバシー保護と優れたユーザー体験を提供します。ダッシュボードに記載されているとおり、このログイン体験には JavaScript が必要です。JavaScript なしでも動作する必要がある場合は、Simple CAPTCHA を選択してください。
  4. パスワードフロー、パスワードレスフロー、およびパスワードリセットフローで CAPTCHA を要求するタイミングを選択します。
    • Never: ユーザーにログイン時の CAPTCHA 完了を要求しません。
    • When Risky: ログインが Bot Detection Level の設定に一致する場合にのみ、ユーザーに CAPTCHA の完了を要求します。
    • Always: ユーザーに常にログイン時の CAPTCHA 完了を要求します。
  5. When Risky または Always を選択すると、Response セクションに CAPTCHA Providers フィールドが表示されます。Auth Challenge (Auth0 提供) 、Simple CAPTCHA (Auth0 提供) 、またはサポートされているサードパーティのプロバイダー統合のいずれかを選択します (外部でのセットアップと登録が必要です) 。
    • Auth Challenge または Simple CAPTCHA を選択した場合、これで完了です。ログイン体験が JavaScript をサポートしていない場合は、Simple CAPTCHA を選択する必要があります。
    • サードパーティのプロバイダー統合を選択した場合は、プロバイダーの設定詳細を入力します。詳しくは、Configure third-party CAPTCHA provider integrations を参照してください。
    • Simple CAPTCHA を選択した場合、CAPTCHA 画像はスクリーンリーダーで判読できません。
  6. When Risky を選択すると、Response セクションに Bot Detection Level フィールドが表示されます。ユースケースに最も適したセキュリティレベルを選択します。詳しくは、Configure Bot Detection Level を参照してください。
  7. Save を選択します。

ボット検出レベルを設定する

ボット検出レベル設定を、許容するリスクの度合いとビジネス要件に合わせて設定します。 選択できる設定は 3 つあります。
  1. Low: ボットによるアクティビティの可能性が高い場合にキャプチャをトリガーし、実際のユーザーへの影響を比較的少なく抑えます。
  2. Medium: デフォルト。ボットによるアクティビティの可能性が中程度の場合にキャプチャをトリガーし、実際のユーザーの利便性とセキュリティのバランスを取ります。
  3. High: ボットによるアクティビティの可能性がわずかでもある場合にキャプチャをトリガーし、セキュリティは高まりますが、実際のユーザーへの影響も大きくなる可能性があります。
このスライダーにアクセスするには、Auth0 Dashboard > Security > Attack Protection を開きます

信頼できる IP アドレスが Bot Detection をバイパスできるようにする

IP AllowList フィールドに追加すると、最大 100 件の個別の IP アドレスや CIDR 範囲 (IPv4 または IPv6) に対して、Bot Detection をバイパスすることを許可できます。Auth0 は、このリストに含まれる IP アドレスまたは CIDR 範囲に対してブロックを適用せず、アラートも送信しません。
  1. Dashboard > Security > Attack Protection に移動し、Bot Detection を選択します。
  2. IP AllowList フィールドに、Bot Detection のバイパスを許可する IP アドレスや CIDR 範囲を入力します。複数のアドレスまたは範囲を指定する場合は、カンマで区切ります。

Custom Login Page と Classic Login Experience のサインアップ検出モデルを設定する

Auth0 では、ログインモデルとは別に、固有のシグナルを分析して異なる種類の攻撃に対処するサインアップ検出用の機械学習モデルを提供しています。 このモデルにより、サインアップフローとログインフローでキャプチャの動作を変えられるため、サインアップ攻撃に対する保護を強化し、最新のセキュリティ対策にも対応できます。
このモデルを有効にする前に、Auth0.js および/または Lock を使用するすべてのアプリケーションで、ライブラリが最新バージョンであることを確認してください。
  • Auth0.js: 9.28.0+
  • Lock: 13.0+
古いライブラリを使用したままこのモデルを有効にすると、アプリケーションでエラーが発生する可能性があります。
Custom Login Page または Classic Login Experience を使用している場合、サインアップフローで Bot Detection が使用する検出モデルは、 で設定できます。
  1. Dashboard > Security > Attack Protection に移動し、Bot Detection を選択します。
  2. Detection Models セクションを見つけます。
  3. Signup detection models for custom and classic login pages のトグルを有効にします。

制約事項と制限

フローの制限

Bot Detection は、Auth0 Universal Login を使用する Web アプリケーションとモバイルアプリケーションで機能します。 を使用しないアプリケーションでは、サポートは限定的です。特に、CAPTCHA または reCAPTCHA チャレンジに対応できないフローでは制限があります。 Bot Detection を有効にする前に、すべてのログイン体験がサポート対象であることを確認してください。そうしないと、アプリケーションでエラーが発生するおそれがあります。
FlowLimitation
Universal Loginデフォルトでサポートされます。
Classic Login (no customizations)デフォルトでサポートされます。
Classic Login (Custom Login Page using Lock template)lock.js SDK バージョン 12.4.0 以降を使用している場合にサポートされます。
Classic Login (Custom Login Page using Custom Login Form template)auth0.js SDK バージョン 9.24 以降を使用し、CAPTCHA または reCAPTCHA チャレンジを処理できるようコードを拡張している場合にサポートされます。
Native applications次のいずれかの SDK を使用している場合にサポートされます。
  • Auth0.swift バージョン 1.28.0+
  • Auth0.Android バージョン 1.25.0+
  • Lock.Swift バージョン 2.19.0+
  • Lock.Android バージョン 2.22.0+
Regular Web or Native applications using Resource Owner Password Flow限定的にサポートされます。CAPTCHA などの Bot Detection レスポンスにはインタラクティブなフローが必要なため、サポートされません。SDK から requires_verification エラーが返された場合は、ユーザーが認証を完了できるよう、Web ベースのログインフローを開始する必要があります。
Flows not hosted by Auth0 using lock.js or auth0.js SDK which perform cross-origin authentication (co/authenticate endpoint)サポートされません。

接続タイプの制限

使用する接続の種類に応じて、Bot Detection には次の制限があります。
接続タイプ制限
データベースログインで、フローの制限事項の表に記載されている互換性のあるログインフローを使用している場合にサポートされます。
カスタムデータベースログインで、フローの制限事項の表に記載されている互換性のあるログインフローを使用している場合にサポートされます。
Active Directory/LDAPログインで、フローの制限事項の表に記載されている互換性のあるログインフローを使用している場合にサポートされます。
エンタープライズサポートされていません。
ソーシャルログインサポートされていません。
パスワードレスログインで、フローの制限事項の表に記載されている互換性のあるログインフローを使用している場合にサポートされます。

カスタムログインページのサポート

Auth0.js を使用してカスタムログインページを構築している場合は、Bot Detection を有効にすることで、ログインリクエストが Auth0 によって高リスクと判断された際に、キャプチャのステップを表示できます。 カスタムログインフォームのコードでは、ユーザーにキャプチャの通過が求められるケースを処理する必要があります。詳細については、Custom Login Pages への Bot Detection の追加を参照してください。

ネイティブアプリケーションのサポート

Auth0 SDK を使用してログインフローを実装したネイティブアプリケーションを構築する場合、ログインリクエストが Auth0 によって高リスクと判断されたときに CAPTCHA ステップが表示されるよう、Bot Detection を有効にできます。 カスタムログインフォームのコードでは、ユーザーに CAPTCHA ステップの完了が求められるケースを処理する必要があります。詳細については、ネイティブアプリケーションに Bot Detection を追加するを参照してください。

詳細