Windows Server 2019域控制器第三方客户端LDAPS绑定失败问题求助
Windows Server 2019域控制器第三方客户端LDAPS绑定失败问题求助
各位技术大佬,我最近碰到一个LDAPS的疑难问题,折腾了好久没搞定,想请大家帮忙排查下:
环境背景
- 一台运行Windows Server 2019的域控制器(DC),已安装Active Directory域服务角色
- 同域内部署了多层CA架构(基于AD CS角色):根CA处于关机状态,中间CA处于关机状态,签发CA已开机并加入域
问题现象
第三方客户端(非域加入的机器或Web应用)无法通过LDAPS/636完成绑定,但LDAP/389连接完全正常;部分客户端能使用StartTLS,但这不是我想要的方案,我更倾向于使用标准的LDAPS方式。
已完成的配置操作
- 为AD服务器生成了证书:证书Subject包含DC的FQDN,SAN扩展里同时添加了DNS主机名和IP地址,尽可能覆盖所有访问场景
- 证书的**增强密钥用法(EKU)**已勾选“服务器身份验证”
- 按照微软文档要求,证书应该是通过Schannel CSP生成的(目前无法远程访问环境验证,但配置时是严格按文档操作的)
- 证书由正确的签发CA签名,客户端已安装完整的CA信任链;如果将AD的证书导出到客户端,本地可以正常验证证书有效性
奇怪的异常表现
- 在DC本地使用
ldp.exe连接LDAPS/636,能正常建立SSL连接,控制台会显示Host supports SSL, SSL cipher strength = 256 bits,完全没问题 - 但在Linux客户端上执行
openssl s_client -showcerts -state -connect <AD_FQDN>:636测试时,根本获取不到服务器证书,输出内容大致如下(因为没法直接复制粘贴,可能有细微误差):
CONNECTED (00000003) write: errno = 104 --- no peer certificate available --- No client cert CA names sent --- SSL handshake has read 0 bytes and written 324 bytes Verification: OK ---
- 客户端尝试LDAPS认证时,要么返回
SSL_Certificate error: Connection closed by peer(按我的经验这通常是证书信任问题,但这里客户端根本拿不到证书来验证),要么就只显示“Failed to BIND to LDAP server”这类无帮助的错误 - 已经用
nc -vz <AD_FQDN> 636验证过DC确实在监听636端口,客户端可以从外部正常连接到该端口(不是DC本地回环)
有没有大佬知道可能是什么原因导致的这个问题?
备注:内容来源于stack exchange,提问作者rst-2cv
相关产品推荐
相关产品推荐

