OpenLdap密码策略

时间:2013-03-04 14:28:36

标签: openldap ldap-query

我在windows xp上安装了openldap版本2.4.23并使用apache DS作为客户端。我可以在我设置用于测试的客户端服务器上验证用户身份。

我的下一步是打开密码策略。这对我来说有些朦胧,我希望有人可以帮助我。

我还使用followin命令

添加了密码策略

ldapadd -x -c -f -D“cn = Manager,dc = maxcrc,dc = com”-w secret

但在添加密码策略后,我如何使它们生效。

openldap文档说密码策略模块应配置默认策略的DN。

我在slapd.conf文件中添加了以下行

# invokes password policies for this DIT only
overlay ppolicy
# Default ppolicy
ppolicy_default "cn=passwordDefault,ou=policies,dc=maxcrc,dc=com"

但不知何故它没有加载,我已经花了更多的时间在这上面,但我没有得到相同的正确指南。

任何人都可以用简单的外行人的话来阐明这一点吗?

提前致谢。

我的ldif文件如下。

dn: cn=passwordDefault,ou=policies,dc=localdomain,dc=com
objectClass: pwdPolicy
objectClass: person
objectClass: top
cn: passwordDefault
sn: passwordDefault
pwdAttribute: userPassword
pwdCheckQuality: 1
pwdMinAge: 1
pwdMaxAge: 90
pwdMinLength: 6
pwdInHistory: 4
pwdMaxFailure: 3
pwdFailureCountInterval: 0
pwdLockout: TRUE
pwdLockoutDuration: 0
pwdAllowUserChange: TRUE
pwdExpireWarning: 604800
pwdGraceAuthNLimit: 3
pwdMustChange: TRUE
pwdSafeModify: TRUE

添加此策略并重新启动服务器后,我尝试更改现有用户和新添加用户的密码。 服务器允许我将密码更改为长度小于6的字符串 而我在ldif中提到了pwdMinLength:6。

以及我尝试多次更改密码,但它允许我将密码更改为最近使用的密码,而ldif中的pwdInHistory:4。

3 个答案:

答案 0 :(得分:1)

如果使用rootDN执行更新,则密码策略不起作用。您必须使用现有的管理员帐户或用户自己的帐户。

答案 1 :(得分:0)

目前尚不清楚在测试时如何设置密码,但我会检查您是否以正确的格式传递密码,这意味着服务器需要以明文形式接收密码。某些客户端会在将值发送到OpenLDAP服务器之前对该值进行散列,在这种情况下,OpenLDAP服务器无法确定密码的长度。通信可以并且应该加密,但不应预先进行预处理。哈希可以由服务器处理:

<强> pwdCheckQuality

如果值为1且提供的密码为明文,则用户提供的功能(使用pwdCheckModule定义 - 如果已定义 - 将被调用以检查密码质量。如果此功能不可用,则接受密码(假设它通过了各种pwdPolicy属性定义的所有其他测试)。

参考:http://www.zytrax.com/books/ldap/ch6/ppolicy.html

答案 2 :(得分:0)

  

rootdn bypass密码策略,所以不要在你的root中使用rootdn   ldappasswd命令。

https://www.openldap.org/lists/openldap-technical/201102/msg00262.html

如果使用ldappasswd设置密码并使用rootdn绑定,基本上可以输入任何密码(不是空的)。 这是一个有点棘手的情况,因为您无法使用&#34; passwd&#34;更改密码。为用户命令。在这种情况下,密码策略将启动。

如果您知道rootdn密码,则可以绕过所有内容。