首页   

PostgreSQL将不再支持MD5密码

运维  · 运维  · 2 周前

主要观点总结

PostgreSQL决定弃用MD5密码支持,并在未来版本中删除。文章介绍了相关的最新动态、维护者的观点、SCRAM-SHA-256方法的优势、MD5密码的风险以及具体的弃用计划和步骤。

关键观点总结

关键观点1: PostgreSQL决定弃用MD5密码支持

根据最新动态,PostgreSQL代码仓库中的维护者提交了弃用MD5密码支持的commit。该决定旨在提高系统的安全性。

关键观点2: MD5被认为不适合用作加密散列算法

由于MD5算法的弱点,它已被认为不适合用于加密散列。PostgreSQL维护者指出,MD5密码散列容易受到传递散列攻击。

关键观点3: SCRAM-SHA-256方法被推荐为替代方案

由于SCRAM-SHA-256方法不存在MD5相关的问题,它被认为是更安全的替代方案。

关键观点4: 具体的弃用计划和步骤

PostgreSQL在多个版本中对MD5密码支持进行了弃用处理,包括发出弃用通知、禁止创建新密码、最终完全禁止使用。用户可以通过设置参数来禁用相关警告。


正文

来自公众号:OSC开源社区

链接:https://www.oschina.net/news/323309/pgsql-deprecates-md5-pass



根据 PostgreSQL 代码仓库的最新动态,近日有维护者提交了“弃用 MD5 密码支持”的 commit。

该维护者指出,MD5 被认为不适合用作加密散列算法已有一段时间。

此外,PostgreSQL 中的 MD5 密码散列很容易受到传递散列攻击,即知道用户名和散列密码就足以进行身份验证。v10 中添加的 SCRAM-SHA-256 方法不存在这些问题,被认为优于 MD5。

根据讨论,本次 commit 将 PostgreSQL 中的 MD5 密码支持标记为弃用,并将在未来的版本中删除。

现在,文档中包含了多个弃用通知,而 CREATE ROLE 和 ALTER ROLE 在设置 MD5 密码时也会发出弃用警告。用户可以通过将 md5_password_warnings 参数设置为 "off" 来禁用这些警告。

这可能是 PostgreSQL 18 明确告知 MD5 密码支持已过时并将在未来移除的程度。PostgreSQL 19 将支持使用 MD5 密码升级,并允许使用它们进行身份验证,但禁止创建新密码。

之后,PostgreSQL 20 将禁止使用 MD5 密码进行验证。

最后,在 PostgreSQL 21 中,将禁止使用 MD5 密码升级,并且 PostgreSQL 内部将不再提供 MD5 密码支持。因此,如果出于某种原因需要,PostgreSQL 中的 MD5 密码支持仍将存在数年,但现在已被正式弃用,移除路径也已启动。

相关来源
https://github.com/postgres/postgres/commit/db6a4a985bc09d260d5c29848e3c97f080646a53
https://www.postgresql.org/message-id/ZwbfpJJol7lDWajL%40nathan
https://www.postgresql.org/message-id/attachment/166823/v4-0001-Deprecate-MD5-passwords.patch

---END---

© 2024 精读
删除内容请联系邮箱 2879853325@qq.com