攻撃対策とサーバーサイド API
総当たり攻撃対策とでは、ユーザーの IP アドレスが必要です。サーバーから API を呼び出すと、Auth0 はサーバーの IP アドレスをユーザーの IP アドレスとして扱い、総当たり攻撃対策と不審な IP スロットリングの判定に使用します。その結果、誤検知が発生し、正当なリクエストであっても攻撃対策によってユーザーがブロックされたり、警告がトリガーされたりする可能性があります。 これを避けるには、ユーザーの資格情報とあわせてユーザーの IP アドレスを Auth0 に送信し、その IP アドレスを信頼するようにアプリケーションを設定してください。IP アドレスを信頼するようにアプリケーションを設定する
通常の Web アプリケーション または Machine-to-Machine Application のいずれかを登録します。アプリケーションの設定時に、次のようにします。- 資格情報 で、
None以外の 認証方法 を選択します。 - 設定 > 詳細設定 で OAuth タブを開き、Trust Token Endpoint IP Header を有効にします。これにより、
auth0-forwarded-forヘッダーが、総当たり攻撃対策のためにユーザーの IP アドレスの信頼できる送信元として使用されます。この設定は、認証を行わないアプリケーションでは使用できません。
サーバーからユーザーの IP アドレスを送信する
-
Resource Owner Password Flow を使用してトークンをリクエストする場合は、ユーザーの IP アドレスを値に含む
auth0-forwarded-forヘッダーを含めます。指定する IP アドレスが実際にそのユーザーのものであることを必ず確認してください。 - 総当たり攻撃対策と不審な IP スロットリングがトリガーされる際に無視する IP の許可リストを指定します。
総当たり攻撃対策と不審な IP スロットリングでの許可リスト
認証済みのアプリケーションが
auth0-forwarded-for ヘッダーを送信するよう設定されている場合:auth0-forwarded-forヘッダーに含まれる IP アドレスのみが、総当たり攻撃対策および不審な IP スロットリングの許可リストと照合されます。- プロキシの IP アドレスは総当たり攻撃対策および不審な IP スロットリングでは無視されるため、許可リストに追加する必要はありません。
- プロキシを使用する特定のクライアントを総当たり攻撃対策または不審な IP スロットリングの対象にしたくない場合は、それらを許可リストに追加してください。
auth0-forwarded-for ヘッダーは、クライアントシークレット を使用した認証済みの呼び出しでのみ受け入れられます。アプリケーションが認証されていない場合、または auth0-forwarded-for ヘッダーを送信するよう設定されていない場合:- 各リクエストの送信元 IP アドレスが、総当たり攻撃対策および不審な IP スロットリングの許可リストと照合されます。
- IP プロキシを許可リストに追加すると、そのプロキシを通過するすべてのトラフィックが総当たり攻撃対策および不審な IP スロットリングの対象外になります。これはおそらく意図したものではありません。
例
漏えいパスワードの検知のレスポンスを処理する
テナントで 漏えいパスワードの検知 を有効にしている場合は、Auth0 Authentication API からのレスポンスを適切に処理できるよう、アプリケーションを設定する必要があります。 たとえば、ROP フローを使用してパスワードを送信した際に、Auth0 がそのパスワードの漏えいを検知すると、Authentication API は HTTP401 Unauthorized ステータスコードと、次のボディを含むレスポンスを返します。