我目前的问题是我无法阻止OpenLDAP将密码存储为纯文本。在旧的openLDAP版本中,我在slapd.conf中输入了以下配置
ppolicy_hash_cleartext
password-hash {SSHA} {SHA}
因此,一旦我的应用程序以明文形式发送密码,ldap就会对其进行加密并加密存储。
不幸的是我无法配置OpenLDAP 2.4.40。我发现slapd.conf在新版本中不再存在,而是在cn = config.ldif文件中进行配置。
我试图再次添加相同的配置,但似乎它没有任何效果。
编辑:我在ldapmodify中添加了olcBackend = {0} mdb.ldif中的 olcPasswordHash:{SSHA} 条目,olcDatabase = {1} mdb.ldif,olcDatabase = {0} config.ldif和cn = config.ldif,仍然以明文形式发送的密码以明文形式存储。
答案 0 :(得分:0)
花了一些时间,但终于想通了。
加载描述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。