背景

将组织中的 windows DC 域控升级到最新的 2025 之后,原本通过 ldap 协议集成 AD 的统一认证和组织信息同步的业务系统出现了无法连接 AD 的错误;

其主要原因是 windows 2025 AD 增强了安全性,默认禁止在明文的连接中使用 simple bind 简单身份认证机制;这里记录一下其根本原因以及相关的解决方法;

问题现象

当第三方应用程序客户端使用标准的 LDAP 协议以 simple bind 认证模式连接 2025 DC 的标准 389 端口时,会收到服务器返回类似如下的错误信息。

ldap_bind: Strong(er) authentication required (8)
Server error: 00002028: LdapErr: DSID-0C0903CC, comment: The server requires binds to turn on integrity checking if SSL\TLS are not already active on the connection, data 0, v65f4
Error 0x2028 这台服务器需要一个更安全的身份验证方法。
ldap_simple_bind_s() failed: 需要加强的身份验证

其原因是: DC 服务器拒绝在明文(非加密)的连接上执行LDAP的简单绑定(simple bind)操作

如果我们切换为通过 636 端口进行加密的 LDAPs 会话尝试执行简单绑定时,也可能会遇到无法连接到 LDAP 服务器的问题;
这是因为在域内没有安装部署微软的 CA 证书服务器的环境下,2025 DC 默认会因为找不到合适的默认服务器 SSL 凭据而无法处理SSL加密的 LDAPs 访问请求;

当不支持SSL会话的 DC 在接收到客户端发起的 LDAPs 请求时,会在 windows 的事件日志中出现如下 ID 为 36886 的警告记录:

日志名称: System
来源: Schannel
日期: 2025/7/5 13:29:54
事件 ID: 36886
任务类别:
级别: 警告
关键字:
用户: SYSTEM
计算机: DC.domain.local
描述: 这个系统上没有合适的默认服务器凭据。这将阻止要使用系统默认凭据的服务器应用程序接受SSL连接。类似的应用程序有目录服务器。管理自身凭据的应用程序,如 Internet 信息服务器,不受此影响。 SSPI 客户端进程为 lsass(PID: 944)。

win2025-DC-event-id-36886.png

解决方案

解决以上问题有以下3种方案可可选

1. 临时方案 - DC安全性降级

为了快速恢复原本与DC对接的业务系统的服务,可以通过组策略(Group Policy)临时调整 DC 的安全性配置,使其允许在明文(非加密)的连接上执行LDAP的简单绑定(simple bind)操作 实现在不对业务系统做任何调整的情况下,恢复与 DC 的统一认证和组织数据同步的对接;

该方案是以降级DC的通讯安全性为代价的,系统管理员需要综合谨慎的评估风险后决定是否采用;
建议只作为临时紧急恢复业务的备选方案;

具体配置如下:

  1. 使用域管理员账户登录 DC 后按 win + r 打开运行窗口,输入 gpedit.msc 回车,打开组策略编辑器
  2. 导航到 计算机配置 --> Windows设置 --> 安全设置 --> 本地策略 --> 安全选项
  3. 找到配置项:域控制器: LDAP 服务器强制签名要求 将其设置为 “已禁用”
  4. CMD命令行下执行 gpupdate /force 指令刷新组策略生效

win2025-DC-GroupPolicy.png

2. 域内部署CA证书服务器

在不降级 DC 安全性配置的情况下,可以配置客户端通过 636 端口以SSL安全会话的方式与DC 进行通讯就可以满足DC的强制性签名要求;

按照微软官方对于 Event-ID: 36886 的说明,几乎都是建议通过安装CA证书服务器来解决;

当服务器尝试建立 SSL 连接但未找到服务器证书时,会发生此事件。在没有企业 CA 的域中,此事件是正常现象,可以安全地忽略。或者,您可以在域中安装一个 CA。

安装部署 CA 证书颁发机构的步骤请自行参考微软文档,这里不做过多介绍

3. 手动为 DC 生成并安装自签名证书

很多时候我们并不想单纯只为了修复 LDAP 的SSL问题,而在域内完整部署一套 CA 证书服务;
那么我们也完全可以手动生成一张自签名(self signed)的SSL证书,只要符DC默认服务器SSL凭据的标准和要求,安装到DC就可以让其正常启动和处理 LDAPs 的请求而不再产生警告事件;

具体操作步骤如下:

1. 生成新的符合要求的自签名SSL证书
DC服务器上,以域管理员身份登录并启动具有管理员权限的 PowerShell 终端;
输入如下的 PowerShell 指令生成一张自签名的SSL证书:

New-SelfSignedCertificate -DnsName 'MyDC.mydomain.local' -NotAfter (Get-Date).AddYears(20) -KeyUsage DigitalSignature,KeyEncipherment,DataEncipherment,CertSign,CRLSign

-DnsName 参数必须指定为当前 DC 服务器的完全限定域名(FQDN)名称;
-NotAfter 参数指定从当天日期开始,证书有效期为 20 年
-KeyUsage 指定了该SSL证书的用途,用于DC的SSL凭证必须包含这些用途类型;

win2025-create-self-signed-certificate.png

2. 将新证书复制一份到受信任的根证书颁发机构目录
新生成的SSL证书存储在 个人 --> 证书 区域,由于是自签名(自己签发自己)所以该证书也需要复制一份作为自己的根证书放到 受信任的根证书颁发机构 --> 证书 区域中,作为被信任的root CA,系统才能信任由它签发的存储在个人目录下的证书;
trust-self-signed-ca.png

3. 重启DC服务器,使新证书生效
更改DC的 SSL 证书后,必须需重启服务器才能生效;

验证

证书安装完成后,使用 windows2025 自带的 ldp.exe 工具,测试通过 636 端口以 SSL 加密会话与DC成功建立 LDAPs 的安全连接
win2025-ldp-SSL-connection.png

SSL会话建立成功后,使用 simple bind 简单账号密码进行bind认证,已经可以符合安全性要求,能正常验证成功!
win2025-ldp-SSL-Simple-bind.png

现在第三方使用 LDAP 协议对接的业务系统,只要使用 SSL 安全会话连接 windows 2025 DC 的 636 端口就可以正常进行 simple bind 认证了!

AD LDAP 常用对接端口

AD DS DC在标准 LDAPLDAPS(通过SSL/TLS的LDAP)端口 389636 上 接受LDAP连接。

如果 AD DS DC 是 GC 全局编录服务器,它还会在端口 3268 上接受用于 GC 访问的 LDAP 连接,并在端口 3269 上接受用于 GC 访问的 LDAPS 连接。

AD类型LDAPLDAPS
DC389636
GC32683269
Last modification:July 5, 2025
如果觉得我的文章对你有用,请随意赞赏