> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 総当たり攻撃対策

> 発信元のIPアドレスをブロックしたり、ユーザーアカウントをロックしたり、メールまたはSMSでユーザーに通知したりすることで、総当たりによるログイン試行からユーザーアカウントを保護します。

総当たり攻撃対策では、単一のIPアドレスから1つのユーザーアカウントに対してログインの失敗が複数回発生した場合に、Auth0 がどのように対応するかを決定します。総当たり攻撃対策では、次のように設定できます。

* そのユーザーとしてのログインを発信元のIPアドレスからブロックする

* そのユーザーに対するすべてのログイン試行を停止する

* メールまたはSMSでユーザーに通知する

デフォルトでは、Auth0 テナントを作成すると総当たり攻撃対策は有効になります。総当たり攻撃対策は、テナント管理者を含むすべてのユーザーに適用されます。

接続では総当たり攻撃対策を有効のままにしておき、他の管理者アカウントのブロックを解除できるように、予備のテナント管理者を用意しておくことを強く推奨します。

<div id="configure-brute-force-protection">
  ## 総当たり攻撃対策を設定する
</div>

[Auth0 Dashboard > Security > Attack Protection > Brute-force Protection](https://manage.auth0.com/#/security/attack-protection/brute-force) では、総当たり攻撃対策の有効化、カスタマイズ、無効化を行えます。設定項目は次のとおりです。

* ページ上部のトグルで、総当たり攻撃対策の有効化と無効化を切り替えられます。現在の状態は、**Enabled** / **Disabled** のステータスインジケーターに表示されます。

* **Detection** セクションには、[ブルートフォースしきい値](#brute-force-threshold) と [IP AllowList](#ip-allowlist) の設定があります。

* **Response** セクションには、[block settings](#block-settings) と [notifications](#notifications) の設定があります。

ブルートフォース攻撃対策を有効にしていても、レスポンス設定をすべて無効にすると、ステータスインジケーターは **Monitoring** に変わり、Auth0 は[テナントログ内の攻撃対策イベント](/docs/ja-jp/secure/attack-protection/view-attack-protection-events)を記録しますが、それ以上の対応は行いません。

<Warning>
  [Resource Owner Password (ROP) flow](/docs/ja-jp/get-started/authentication-and-authorization-flow/resource-owner-password-flow/call-your-api-using-resource-owner-password-flow) の使用時に総当たり攻撃対策を機能させるには、`auth0-forwarded-for` ヘッダーを使用して[ユーザーの IP アドレスを送信する](/docs/ja-jp/get-started/authentication-and-authorization-flow/resource-owner-password-flow/avoid-common-issues-with-resource-owner-password-flow-and-attack-protection#send-the-user’s-ip-address-from-your-server)よう、アプリケーションを設定する必要があります。
</Warning>

<div id="brute-force-threshold">
  ### ブルートフォースしきい値
</div>

ブルートフォースしきい値とは、総当たり攻撃対策が作動するまでに、単一の IP アドレスから単一の[ユーザー識別子](/docs/ja-jp/authenticate/database-connections/flexible-identifiers-and-attributes#attribute-and-identifier-definitions)に対して許可されるログイン失敗回数のことです。オプションは 2 つあります。

* **Default** では、ブルートフォースしきい値を 10 に設定します。

* **Custom** では、ブルートフォースしきい値を 1 ～ 100 の範囲で設定できます。

指定したブルートフォースしきい値に達したログイン失敗の処理が完了すると、選択した攻撃緩和の保護機能が直ちに適用されます。

非同期メソッドを備えた Auth0 SDK を使用している場合、ユーザー識別子から、設定したブルートフォースしきい値を超える数の認証リクエストが連続してアプリケーションに送信されることがあります。ただし、いずれかの request がブルートフォースしきい値に達すると、そのユーザー識別子からの以降の request に対しては [HTTP 429 `too_many_attempts` エラー](/docs/ja-jp/libraries/common-auth0-library-authentication-errors#sign-up) を返します。

<div id="ip-allowlist">
  ### IP AllowList
</div>

IP AllowList は、IPv4 または IPv6 アドレス、あるいは CIDR 表記の範囲をカンマ区切りで指定するリストです。IP AllowList に含まれる IP アドレスからのログイン試行は、総当たり攻撃対策の対象外となります。

IP AllowList を使用すると、ユーザーがプロキシの背後にいる場合などに、信頼できる IP アドレスまたは範囲を指定できます。

<div id="block-settings">
  ### ブロック設定
</div>

総当たり攻撃対策のブロック設定では、ブルートフォース検知がトリガーされたときに、Auth0 が特定のユーザーアカウントに対する追加のログイン試行をブロックするかどうか、またどのようにブロックするかを決定します。設定オプションは 2 つあります。

* **ブルートフォース ログインをブロック** は、総当たり攻撃対策をトリガーした IP アドレスから、指定されたユーザー識別子に対して行われる追加のログイン試行をブロックします。これは既定で有効になっています。

* **アカウント ロックアウト** は、指定されたユーザー識別子に対するすべてのログイン試行をブロックします。これは既定で無効になっています。

<div id="notifications">
  ### 通知
</div>

**影響を受けるユーザーに通知を送信** が有効になっている場合、ユーザーのアカウントがブロックされると、Auth0 はそのユーザーに SMS またはメールで通知を送信します。

ユーザーがログインフローで電話番号の識別子を使用している場合、Auth0 はそのユーザーに SMS を送信します。SMS 通知は、識別子ごとに 1 時間あたり最大 1 件に制限されます。

ユーザーのアカウントにメールアドレスが関連付けられている場合、Auth0 はそのユーザーにメールを送信します。メール通知は、一意の IP アドレスごとに 1 時間あたり最大 1 件に制限されます。デフォルトでは、[ブロックされたアカウントのメール通知](/docs/ja-jp/customize/email/customize-blocked-account-emails) には、ユーザーが自分のアカウントのブロックを解除できるリンクが含まれています。

<div id="remove-brute-force-protection-blocks">
  ## 総当たり攻撃対策のブロックを解除する
</div>

総当たり攻撃対策のブロックは、次のいずれかのイベントが発生するまで有効なままです。

* 最後にログイン試行が失敗してから 30 日が経過する。

* 管理者が、次のいずれかのエンドポイントを使用して Management API で総当たり攻撃対策のブロックを解除する。

  * ユーザーの識別子を指定する [識別子によるブロック解除エンドポイント](/docs/ja-jp/api/management/v2/user-blocks/delete-user-blocks) (`DELETE /user-blocks`) 。

  * [ユーザーのブロックを解除するエンドポイント](/docs/ja-jp/api/management/v2/user-blocks/delete-user-blocks-by-id) (`DELETE /user-blocks/{id}`) 。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  [テナント管理者によるブロック](/docs/ja-jp/manage-users/user-accounts/block-and-unblock-users)は、総当たり攻撃対策のブロックとは別に処理されます。詳しくは、[テナント管理者によるブロックの解除](/docs/ja-jp/manage-users/user-accounts/block-and-unblock-users#remove-tenant-administrator-blocks)をご覧ください。
</Callout>

* 管理者が [ブルートフォースしきい値](#brute-force-threshold)を引き上げる。

* 影響を受けるユーザーが、設定されている場合は [メール通知](#notifications)内のブロック解除リンクを選択する。

* 影響を受けるユーザーがパスワードを変更する。ユーザーのアカウントが、OTP アカウントやデータベースアカウントのように複数の接続タイプを通じてリンクされている場合、ブロックを解除するには、リンクされているすべてのアカウントでパスワードを変更する必要があります。

<div id="learn-more">
  ## さらに詳しく
</div>

* [攻撃対策のログイベントを表示する](/docs/ja-jp/secure/attack-protection/view-attack-protection-events)
* [ユーザーをブロックまたはブロック解除する](/docs/ja-jp/manage-users/user-accounts/block-and-unblock-users)
* [ブロック済みアカウントのメールをカスタマイズする](/docs/ja-jp/customize/email/customize-blocked-account-emails)
* [ユーザー名/パスワード認証のレート制限](/docs/ja-jp/troubleshoot/customer-support/operational-policies/rate-limit-policy/database-connections-rate-limits)
