3.10. レプリケーション環境内のすべてのサーバー間でアカウントロックアウト属性を同期する
Directory Server は、アカウントのロックアウト属性をローカルで保存します。複数のサーバーがある環境では、攻撃者がアカウントのロックアウト数に達するまで 1 台のサーバーへのログインを試み、その後さらに他のサーバーにログインを試みることを防ぐために、この属性のレプリケーションを設定してください。
3.10.1. レプリケーション環境で Directory Server がパスワードおよびアカウントのロックアウトポリシーを処理する方法 リンクのコピーリンクがクリップボードにコピーされました!
Directory Server は、パスワードおよびアカウントのロックアウトポリシーを次のように適用します。
- パスワードポリシーは、データプロバイダーに適用されます。
- アカウントロックアウトポリシーは、レプリケーショントポロジー内のすべてのサーバーに適用されます。
Directory Server は次パスワードポリシー属性をレプリケートします。
-
passwordMinAge
-
passwordMaxAge
-
passwordExp
-
passwordWarning
ただし、デフォルトでは、Directory Server は以下に示す一般的なアカウントロックアウト属性をレプリケートしません。
-
passwordRetryCount
-
retryCountResetTime
-
accountUnlockTime
攻撃者がアカウントのロックアウト数に達するまで 1 台のサーバーへのログインを試み、その後さらに他のサーバーにログインを試みることを防ぐには、これらのアカウントロックアウト属性をレプリケートします。
3.10.2. アカウントロックアウト属性をレプリケートするための Directory Server の設定 リンクのコピーリンクがクリップボードにコピーされました!
passwordRetryCount
、retryCountResetTime
、または accountUnlockTime
属性を更新するアカウントロックアウトポリシーまたはパスワードポリシーを使用する場合は、これらの属性の値がすべてのサーバー間で同じになるように、これらの属性をレプリケートするように Directory Server を設定します。
この手順は、レプリケーショントポロジー内のすべてのサプライヤーで実行してください。
前提条件
- 前述の属性を 1 つ以上更新するアカウントロックアウトポリシーまたはパスワードポリシーを設定している。
- Directory Server をレプリケーション環境で使用している。
手順
パスワードポリシー属性のレプリケーションを有効にします。
dsconf <instance_name> pwpolicy set --pwdisglobal="on"
# dsconf <instance_name> pwpolicy set --pwdisglobal="on"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一部レプリケーションを使用する場合は、レプリケーションから除外される属性のリストを表示します。
dsconf <instance_name> repl-agmt get --suffix "dc=example,dc=com" example-agreement | grep "nsDS5ReplicatedAttributeList"
# dsconf <instance_name> repl-agmt get --suffix "dc=example,dc=com" example-agreement | grep "nsDS5ReplicatedAttributeList"dsconf <instance_name> repl-agmt get --suffix "dc=example,dc=com" example-agreement | grep "nsDS5ReplicatedAttributeList"dsconf <instance_name> repl-agmt get --suffix "dc=example,dc=com" example-agreement | grep "nsDS5ReplicatedAttributeList"dsconf <instance_name> repl-agmt get --suffix "dc=example,dc=com" example-agreement | grep "nsDS5ReplicatedAttributeList"dsconf <instance_name> repl-agmt get --suffix "dc=example,dc=com" example-agreement | grep "nsDS5ReplicatedAttributeList"dsconf <instance_name> repl-agmt get --suffix "dc=example,dc=com" example-agreement | grep "nsDS5ReplicatedAttributeList"dsconf <instance_name> repl-agmt get --suffix "dc=example,dc=com" example-agreement | grep "nsDS5ReplicatedAttributeList"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルト設定を使用すると、出力は表示されず、Directory Server はアカウントロックアウト属性をレプリケートします。ただし、次の例のように、除外される属性のリストが返された場合は、属性リストを確認してください。
nsDS5ReplicatedAttributeList: (objectclass=*) $ EXCLUDE accountUnlockTime passwordRetryCount retryCountResetTime example1 example2
nsDS5ReplicatedAttributeList: (objectclass=*) $ EXCLUDE accountUnlockTime passwordRetryCount retryCountResetTime example1 example2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、
accountUnlockTime
、passwordRetryCount
、およびretryCountResetTime
ロックアウトポリシー属性が、その他の 2 つの属性とともにレプリケーションから除外されます。直前のコマンドの出力にアカウントロックアウト属性が表示された場合は、ロックアウトポリシー属性以外の属性のみを含めるように一部レプリケーション設定を更新します。
dsconf <instance_name> repl-agmt set --suffix "dc=example,dc=com" --frac-list "example1 example2" example-agreement
# dsconf <instance_name> repl-agmt set --suffix "dc=example,dc=com" --frac-list "example1 example2" example-agreement
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
無効なパスワードを使用して、ユーザーとして検索の実行を試みます。
ldapsearch -H ldap://server.example.com -D "uid=example,ou=People,dc=example,dc=com" -w "<invalid-password>" -b "dc=example,dc=com" -x
# 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)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーの
passwordRetryCount
属性を表示します。ldapsearch -H ldap://server.example.com -D "cn=Directory Manager" -W -b "uid=example,ou=People,dc=example,dc=com" -x passwordRetryCount
# ldapsearch -H ldap://server.example.com -D "cn=Directory Manager" -W -b "uid=example,ou=People,dc=example,dc=com" -x passwordRetryCount ... dn: uid=example,ou=People,dc=example,dc=com passwordRetryCount: 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
レプリケーショントポロジー内の別のサーバーで直前のコマンドを実行します。
passwordRetryCount
属性の値が同じである場合、Directory Server は属性をレプリケートします。