我正在尝试保护我们的域名,因此当从另一台计算机进行 LDAP 查询时,它们会使用 SSL 加密。
我关注了指导即使我正在使用 Windows 2008 R2。
我添加了Active Directory 证书服务角色主要采用默认设置,确保它是企业根 CA(如指南所建议)
我登录到 Windows 7 计算机(所有防火墙都已禁用),并使用基于 Java 的应用程序 JXplorer(还有更好的吗?)执行一些 LDAP 查询(或至少尝试),问题是我似乎无法使用除 GSSAPI 之外的任何东西连接到服务器(甚至不知道那是什么),我尝试了其他选项但没有连接。
这指导除了在服务器上安装 CA 之外没有提到任何其他内容,我想知道是否需要执行任何其他配置才能强制使用 SSL 进行 LDAP 查询。
非常感谢。
答案1
您实际上从未说过您在 2008 R2 上运行 Active Directory,但我会假设情况确实如此。
首先,您不需要在域控制器上安装证书服务或使其成为证书颁发机构。您的 DC 只需要为其分配一个您的 LDAP 客户端“信任”的“有效” SSL 证书。
有多种方法可以为您的 DC 获取证书。安装证书颁发机构(如 AD 证书服务)并使用它来生成“域控制器”证书是一种方法,但不是唯一的方法。并且通常认为将域控制器设为证书颁发机构是不明智的。相反,应将其放在专用机器上。
您也可以从第三方 CA 获取证书,就像获取 Web 服务器的证书一样。这稍微复杂一些,因为域控制器证书具有不同的属性,需要这些属性才能“有效”。以下是 Microsoft 提供的关于此主题的链接: 如何使用第三方证书颁发机构启用 LDAP over SSL
LDAPS 证书的要求
要启用 LDAPS,您必须安装满足以下要求的证书:
- LDAPS 证书位于本地计算机的个人证书存储中(在编程中称为计算机的 MY 证书存储)。
- 与证书匹配的私钥存在于本地计算机的存储中,并且与证书正确关联。私钥一定没有启用强私钥保护。
- 增强密钥使用扩展包括服务器身份验证 (1.3.6.1.5.5.7.3.1) 对象标识符(也称为 OID)。
- 域控制器的 Active Directory 完全限定域名 (例如,DC01.DOMAIN.COM) 必须出现在下列位置之一:
- 主题字段中的通用名称 (CN)。
- 主题备用名称扩展中的 DNS 条目。
- 该证书由域控制器和 LDAPS 客户端信任的 CA 颁发。通过将客户端和服务器配置为信任颁发 CA 所链接的根 CA,可以建立信任。
- 您必须使用 Schannel 加密服务提供商 (CSP) 来生成密钥。
一旦您的证书在 DC 上安装并运行,您应该能够将您的 LDAP 客户端指向端口 636 或 3269(用于 GC 连接)并且一切顺利。