OpenLDAP如何添加策略:密码必须与以前的密码至少相差2个字符?

时间:2019-01-04 09:53:21

标签: linux ldap openldap password-policy

我正在尝试在OpenLDAP中实施密码策略。

到目前为止,这是我的LDIF的样子:

dn: cn=module{0},cn=config
changeType: modify
add: olcModuleLoad
olcModuleLoad: ppolicy

dn: olcOverlay=ppolicy,olcDatabase={1}hdb,cn=config
objectClass: olcPpolicyConfig
olcOverlay: ppolicy
olcPPolicyDefault: cn=ppolicy,dc=ldaptuto,dc=net
olcPPolicyUseLockout: FALSE
olcPPolicyHashCleartext: TRUE

dn: cn=ppolicy,dc=ldaptuto,dc=net
objectClass: device
objectClass: pwdPolicyChecker
objectClass: pwdPolicy
cn: ppolicy
pwdAllowUserChange: TRUE
pwdAttribute: userPassword
pwdMinLength: 10
pwdCheckQuality: 1
pwdInHistory: 5
pwdMustChange: TRUE
pwdMaxAge: 7776000
pwdMaxFailure: 10
pwdLockout: TRUE
pwdLockoutDuration: 1800

我需要确保当用户更改密码时,新密码与旧密码至少有2个不同的位置。

我在LDAP Wiki中找不到任何策略设置。我也尝试过在网上搜索,但没有结果。

我认为我可以编写自己的密码检查器,类似this,但是,我看不到检查过程中使用的旧密码。

如何实施一项政策,以确保新密码与OpenLDAP中的旧密码至少有2个位置不同?

1 个答案:

答案 0 :(得分:1)

您必须

    pwdPolicy 条目中
  1. 设置pwdSafeModify: TRUE
  2. 始终使用“密码修改”扩展操作更改密码(请参见RFC 3062),同时发送旧用户密码(请参见ASN.1字段 oldPasswd

然后,您自己的pwdChecker模块在处理扩展操作请求时也会收到旧密码。