1

我目前的问题是我无法阻止 OpenLDAP 将密码存储为纯文本。在较旧的 openLDAP 版本中,我在 slapd.conf 中输入了以下配置

ppolicy_hash_cleartext
password-hash {SSHA} {SHA} 

因此,一旦密码从我的应用程序以明文形式发送,ldap 就会对其进行加密并将其加密存储。

不幸的是,我无法配置 OpenLDAP 2.4.40。我发现 slapd.conf 在较新的版本中不再存在,而是在 cn=config.ldif 文件中进行配置。

我尝试在那里再次添加相同的配置,但似乎没有效果。

编辑:我在 olcBackend={0}mdb.ldif 、 olcDatabase={1}mdb.ldif 、 olcDatabase={0}config.ldif 和 cn=config.ldif 中添加了 ldapmodify olcPasswordHash: {SSHA}条目,仍然是我的密码以明文形式发送的内容以明文形式存储。

4

1 回答 1

1

花了一些时间,但最终想通了。

加载描述 ppolicy 属性的模式。

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/ppolicy.ldif

创建具有以下内容的 ppolicy_module.ldif 并确保 ppolicy.la 位于定义的 olcModulePath 下。将文件存储在 /etc/ldap 下

dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModuleLoad: ppolicy.la
olcModulePath: /usr/lib/ldap

添加 ppolicy_module.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f ppolicy_module.ldif

创建具有以下内容的 ppolicy-overlay.ldif 文件。确保 olcDatabase 编号。在这种情况下,它是 olcDatabase={1}mdb 。将文件存储在 /etc/ldap 下

dn: olcOverlay=ppolicy,olcDatabase={1}mdb,cn=config
objectClass: olcPPolicyConfig
olcOverlay: ppolicy
olcPPolicyDefault: cn=ppolicy,ou=policies,dc=example,dc=com
olcPPolicyUseLockout: FALSE
olcPPolicyHashCleartext: TRUE

添加 LDIF 文件。

ldapadd -Y EXTERNAL -H ldapi:/// -f ./ppolicy-overlay.ldif

重启ldap。

更多详情请见: https ://fedorahosted.org/sssd/wiki/openldap_ppolicy

于 2017-03-30T09:36:24.117 回答