【问题标题】:Enable password hashing in OpenLDAP在 OpenLDAP 中启用密码散列
【发布时间】:2012-12-20 20:52:07
【问题描述】:

如何在 OpenLDAP 中启用密码散列? 似乎 OpenLDAP 默认将 password-hash 设置为 {SSHA},但是每当我使用 Apache Directory Studio 在 userPassword 属性中输入明文密码时,它仍然以明文形式存储。我期待它被 OpenLDAP 转换为 SSHA。

我也尝试将password-hash {SSHA} 放入slapd.conf 文件中,但这没有帮助。

【问题讨论】:

    标签: hash openldap


    【解决方案1】:

    当您尝试在添加/修改 LDAP 操作中存储 userPassword 属性时,userPassword 值存储为纯文本。但是您可以使用 OpenLDAP 中 ppolicy 覆盖模块中的 ppolicy_hash_cleartext 选项覆盖此行为。启用后,当客户端发送纯文本密码时,默认存储为 SSHA。您可以从here 找到有关在 OpenLADP 中启用哈希密码的配置详细信息

    【讨论】:

      【解决方案2】:

      当您直接设置属性时,您设置的是实际值,可以散列也可以不散列(正如您已经发现的那样)。

      以下内容,引自The FAQ: 首先,使用 'slappasswd' 实用程序生成密码,这样您就可以检查您的 PHP 例程是否正确。 (slappasswd 实用程序是 openldap 发行版的一部分)。 命令

      slappasswd -h {SHA} -s supersecretpassword
      

      可能有帮助。

      【讨论】:

      • 就我而言,设置userPassword 属性的系统/工具不使用slappasswd
      • 好的,那你可以多解释一下你的情况吗?您似乎是使用 Apache Directory Studio(我个人最喜欢的 LDAP 浏览器/编辑器,顺便说一句)手动设置密码。什么系统/工具设置了userPassword,它是如何获得它使用的值的?
      • 我有一个 Java 程序,它使用 Spring LDAP 来验证、添加、删除或修改 LDAP 记录。我正在寻找的是,我的程序将发送一个明文密码,我希望 OpenLDAP 使用 SSHA 对其进行哈希处理并存储它。
      • 好吧,这有点超出了我的专业范围,但我会再补充一点——slapd.conf 的手册页提到受密码哈希配置值影响的唯一操作是“在处理 LDAP 密码修改扩展操作 (RFC 3062) 期间生成存储在 userPassword 属性中的用户密码”。然后它继续明确地说“请注意,在 LDAP 添加、修改或其他 LDAP 操作期间,此选项不会改变用户密码的正常用户应用程序处理。”
      • 并添加该手册页,加上您给出的 spring ldap 提示,产生以下结果:forum.springsource.org/…
      猜你喜欢
      • 2012-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      • 2011-02-18
      相关资源
      最近更新 更多