不審な IP スロットリング は、単一の IP アドレスから短時間に過剰なログインまたはサインアップの試行が行われた場合、その IP アドレスからのトラフィックをブロックします。これにより、複数のアカウントを標的とする高頻度の攻撃からアプリケーションを保護できます。
不審な IP スロットリングは、Auth0 テナントの作成時にデフォルトで有効になります。Auth0 が特定の IP アドレスから多数のサインアップ試行またはログイン失敗を検出すると、その IP アドレスに対するスロットリングが解除されるまで、以降の試行に対して HTTP 429 Too Many Requests ステータスコード を返します。
テナントで記録されるサインアップ試行およびログイン失敗の詳細については、Log Type Codes を参照してください。
Suspicious IP Throttling は、Auth0 Dashboard または Auth0 Management API で設定できます。
Auth0 では、Suspicious IP Throttling を無効にしないことを強く推奨します。
Dashboard > Security > Attack Protection に移動し、Suspicious IP Throttling を選択します。
ページ上部のトグルを選択して、Suspicious IP Throttling を有効または無効にします。
信頼できる IP アドレスがスロットリング制限を超えても許可する
IP AllowList に追加すると、最大 100 件の個別の IP アドレスおよび/または CIDR 範囲 (IPv4 または IPv6) を Suspicious IP Throttling の対象外にできます。これらの IP アドレスがスロットリング制限を超えても、Auth0 がテナント管理者に対してブロックや警告を行うことはありません。
Dashboard > Security > Attack Protection に移動し、Suspicious IP Throttling を選択します。
IP AllowList フィールドに、ログインとサインアップの試行を無制限に許可する IP アドレスおよび/または CIDR 範囲を入力します。複数の IP アドレスおよび/または CIDR 範囲を入力する場合は、カンマで区切ります。
デフォルトでは、IP アドレスが不審と判定されると、Auth0 はテナント管理者にメールアドレスを送信します。
高頻度のログイン試行またはサインアップ試行に対して、Auth0 がどのように応答するかを設定できます。
Dashboard > Security > Attack Protection に移動し、Suspicious IP Throttling を選択します。
Response セクションを見つけます。
Block Settings セクションで、Limit high-velocity traffic targeting too many accounts を有効にし、ログインまたはサインアップのしきい値を超えた IP アドレスからのトラフィックをスロットリングします。
Notifications セクションで、Send notification to account administrator を有効にすると、IP アドレスがログインまたはサインアップのしきい値を超えたときに、テナント管理者へ自動的にメールアドレスが送信されます。
Save を選択します。
Auth0 で不審な IP アドレスに対して適用するスロットリングは、カスタマイズできます。変更できる項目は次のとおりです。
特定の IP アドレスからのログイン試行およびサインアップ試行について、失敗が許可される最大回数。
スロットリングされた IP アドレスに対して、新しいログイン試行およびサインアップ試行を許可するレート。
最大試行回数とスロットリングレートの詳細、およびその仕組みについては、不審な IP スロットリングの仕組み を参照してください。
Dashboard > Security > Attack Protection に移動し、Suspicious IP Throttling を選択します。
Detection セクションを探します。
Suspicious IP Thresholds で Custom を選択します。
Login Threshold を設定します。
Maximum Attempts : 1 つの IP アドレスから 1 日に実行できるログイン失敗回数を入力します。この回数を超えると、Auth0 は次の試行をブロックします。
Throttling Rate : 新しいログイントークンを付与するレートを入力します。
Signup Threshold を設定します。
Maximum Attempts : 1 つの IP アドレスから 1 分間に実行できるサインアップ試行回数を入力します。この回数を超えると、Auth0 は次の試行をブロックします。
Throttling Rate : 新しいサインアップトークンを付与するレートを入力します。
Save を選択します。
Auth0 では、ログイン試行とサインアップ試行は別々にカウントされ、それぞれ許可されます。以降のログイン試行がブロックされた IP アドレスでも、サインアップは引き続き試行できます。以降のサインアップ試行がブロックされた IP アドレスでも、ログインは引き続き試行できます。
Auth0 では、1 日のうちにログインを何度も試行して失敗した IP アドレスに対してスロットリングが適用されます。ログインのスロットリング率は、Auth0 が 24 時間にわたって各 IP アドレスに均等に許可するログイン試行回数を決定します。たとえば、スロットリング率が 100 の場合、Auth0 は約 15 分ごとに新たな試行を 1 回許可します。
Auth0 は、1 分間にサインアップを過剰に試行した IP アドレスをスロットリングします。たとえば、ある IP アドレスから 50 回のサインアップ試行が行われると、Auth0 はそれ以降の試行をブロックします。ログインとは異なり、サインアップ試行は失敗している必要はありません。
サインアップのスロットリングレートは、Auth0 が 24 時間にわたって各 IP アドレスに均等に許可するサインアップ試行回数を決定します。たとえば、スロットリングレートが 72,000 の場合、Auth0 はおよそ 1 秒ごとに新たな試行を 1 回許可します。
正しい構造または形式に従っていないログインおよびサインアップ リクエストは、有効な試行とは見なされないため、設定したしきい値にはカウントされません。
ログインおよびサインアップ リクエストの詳細については、Auth0 Authentication API を参照してください。
疑わしい IP スロットリングはユーザーの IP アドレスに基づいて行われるため、次のユースケースでは追加の設定が必要です。