OpenLDAP上的SSHA密码加密

时间:2017-03-28 12:32:38

标签: ldap openldap sha ssha

我目前的问题是我无法阻止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,仍然以明文形式发送的密码以明文形式存储。

1 个答案:

答案 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编号。在这种情况下,它是olcD​​atabase = {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