openldap ppolicy 中未强制执行 pwdInHistory

openldap ppolicy 中未强制执行 pwdInHistory

我的 OpenLDAP 服务器中有一个可用的密码策略。但是,我刚刚尝试测试了该pwdInHistory属性,它似乎并没有阻止我使用刚刚设置的旧密码。

作为参考,我的 OpenLDAP 服务器策略的一部分是不允许设置任何明文密码,因此我们所有的密码都是使用 slappasswd 的 SSHA 设置的。

我将其设置pwdInHistory为 3,这是一个相对较短的数字,首先用来测试。我仅将更新密码的用户绑定,而不是 LDAP 根 DN。有人知道为什么我设置密码策略的方式不起作用吗?

答案1

ppolicy覆盖需要 ldappasswd(LDAPv3 密码修改(RFC 3062)扩展操作)。

为了触发控制ppolicy执行,必须发出密码更改ldappasswd

其他密码修改命令确实有效,只要您检查密码是否更改,但不会受到ppolicy裁决。

答案2

为了使 pwdInHistory 正常工作,您必须提供密码纯文本不是加密格式。您可以使用 ldappasswd 或任何其他方式(例如通过 LDIF)来实现。原因很简单,ppolicy 覆盖层不可能知道您使用了什么密码(SSHA 不可逆)。通过 TLS/SSL 会话以纯文本形式提供密码是安全的,不存在安全问题。但您必须激活它的加密存储(将 olcPPolicyHashCleartext 设置为 TRUE)

相关内容