第 4 章 配置基于密码的帐户锁定策略
基于密码的帐户锁定策略可防止攻击者重复尝试猜测用户的密码。您可以配置帐户锁定策略,以便在指定失败尝试绑定后锁定用户帐户。
如果配置了基于密码的帐户锁定策略,Directory 服务器会在以下用户条目的属性中维护锁定信息:
-
passwordRetryCount
:存储绑定尝试失败的数量。如果稍后用户成功绑定到目录,目录服务器会重置该值,而不是retryCountResetTime
中的时间。用户第一次绑定失败时会出现此属性。 -
retryCountResetTime
: 保存重置passwordRetryCount
属性的时间。用户第一次绑定失败时会出现此属性。 -
accountUnlockTime
:存储用户帐户被解锁的时间。此属性在帐户第一次锁定后存在。
4.1. 配置在达到或超过配置的最大尝试时是否锁定帐户
当 Directory 服务器在登录失败时锁定帐户时,管理员可以配置以下行为之一:
如果超过限制,服务器会锁定帐户。例如,如果将限制设定为 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)
错误阻止。
其他资源