2.5. 配置基于密码的帐户锁定策略
基于密码的帐户锁定策略可防止攻击者重复尝试猜测用户密码。您可以将帐户锁定策略配置为在指定次数尝试绑定后锁定用户帐户。
如果配置了基于密码的帐户锁定策略,Directory 服务器会在用户条目的以下属性中维护锁定信息:
-
passwordRetryCount:存储失败的绑定尝试数量。如果用户成功绑定到retryCountResetTime中的时间后,目录服务器会重置该值。当用户第一次绑定失败后,会出现此属性。 -
retryCountResetTime:存储重置passwordRetryCount属性的时间。当用户第一次绑定失败后,会出现此属性。 -
accountUnlockTime:存储用户帐户被解锁的时间。在第一次锁定帐户后会出现此属性。
2.5.1. 配置是否在到达或超过配置的最大尝试时锁定帐户 复制链接链接已复制到粘贴板!
当 Directory 服务器在登录失败时锁定帐户时,管理员可以配置以下行为之一:
如果超过限制,服务器锁定帐户。例如,如果将限制设定为 3 次尝试,则锁定会在第四个失败尝试后发生(
n+1)。这也意味着,如果第四个尝试成功,目录服务器不会锁定帐户。默认情况下,目录服务器使用传统 LDAP 客户端通常预期的传统密码策略。
如果达到限制,服务器锁定帐户。例如,如果将限制设定为 3 次尝试,服务器会在第三个失败尝试(
n)后锁定帐户。现代 LDAP 客户端通常预期这种行为。
这个步骤描述了如何禁用旧的密码策略。更改策略后,目录服务器会阻止达到配置的限制的用户的登录尝试。
前提条件
- 您已配置了帐户锁定策略。
流程
要禁用旧的密码策略并在达到限制时锁定帐户,请输入:
# dsconf <instance_name> config replace passwordLegacyPolicy=off
验证
显示
passwordmaxfailure设置的值:# dsconf <instance_name> 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.禁用旧密码后,目录服务器会在第二次尝试后锁定帐户,并进一步尝试使用
ldap_bind: Constraint violation (19))错误。
2.5.2. 使用命令行配置基于密码的帐户锁定策略 复制链接链接已复制到粘贴板!
要阻止重复使用密码的登录绑定尝试,请配置基于密码的帐户锁定策略。
在到达或超过配置的最大尝试时目录服务器锁定帐户的行为取决于旧的密码策略设置。
流程
可选:识别是否启用或禁用旧的密码策略:
# dsconf <instance_name> config get passwordLegacyPolicy passwordLegacyPolicy: on启用密码锁定策略,并将最大故障数设置为
2:# dsconf <instance_name> pwpolicy set --pwdlockout on --pwdmaxfailures=2 Successfully updated global password policy启用旧的密码策略后,Directory 服务器会在第三个尝试绑定失败后锁定帐户(
--pwdmaxfailures参数的值 + 1)。dsconf pwpolicy set命令支持以下参数:-
--pwdlockout:启用或禁用帐户锁定功能。默认:off。 --pwdmaxfailures:设置目录服务器锁定帐户前允许失败的绑定尝试的最大数量。默认:3。请注意,如果启用了旧的密码策略设置,则此锁定会稍后尝试。默认:
3。-
--pwdresetfailcount:在 Directory 服务器重置用户条目中的passwordRetryCount属性前设置时间(以秒为单位)。默认:600秒(10 分钟)。 -
--pwdlockoutduration:设置被锁定的帐户的时间(以秒为单位)。如果将--pwdunlock参数设置为off,则此参数将被忽略。默认:3600秒(1 小时)。 -
--pwdunlock:启用或禁用锁定的帐户是否应在一定时间后被解锁或保持禁用,直到管理员手动解锁它们为止。默认:上的。
-
验证
尝试使用无效的密码比您在-
pwdmaxfailures参数中设置的值多两次绑定:# 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: 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))错误阻止帐户。
2.5.3. 使用 Web 控制台配置基于密码的帐户锁定策略 复制链接链接已复制到粘贴板!
要阻止重复使用密码的登录绑定尝试,请配置基于密码的帐户锁定策略。
在到达或超过配置的最大尝试时目录服务器锁定帐户的行为取决于旧的密码策略设置。
前提条件
- 在 web 控制台中登录到实例。
流程
可选:识别是否启用或禁用旧的密码策略:
# dsconf <instance_name> config get passwordLegacyPolicy passwordLegacyPolicy: on此设置在 web 控制台中不可用。
-
导航到
。 - 选择 Enable Account Lockout。
配置锁定设置:
- 失败的登录次数,即锁定帐户 :设置目录服务器锁定帐户前允许的最大绑定尝试数。
-
time Until Failure Count: 设置目录服务器在 Directory 服务器在用户条目中重置
passwordRetryCount属性前的时间(以秒为单位)。 -
时间 Until Account Unlocked :设置帐户的时间(以秒为单位)。如果您禁用
Do Not Lockout Account forever,则忽略此参数。 - 不要锁定帐户:启用或禁用锁定 的帐户是否在一定时间后被解锁或保持禁用,直到管理员手动解锁它们为止。
- 点 。
验证
尝试多次使用无效的密码绑定,超过您在
Number of Failed Logins this Locks out Account中设置的值:# 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: 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))错误阻止帐户。