安装ADV190023后 LDAP 会话安全设置和要求

本文讨论安装安全咨询ADV190023后 LDAP 会话安全设置和要求。

原始 KB 数: 4563239

总结

本文介绍安全咨询 ADV190023提供的功能更改。 此外,本文介绍每种轻型目录访问协议(LDAP)会话的安全设置,以及以安全方式操作 LDAP 会话所需的内容。

ADV190023讨论 LDAP 会话签名和其他客户端安全上下文验证(通道绑定令牌、CBT)的设置。 在实现中,有两个单独的项:

  • 在域控制器上记录的 LDAPServerIntegrity 和事件
  • LdapEnforceChannelBinding 和在域控制器上记录的事件。

确定根据ADV190023提高安全性的最佳路径时,这两个区域中的应用程序所有者可能需要采取一些操作。 但是,满足这些设置和要求不同。 这两个主题的解决方案也很可能由单个更改组成。 例如,通过使用 Kerberos 或 TLS 和简单绑定从简单绑定从简单绑定迁移到 SASL。

新的通道绑定令牌(CBT)选项是 RFC 5056 中介绍的 扩展身份验证 保护(EPA)方案的 LDAP TLS 实现。

注意

在此上下文中,可以互换使用“EPA”和“CBT”。

详细信息

处理 LDAP 会话安全性的方法取决于选择哪种协议和身份验证选项。 有几个可能的会话选项:

  • 端口 389 或 3268 上的会话,或在不使用 TLS/SSL 进行简单绑定的自定义 LDS 端口上会话:这些会话没有安全性。 这是因为凭据以明文形式传输。 因此,没有提供保护的安全密钥材料。 应通过将 LDAPServerIntegrity 设置为 Required 来禁用这些会话。
  • 端口 389 或 3268 或自定义 LDS 端口上的会话,这些端口不使用 TLS/SSL 作为简单身份验证和安全层 (SASL) 绑定。
  • 使用预先确定的端口(636、3269 或自定义 LDS 端口)或标准端口(389、3268 或使用 STARTTLS 扩展操作的自定义 LDS 端口)使用 TLS/SSL 的会话。

LDAP 会话不使用 TLS/SSL,使用 SASL 进行绑定

如果使用 SASL 登录对 LDAP 会话进行签名或加密,则会话安全免受中间人(MITM)攻击。 这是因为仅当知道用户密码时,才能获取签名密钥。 无需对身份验证(EPA)信息进行扩展保护。

选择的 SASL 方法可能有自己的攻击途径,例如 NTLMv1。 但 LDAP 会话本身是安全的。 如果使用的是 Kerberos AES 256 位加密,则这与 2020 年一样好。 以下策略准则适用:

  • LDAPServerIntegrity=2 设置对于此会话选项非常重要,因为它强制使用客户端签名。 加密会话时,也会满足此要求。
  • LdapEnforceChannelBinding 设置对此会话选项没有影响。

使用 TLS/SSL 和简单绑定进行用户身份验证的 LDAP 会话

没有为这些会话添加 CBT 信息。 TLS 客户端实现的质量控制客户端是否可以检测 MITM 攻击(通过服务器证书名称检查、CRL 验证等)。

以下策略准则适用:

  • 满足 LDAPServerIntegrity 的要求,因为 TLS 通道提供签名。 TLS 通道提供的安全性级别取决于 TLS 客户端实现。
  • LdapEnforceChannelBinding 设置对此会话选项没有影响。

使用 TLS/SSL 的 LDAP 会话,使用证书进行用户身份验证

目前,没有为这些会话添加 CBT 信息。 TLS 客户端实现的质量控制客户端是否可以检测 MITM 攻击(通过服务器证书名称检查、CRL 验证等)。 客户端证书身份验证足以阻止 MITM 攻击,但它不会阻止其他类别的攻击,这些攻击只能由服务器提供的 TLS 证书的相应客户端验证来缓解。

以下策略准则适用:

  • 满足 LDAPServerIntegrity 的要求,因为 TLS 通道提供签名。 TLS 通道提供的安全性级别取决于 TLS 客户端实现。
  • LdapEnforceChannelBinding 设置对此会话选项没有影响。

使用 TLS/SSL 的 LDAP 会话,通过 SASL 进行用户身份验证

在此方案中,TLS 为加密提供会话安全性,加密密钥基于服务器证书。 具体而言,对于使用 NTLM 的 SASL 身份验证,NTLM 身份验证数据可能已从 MITM 攻击者持有的会话中中继。 对于此类攻击,没有证据表明客户端具有有效的密码哈希。 CBT 信息通过使用会话密钥(只能通过知道用户的凭据或服务器的凭据获取)来防止通过签名或加密(具体取决于身份验证协议)进行篡改。 如果 MITM 攻击者截获了 NTLM 身份验证,则不会有此密码哈希。

以下策略准则适用:

  • LdapEnforceChannelBinding 设置用于此会话选项。 将此值设置为 2 时,LDAP 服务器需要 CBT 信息(等效于 EPA),并且需要通过验证。
  • 满足 LDAPServerIntegrity 的要求,因为 TLS 通道提供签名。 它提供的安全性级别取决于 TLS 客户端实现以及是否需要 CBT。

参考

有关详细信息,请参阅以下文章: