远程桌面“内部错误”在安装“NSA”补丁后尝试连接

Sim*_*mon 9 rdp windows-terminal-services

我刚刚安装了最新的 Windows 更新(周二 NSA 漏洞补丁),现在我无法连接到远程桌面。

  • 服务器是远程托管的。我没有物理访问权限。服务器 2012 R1。
  • 幸运的是,所有网站在重新启动后都可以正常运行。
  • 我还没有尝试过第二次重启,因为我有点害怕。
  • 当我尝试连接时,我立即收到此消息:
  • 远程桌面连接:发生内部错误”

在此处输入图片说明

  • 已尝试从多个客户。它们都失败了——包括一个 iOS 应用程序,它另外给了我一个 0x00000904 错误。
  • 如果我运行,telnet servername 3389它会启动一个连接,所以我知道端口是打开的。
  • 我可以从我的 Win 10(未打补丁)机器很好地连接到其他服务器。
  • 我也无法从我的第二台笔记本电脑(Win 10 Creators 版)连接。
  • 在事件查看器中找不到任何有用的东西。
  • 我什至尝试过wireshark,但没有向我展示任何有用的东西。
  • 我必须诊断的最好的方法是上传 ASPX 页面并运行它的能力。

我知道最近的“NSA 版”补丁综述有一些 RDP 修复 - 但我找不到其他任何人突然遇到问题。

在联系托管公司之前,我想知道问题出在哪里,这就是我在这里发帖的原因。


更新:

虽然我仍然没有物理服务器访问权限,但我记得我在服务器上托管了一个 Windows 7 VM。我能够通过连接到 10.0.0.1 本地 IP 进入这个并打开服务器证书管理单元。

这表明 RDP 证书确实已过期 - 尽管在连接该建议时我没有收到任何错误。我当然每天都在连接,因为它在 2 个月前过期,我猜是某种安全更新删除了远程桌面存储中的任何其他证书,并且它没有自我更新。

所以现在试图找出一种方法来安装不同的证书。

更新 2

最后在“管理事件”下的事件日志中找到了这个(通过虚拟机远程连接):

“终端服务器无法创建新的自签名证书以用于 SSL 连接上的终端服务器身份验证。相关状态代码为对象已存在。”

这似乎很有帮助,尽管错误略有不同。今晚无法重启,所以明天必须再次检查。

https://blogs.technet.microsoft.com/the_9z_by_chris_davis/2014/02/20/event-id-1057-the-terminal-server-has-failed-to-create-a-new-self-signed-certificate/

在此处输入图片说明

Sim*_*mon 9

解决方案基本上在这里

https://blogs.technet.microsoft.com/askpfeplat/2017/02/01/removing-self-signed-rdp-certificates/

这也有帮助:

https://social.technet.microsoft.com/Forums/ie/en-US/a9c734c1-4e68-4f45-be46-8cae44c95257/unable-to-remote-desktop-to-windows-server-2012-due-to-无法创建自签名证书?forum=winserverTS

假设您已经验证证书 > 远程桌面 > 证书下列出的证书无效...

在此处输入图片说明

注意:我修复所有内容截取了此屏幕截图- 因此此到期日期是新创建的证书,它完全由自己完成。

你基本上然后需要重命名或删除这个文件 - 然后它会重新创建它:

“C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\f686aace6942fb7f7ceb231212eef4a4_a54b3870-f13c-44bb-98c7-d0511f3e1757”

这是一个众所周知的文件名,以f686aace. 然后重新启动Remote Desktop Configuration服务,它应该重新创建它。(注意:实际上可能没有必要重新启动服务 - 只需等待一分钟看看它是否使用相同的文件名重新创建)。

这可能需要一些权限处理,您可能需要获得文件的所有权,然后另外应用权限。注意:所有权并不意味着权限。您必须在获得所有权后添加权限。


正如我所说,我没有对服务器的物理访问权 - 如果你这样做了,那么上述就足够了。

我很幸运能够通过同一本地网络上的另一台机器远程连接并更改注册表。

我想禁用身份验证,以便我可以远程连接并获得访问权限。执行此操作的注册表项是HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

将现有密钥SecurityLayerUserAuthentication0

创建一个 RDP 文件(打开 mstsc 并在输入服务器名称后单击保存)并在记事本中添加该行enablecredsspsupport:i:0。这使安全预期失效。

当您然后运行 ​​RDP 文件时,它应该允许您不安全地连接并访问您的服务器。

连接后立即更改这两个注册表项,然后继续删除f686...文件...