如何测试ldap ppolicy执行

时间:2014-08-07 07:32:22

标签: ldap openldap

我正在使用openldap 2.4。我已经配置了以下配置。

include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
include         /etc/ldap/schema/HFSchema.schema
include         /etc/ldap/schema/ppolicy.schema

pidfile         /var/run/slapd/slapd.pid

modulepath      /usr/lib/ldap
moduleload      back_hdb.la
moduleload      ppolicy.la

database    hdb
suffix      "dc=example,dc=com"
rootdn      "cn=admin,dc=example,dc=com"
rootpw      {SSHA}xzW0DfNFHahvm/C68ZR4YvbZGFQJjfz5

overlay ppolicy
ppolicy_default "cn=DefaultPwdPolicy,ou=Policies,dc=example,dc=com"
ppolicy_use_lockout
ppolicy_hash_cleartext

我还添加了默认密码策略

# DefaultPwdPolicy, Policies, example.com
dn: cn=DefaultPwdPolicy,ou=Policies,dc=example,dc=com
cn: DefaultPwdPolicy
pwdAttribute: 2.5.4.35
objectClass: pwdPolicy
objectClass: top
objectClass: device
pwdAllowUserChange: TRUE
pwdMaxAge: 7776000
pwdInHistory: 5
pwdCheckQuality: 2
pwdMinLength: 8
pwdExpireWarning: 432000
pwdLockoutDuration: 900
pwdMaxFailure: 3
pwdMustChange: TRUE
pwdSafeModify: TRUE
pwdLockout: TRUE

但是,管理员仍然可以在没有这些限制的情况下创建用户。我如何确认我的ppolicy叠加层是否正常工作?如何测试是否实际应用了这些约束。?

2 个答案:

答案 0 :(得分:2)

  1. 唯一没有密码策略限制的用户是内部rootdn用户。你不应该自己使用任何东西。 slapd本身用来更新DIT的用户。您应该使用必要的权限定义另一个管理员用户,在DIT中。使用rootdn用户执行admin任务将绕过man已知的每个约束。

  2. 要完全使用ppolicy,您必须使用密码策略请求控制并检查代码中的相应响应控件,以便发现即将到期,宽限期等。

答案 1 :(得分:0)

您可以使用ldap *命令(OpenLDAP LDAP客户端)测试密码策略,该命令允许使用LDAP控件。

您必须知道有效的DN和密码(不是rootdn,它会覆盖密码策略)。

例如:

clement@ader-xps:~$ ldapwhoami -x -H ldap://localhost -D uid=coudot,ou=users,dc=example,dc=com -W -e ppolicy 
Enter LDAP Password: 
ldap_bind: Invalid credentials (49); Account locked