OpenLDAP 上的 SSHA 密码加密

Posted

技术标签:

【中文标题】OpenLDAP 上的 SSHA 密码加密【英文标题】:SSHA password encryption on OpenLDAP 【发布时间】:2017-03-28 12:32:38 【问题描述】:

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

ppolicy_hash_cleartext
password-hash SSHA SHA 

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

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

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

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

【问题讨论】:

你'试图在那里添加相同的配置'如何?为我工作。 你是什么意思它对你有用?您能描述一下您是如何启用此选项的吗? 更改配置只会影响从那时起修改的密码。它不会影响现有密码。 “为我工作”对我来说似乎并不晦涩。 我对现有密码不感兴趣。就我而言,它不会加密新创建条目的密码。 【参考方案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=1mdb 。将文件存放在 /etc/ldap 下

dn: olcOverlay=ppolicy,olcDatabase=1mdb,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

【讨论】:

所以您之前一直在尝试设置 ppolicy 属性而不使用 ppolicy 覆盖? 很可能是的。在我做了这么多改变之后,我不确定。我想知道谁不喜欢我的回答并投了反对票。常见问题!它有效。

以上是关于OpenLDAP 上的 SSHA 密码加密的主要内容,如果未能解决你的问题,请参考以下文章

Openldap配置TLS加密传输

GNUPG - Windows 上的标准输入加密文件和密码

密码学中的对称加密和非对称加密

centos7 openldap双主部署

ldap搭建

什么是凯撒加密法?