![Microsoft ADV190023:如何在 RHEL 7 上强制使用 LDAPS?](https://linux22.com/image/749220/Microsoft%20ADV190023%EF%BC%9A%E5%A6%82%E4%BD%95%E5%9C%A8%20RHEL%207%20%E4%B8%8A%E5%BC%BA%E5%88%B6%E4%BD%BF%E7%94%A8%20LDAPS%EF%BC%9F.png)
我在一家使用 Active Directory 域的公司工作,该域在 Win Server 2016 上运行。我有一些 Linux 服务器 (RHEL6) AD 与 Samba 集成。我了解到 Microsoft 即将发布更新 Microsoft ADV190023,并且我正在使用 RHEL 7(8 尚未批准),以便仅通过 LDAPS 与 AD 控制器配合使用。
我希望我的 Linux 客户端仅与目标端口 636 上的 DC 对话。我尝试查看了几个论坛,但在不同的配置(realmd、krb5、sssd、pam、ldap.conf)之间我有点迷失。
我知道有几种方法可以加入 AD 域。我最后尝试的是自动配置 sssd 和 krb5 的领域。它成功运行,但我只想在 636 上。此外,我需要对上面的内容进行一些刷新,我想知道通过 net ads join -U 管理员将 Linux 加入 AD 和通过 realm join mydomain.com 将 Linux 加入 AD 之间有什么区别?
有没有办法强制我的 Linux 客户端只与端口 636 上的 DC 通信?我是否需要在 Linux 客户端上生成证书并让其获得我们的认证机构的批准?我已经导入了 DC 证书 + 根 CA。
谢谢你的帮助,问候
答案1
领域允许您在 Linux 主机上配置 AD 和 LDAP 客户端集成。在后端,它将创建所有需要的配置文件(SSSD、krb5、PAM)并加入域。
目前 realmd 仅可用于配置 AD 和 LDAP。您也可以将 SSSD 与 LDAPS 结合使用,但这需要您自己进行一些手动且略微复杂的配置。
查看Microsoft 安全公告 ADV190023 的影响 | LDAP 通道绑定和 LDAP 签名对 RHEL 和 AD 集成的影响Red Hat 声明:
- 他们通过在各种场景中在 Active Directory 域 2016 上强制执行 LDAP 通道绑定和 LDAP 签名进行了验证,并观察到对 Red Hat Enterprise Linux 6、7 和 8 客户端系统功能没有影响。
- 默认配置可能导致域控制器上出现 ID 为 2889 的事件,但这看起来像是目前正在调查的误报/阳性日志事件。
- 他们正在开发 SSSD/
adcli
增强功能,允许将 LDAPS 协议与 SSSD 活动目录提供程序一起使用。这将允许我们像您习惯的那样配置 AD 集成 (realmd),但后端使用 LDAPS。这种配置是可选的,仅在默认 LDAP 端口 389 关闭的环境中才需要。上述 RFE 还将 GSS-SPNEGO 设置为 中的默认 SASL 机制adcli
。目前 GSSAPI 是硬编码的adcli
,无法更改。
更新:Red Hat 昨天发布了 RHEL 7.8,其中包含新adcli
功能。检查adcli
手册页了解更多详情。目前似乎没有realm
集成,因此如果您想使用“完整 LDAPS”(在端口 636 上),则必须结合adcli
SSSD 中的手动 LDAPS 配置。
答案2
当 ADV190023 建议在 AD 端强制执行时,无需切换到基于 TLS 的通信。RHEL 客户端守护程序 SSSD 在与 AD 后端通信时默认使用 SASL。SASL 还可以对连接进行签名和密封,因此无需使用 TLS。目前,RHEL 中附带的 SASL 库不支持通道绑定令牌(但上游工作已经完成,很快就会出现在 RHEL 中),因此当您从默认 LDAP 端口 389 上的 SASL 移动到端口 636 并依赖 TLS 进行连接的密封和签名时,您甚至会遇到问题。仅在使用 TLS 时才需要通道绑定令牌。