RDP 提供自签名证书,而不是证书颁发机构的证书

RDP 提供自签名证书,而不是证书颁发机构的证书

几天前,我在我的域中发现了一个奇怪的问题:

  • 在 RDP 连接期间,我看到有关证书不受信任的警告(并且我看到自签名证书,不是由域 CA 颁发的)

  • 我无法再通过 RDP 连接到启用了 NLA(网络层身份验证)的服务器。

这个问题无处不在 - 我在不同的工作站和不同的服务器上都遇到过它,包括 Windows Server 2012R2|2008R2、Windows 7 和 Windows 10。

关于 CA 基础设施:一个离线根 CA 和一个域级颁发 CA。pkiview.msc 表示一切正常:根 CA 和颁发者都具有有效的证书、CDP、IAI 和 DeltaCRL(仅限颁发者)。我已更新根 CRL 并在 AD 中重新发布它们,因为我认为情况可能如此,但没有成功。

具有客户端|服务器|RDP 身份验证的自定义证书模板仍然存在,并且我可以确认相关服务器在 MMC 证书小程序中的个人文件夹中具有此类证书(并且可以从那里请求新的证书),尽管 RDP 文件夹中只存在自签名证书。

使用 MMC 证书小程序,我还看到根证书和颁发者证书都是受信任的。

所以……我真的不知道该怎么做,如何修复它,以及它为什么会坏掉。任何帮助我都感激不尽。

PS。另外,前段时间我修改了默认域 GPO,强制使用私有网络 IP 范围。这可能是原因吗?无论如何,我将它们恢复为默认设置,但仍然没有成功。

更新 一些图片可以稍微澄清一下:

1)安全警告

安全警告

2)...因为服务器提供了自签名证书

...因为它有自签名证书

3) 但是我们可以在相关服务器的个人存储中看到正确的 CA 证书

然而,我们可以在相关服务器的个人存储中看到正确的 CA 证书

4) 在远程桌面证书存储中,我只能看到自签名证书。我也在那里复制了正确的证书,但没有效果。如果我从那里删除自签名证书,我将根本无法通过 RDP 连接到服务器。

在远程桌面证书存储中,我只能看到自签名证书。我也在那里复制了正确的证书,但没有效果。如果我从那里删除自签名证书,它根本无法通过 RDP 连接到服务器。

5)您还可以看到我的本地 CA 受到服务器信任:

您还可以看到我的本地 CA 受到服务器信任

6) 这是我尝试通过 RDP 连接到启用了 NLA 的服务器时收到的错误。因此,客户端出于某种原因无法或不愿意使用 CredSSP。它在一周前是可以正常工作的,所以我认为这与证书问题有关。

这是我尝试通过 RDP 连接到启用了 NLA 的服务器时收到的错误。因此,客户端出于某种原因无法或不愿意使用 CredSSP。我认为这与证书问题有关。

7) 最后是颁发 CA 的一些屏幕。看起来一切正常。

最后是来自颁发 CA 的一些屏幕。

在此处输入图片描述

答案1

有时,RDS 会对静态证书(未通过 GPO 分配)放宽证书绑定。您可能需要执行以下命令:

$path = (Get-WmiObject "Win32_TSGeneralSetting" -ComputerName "<RDS Server Name>" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'").__path
Set-WmiInstance -Path $path -argument @{SSLCertificateSHA1Hash="<Thumbprint>"}

<RDS Server Name>用实际的服务器名称(如果远程执行)和<Thumbprint>实际证书的指纹替换。指纹必须以十六进制指定,且无空格,例如F02B346CDC02165543936A37B50F2ED9D5285F62

对于内部机器(属于 AD 林的一部分并通过内部名称访问),建议使用 GPO 分配的 RDS 证书:配置远程桌面证书

答案2

好的,我解决了。Michal Sokolowski 指出 CredSSP 2018 年 5 月更新是正确的。显然我看到的一切都是因为这个。当我在客户端工作站上修改本地 GPO 时,一切都很顺利。

因此,解决方案是:

1)在客户端上运行 gpedit.msc

2)打开计算机配置->管理模板->系统->凭据委派

3)启用加密 Oracle 修复并将其设置为易受攻击

4)运行 gpupdate /force

一切恢复正常。

答案3

将所有补丁应用到服务器和客户端,这将修复您的 credssp 错误。

相关内容