第 14 章 配置基于密码的帐户锁定策略
基于密码的帐户锁定策略可防止攻击者重复尝试猜测用户密码。您可以配置帐户锁定策略,以在指定次数尝试绑定失败后锁定用户帐户。
如果配置了基于密码的帐户锁定策略,Directory 服务器会在以下用户条目的属性中维护锁定信息:
-
passwordRetryCount
:存储失败的绑定尝试次数。如果用户成功绑定到 目录,则目录服务器会重置值,超过retryCountResetTime
中的时间。用户第一次绑定后会存在此属性。 -
retryCountResetTime
:存储 resetpasswordRetryCount
属性的时间。用户第一次绑定后会存在此属性。 -
accountUnlockTime
:存储用户帐户被解锁的时间。此属性会在帐户首次锁定后存在。
14.1. 配置是否在达到或超过配置的最大尝试时锁定帐户
当 Directory Server 锁定帐户失败时,管理员可以配置以下任一行为:
如果超过限制,服务器会锁定帐户。例如,如果将限制设定为 3 次,则第四次尝试后会出现锁定(
n+1
)。这也意味着如果第四次尝试成功,Directory 服务器也不会锁定帐户。默认情况下,Directory 服务器使用此传统密码策略,这些密码通常是由传统 LDAP 客户端所期望的。
如果达到限制,服务器会锁定帐户。例如,如果将限制设定为 3 次,则服务器在第三个尝试失败后锁定帐户(
n
)。现代 LDAP 客户端通常期望此行为。
这个步骤描述了如何禁用旧密码策略。更改策略后,Directory 服务器会阻止访问所配置限制的用户的登录尝试。
前提条件
- 已配置了一个帐户锁定策略。
流程
要禁用旧密码策略并在达到限制时锁定帐户,请输入:
#
dsconf -D "cn=Directory Manager" ldap://server.example.com config replace passwordLegacyPolicy=off
验证
显示
passwordmaxfailure
设置的值:#
dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy get passwordmaxfailure
passwordmaxfailure: 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 服务器在第二次尝试后锁定帐户,而进一步尝试会使用
ldap_bind: Constraint violation (19)
错误阻止。
其他资源