微软安全公告 ADV190023 的 Spring Ldap 影响(LDAP 通道绑定和 LDAP 签名)

Posted

技术标签:

【中文标题】微软安全公告 ADV190023 的 Spring Ldap 影响(LDAP 通道绑定和 LDAP 签名)【英文标题】:Spring Ldap Impact of Microsoft Security Advisory ADV190023 (LDAP channel binding and LDAP signing) 【发布时间】:2020-06-11 20:36:51 【问题描述】:

我们正在使用 Spring Security Ldap Library (v4.0.4) 从我们客户端的 Active Directory (ldap://domain:389) 中获取用户列表,并对他们进行身份验证以登录我们的 Web 应用程序。

Microsoft 最近发布了一项建议,以启用 LDAP 通道绑定和 LDAP 签名: https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/ADV190023

“LDAP 通道绑定和 LDAP 签名提供了提高 LDAP 客户端和 Active Directory 域控制器之间通信安全性的方法。Active Directory 域控制器上存在一组不安全的 LDAP 通道绑定和 LDAP 签名默认配置,允许 LDAP 客户端在不强制执行 LDAP 通道绑定和 LDAP 签名的情况下与他们进行通信。这可能会打开 Active Directory 域控制器以提升权限漏洞。"

我们被问到在他们的服务器上启用 LDAP 通道绑定和 LDAP 签名是否会影响我们的流程。我在文档中找不到有关这些的信息: https://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#ldap

Spring Security Ldap Library (v4.0.4) 是否支持这些? 如果是这样,我们是否应该更改任何配置以确保不受影响?

【问题讨论】:

【参考方案1】:

Spring Security Ldap Library (v4.0.4) 于 2016 年 2 月发布,它太旧,无法支持 2019 年 8 月发布的Microsoft Security Advisory 的 LDAP 通道绑定和 LDAP 签名。

我会建议将 Spring Security Ldap 库更新为new stable version 5.3.0

【讨论】:

我们知道稳定版 5.3.0 支持这些功能吗? 该公告于 2019 年 8 月发布,但它表示“LDAP 签名域控制器:LDAP 服务器签名要求策略已存在于所有受支持的 Windows 版本中。”。以前版本的库可能仍然支持它们?【参考方案2】:

这是我从项目的 Github 页面获得的官方答案,供可能觉得有用的人参考:

https://github.com/spring-projects/spring-security/issues/8037

不,Spring Security 的 AD 支持仅与 用户的用户名和密码 - 唯一可用的安全增强功能 是使用TLS。如果应用程序需要通道绑定,我可以想象 将通过 Java 的 GSS-API。

由于 4.0.x 不再是受支持的分支,因此任何添加的支持都会 很可能会进入 Spring Security 的现代版本。

当然,如果您在此过程中发现任何问题,或者想 建议一个功能,然后毫不犹豫地打开另一个问题,也许 将其链接回这个。

【讨论】:

以上是关于微软安全公告 ADV190023 的 Spring Ldap 影响(LDAP 通道绑定和 LDAP 签名)的主要内容,如果未能解决你的问题,请参考以下文章

Ladon批量检测漏洞 SMBGhost CVE-2020-0796

Ladon批量检测漏洞 SMBGhost CVE-2020-0796

20160309,微软3月8日公布13个安全补丁

20160309,微软3月8日发布13个安全补丁

20141010,微软十月安全补丁提前通知

ADV170014 NTLM SSO 漏洞复现