第14章 パスワードベースのアカウントロックアウトポリシーの設定

パスワードベースのアカウントのロックアウトポリシーにより、攻撃者はユーザーのパスワードを繰り返し推測できなくなります。アカウントロックアウトポリシーを設定して、指定した数のバインドの試行後にユーザーアカウントをロックできます。

パスワードベースのアカウントのロックアウトポリシーが設定されている場合、Directory Server はユーザーエントリーの以下の属性でロックアウト情報を維持します。

  • passwordRetryCount: 失敗したバインドの試行回数を格納します。Directory Server は、ユーザーが retryCountResetTime の時間よりも後にディレクトリーに正常にバインドされると、値をリセットします。この属性は、ユーザーが初めてバインドに失敗すると表示されます。
  • retryCountResetTime: passwordRetryCount 属性がリセットされるまでの時間を保存します。この属性は、ユーザーが初めてバインドに失敗すると表示されます。
  • accountUnlockTime: ユーザーアカウントのロックが解除されてからの時間を保存します。この属性は、アカウントの初回ロック後に存在します。

14.1. 設定された最大試行に到達するか、超過する際にアカウントをロックするかどうかの設定

管理者は、Directory Server がログイン試行の失敗時にアカウントをロックすると、以下のいずれかの動作を設定できます。

  • 上限を超えた場合、サーバーがアカウントをロックします。たとえば、制限が 3 回の試行に設定されていると、4 回目の試行 (n+1) の後にロックアウトが実行されます。これは、4 番目の試行に成功すると、Directory Server がアカウントをロックしないことを意味します。

    デフォルトでは、Directory Server は従来の LDAP クライアントが必要とするこのレガシーパスワードポリシーを使用します。

  • 制限に達すると、サーバーがアカウントをロックします。たとえば、制限が 3 回の試行に設定されていると、4 回目の試行 (n+1) の後にロックアウトが実行されます。

    最新の LDAP クライアントは、多くの場合、この動作を想定しています。

この手順では、レガシーパスワードポリシーを無効にする方法を説明します。ポリシーの変更後に、Directory Server は設定された制限に到達したユーザーのログイン試行をブロックします。

前提条件

  • アカウントロックアウトポリシーを設定している。

手順

  • 制限に達すると、レガシーパスワードポリシーとロックアカウントを無効にするには、次のコマンドを実行します。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com config replace passwordLegacyPolicy=off

検証

  1. passwordmaxfailure 設定の値を表示します。

    # dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy get passwordmaxfailure
    passwordmaxfailure: 2
  2. passwordmaxfailure に設定された値よりも、無効なパスワードを使用したバインドを試みます。

    # ldapsearch -H ldap://server.example.com -D "uid=example,ou=People,dc=example,dc=com" -w invalid-password -b "dc=example,dc=com" -x
    ldap_bind: Invalid credentials (49)
    
    # ldapsearch -H ldap://server.example.com -D "uid=example,ou=People,dc=example,dc=com" -w invalid-password -b "dc=example,dc=com" -x
    ldap_bind: Invalid credentials (49)
    
    # ldapsearch -H ldap://server.example.com -D "uid=example,ou=People,dc=example,dc=com" -w invalid-password -b "dc=example,dc=com" -x
    ldap_bind: Constraint violation (19)
    	additional info: Exceed password retry limit. Please try later.

    レガシーパスワードが無効になっていると、Directory Server は 2 回目の試行後にアカウントをロックし、さらに ldap_bind: Constraint violation(19) エラーでブロックされます。