问题现象

用得好好的桌面远程,一早开机去连接,居然连接失败,提示:

远程桌面发生身份验证错误,要求的函数不受支持

如果是英文版系统,那可能提示是这样的:

An authentication error has occurred and the required function is not supported

远程桌面连接失败

本以为是服务器开太久了,可用其他远程工具登上去发现服务器好好的,并没有什么异常,查了下居然是本地系统的问题。

起因

因为前一天都好好的,服务器也没变化,本地机器昨夜也是自动重启了,看了下系统更新的系统补丁安装记录,总共两个补丁,一个是adobe的,另外一个点击去看介绍,果然是有嫌疑的。

补丁记录:适用于 Windows 10 version 1709 的 05 累积更新,适合基于 x64 的系统(kb4103727)
补丁介绍:https://support.microsoft.com/zh-cn/help/4103727/windows-10-update-kb4103727

1
Addresses an issue that may cause an error when connecting to a Remote Desktop server. For more information, see CredSSP updates for CVE-2018-0886.

微软的补丁更新记录

2018 年 4 月 17 日
KB4093120 中的远程桌面客户端 (RDP) 更新将增强更新的客户端无法连接到尚未更新的服务器时出现的错误消息。

2018 年 5 月 8 日
将默认设置从“易受攻击”更改为“缓解”的更新。

相关的 Microsoft 知识库编号已在 CVE-2018-0886 中列出。

解决办法

方法1:更改服务器远程桌面设置

之前为了安全,服务器远程桌面设置为:

1
只允许运行带网络级身份验证的远程桌面的计算机连接(更安全)

用上去也没有所谓的安全,干脆直接改成:

1
允许运行任意版本远程桌面的计算机(较不安全)

在能够远程的计算机上远程到服务器『我这是系统里装了teamviewer,开机自启动,平常用不到,这次刚好用到』:在我的电脑上右键》属性》远程设置》远程,然后就看到了,改完就能用任意远程桌面客户端远程连接了。

方法2:修改本地组策略

在需要远程控制的客户机上:开始》运行『或用win+R快捷键直接就出来了』》输入gpedit.msc回车打开组策略编辑器,计算机配置》管理模板》系统》凭据分配》加密Oracle修正,选择 启用 并选择 易受攻击,确定保存设置。

易受攻击– 使用 CredSSP 的客户端应用程序将通过支持回退到不安全的版本使远程服务器遭受攻击,但使用 CredSSP 的服务将接受未修补的客户端。

如果是家庭版系统,默认是没有组策略编辑器的,请按照此方法启用组策略编辑器,或者直接请看下一种方法,这个方法不适合家庭版系统。

  • 英文版系统

Group Policy -> Computer Configuration -> Administrative Templates -> System -> Credentials Delegation> Encrypted Oracle Remediation change to Vulnerable

Vulnerable – Client applications that use CredSSP will expose the remote servers to attacks by supporting fallback to insecure versions, and services that use CredSSP will accept unpatched clients.

方法3:卸载补丁

在家庭版系统中,你可能发现在组策略中并没有 加密Oracle修正 这项,这个时候要么去服务器上同样装系统更新,要么将自己电脑上的补丁卸载掉:开始》设置》更新和安全》查看已安装更新历史记录》卸载更新,找到 kb4103727 这个补丁卸载重启电脑即可。

据说Windows7上是KB4103718(适用于基于 x64 的系统的 Windows 7 月度安全质量汇总),大同小异,卸载后重启即可正常登录

参考文档

https://support.microsoft.com/zh-cn/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018