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 密码加密的主要内容,如果未能解决你的问题,请参考以下文章