什么是 SSHA-512?OpenLDAP 如何支持它?

什么是 SSHA-512?OpenLDAP 如何支持它?

我有两个 OpenLDAP 目录服务器。一个是标准的 Zimbra OpenLDAP 服务器。帐户的密码使用 SSHA-512 哈希方法。

当我将这些帐户复制到已编译并安装 sha2 模块的标准 OpenLDAP 服务器时,仅支持 SHA-512。

我无法成功绑定具有 SSHA-512 哈希方法的帐户。我可以使用外部 LDAP 浏览器验证密码是否正确,但无法绑定。消息始终是凭据无效。身份验证失败 [LDAP:错误代码 49 - 凭据无效]

这是 Zimbra OpenLDAP 服务器特有的哈希方法吗?这是 Zimbra 社区创建的哈希方法吗?

为什么 Zimbra 社区会使用非标准哈希方法?

我们在哪里可以找到这个 SSHA-512 哈希方法?所以我们可以将其添加到标准 OpenLDAP 服务器中。

OpenLDAP 网站上有“OpenLDAP 支持 RFC 2307 密码,包括 {SHA}、{SSHA} 和其他方案。此类密码可用作 userPassword 值和/或 rootpw 值。请参阅 (Xref) 什么是 RFC 2307 散列用户密码?。{SHA} 和 {SSHA} 是使用 SHA1 安全散列算法的 RFC 2307 密码方案。{SSHA} 是种子变体。与其他 RFC 2307 方案相比,建议使用 {SSHA}。”

此信息不正确。我确实创建了 slapd-sha2.so 模块,例如此处所述https://github.com/gcp/openldap/tree/master/contrib/slapd-modules/passwd/sha2

但是按照此说明将确保不支持 SSHA,而仅支持 SHA。

答案1

slapd.conf您需要在在线配置中告诉 OpenLDAP 使用哪种方案:

  • 其中slapd.confpassword-hash条目。
  • 在在线配置中,它是olcPasswordHash顶级olcGlobal配置对象中的条目。

将其设置为{SSHA}

答案2

我知道这是一篇老帖子,但我遇到了类似的问题,解决方案是加载 de 模块以支持 SSHA-2 算法。在文件中包括slapd.conf以下行:

moduleload pw-sha2.la

我希望这对某人有帮助;-)

答案3

在没有 *.conf 的较新的系统上,创建一个内容/tmp/hash为以下内容的文件:

dn: olcDatabase={-1}frontend,cn=config
add: olcPasswordHash
olcPasswordHash: {SSHA}

然后:

apt install ldap-utils
ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/hash

相关内容