AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1079838
Accepted
joaerl
joaerl
Asked: 2021-10-08 00:58:04 +0800 CST2021-10-08 00:58:04 +0800 CST 2021-10-08 00:58:04 +0800 CST

如何查看 ldap 密码存储策略

  • 772

如何检查密码如何存储在本地运行的 OpenLDAP 服务器中?我更喜欢某种查询来说明使用的配置。或者,访问存储的密码以查看它们是否已加密也是可以接受的。仅检查配置文件是不够的。

我已经使用 ldapsearch 列出了用户及其密码

ldapsearch -x -b ou=people -H ldap://127.0.0.1 -D cn=admin -w <password>

并且密码没有以明文形式列出,但这是否真的确认它们没有以明文形式存储,或者 ldapsearch 在返回结果之前对其进行加密?

linux ldap user-management openldap slapd
  • 1 1 个回答
  • 447 Views

1 个回答

  • Voted
  1. Best Answer
    bob
    2021-10-08T03:34:21+08:002021-10-08T03:34:21+08:00

    我已经列出了用户及其密码ldapsearch ,并且密码没有以明文形式列出,但这是否真的确认它们不是以明文形式存储的?

    是的,不,也许。

    我认为ldapsearch,例如,密码策略覆盖不会用搜索响应中的加密或散列版本替换存储的明文密码。明文密码的加密/散列仅在设置/更新密码时发生。我认为在这方面你可以相信你所看到的ldapsearch。

    但两者都ldapsearch以base64 编码格式slapcat显示userPassword。属性名称后的双冒号 ::用于指示该值是 base64 编码的。

     userPassword:: c2VjcmV0LXBhc3N3b3JkCg==
     userPassword:: e1NTSEF9RGtNVHdCbCthLzNEUVR4Q1lFQXBkVXROWEdnZFVhYzMK
    

    如果密码是散列或明文,则在解码该 base64 字符串之前,您实际上不会知道。如果您只找到以下形式的密码{hash prefix}salt/value:

     userPassword: {SSHA}DkMTwBl+a/3DQTxCYEApdUtNXGgdUac3
     userPassword: {SSHA}d0Q0626PSH9VUld7yWpR0k6BlpQmtczb
     userPassword: {CRYPT}$1$czBJdDqS$TmkzUAb836oMxg/BmIwN.1
     userPassword: {MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==
     userPassword: {SMD5}4QWGWZpj9GCmfuqEvm8HtZhZS6E=
    

    那你很好。没有这种前缀的密码是纯文本。

    仅检查配置文件是不够的。

    的确。当密码散列/加密被启用/更改时,现有的明文密码和使用不同算法加密的现有密码都不会被转换。
    据我所知,在更改默认密码策略后,现有的明文和使用其他算法散列的密码也不会停止工作,每当发出身份验证请求时,ldap 守护程序都会简单地遍历所有支持的机制。

    要检查 OpenLDAP 中实际存储数据的内容,最简单的方法可能是将数据库导出为可读的 LDIF 格式,使用slapcat; 从该 LDIF 中提取所有 userPassword 属性值,并对它们进行 base64 解码。

    • 1

相关问题

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 您如何优化新用户设置?

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve