4.2. 使用命令行配置基于密码的帐户锁定策略

要阻止带有无效密码的登录重复绑定尝试,请配置基于密码的帐户锁定策略。

重要

Directory 服务器在达到时或超过配置的最大尝试时是否锁定帐户取决于传统密码策略设置。

流程

  1. 可选:识别旧的密码策略是启用还是禁用:

    # dsconf -D "cn=Directory Manager" ldap://server.example.com config get passwordLegacyPolicy
    passwordLegacyPolicy: on
  2. 启用密码锁定策略并将最大失败数设置为 2:

    # [command]`dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --pwdlockout on --pwdmaxfailures=2

    启用旧的密码策略后,Directory 服务器会在第三个失败尝试绑定后锁定帐户( --pwdmaxfailures 参数 + 1)。

    dsconf pwpolicy set 命令支持以下参数:

    • --pwdlockout :启用或禁用帐户锁定功能。默认: off
    • --pwdmaxfailures :设置在 Directory 服务器锁定帐户前允许的最大尝试失败尝试数。默认: 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) 错误阻止进一步尝试。