在使用windows进行远程桌面时,出现以下报错:
根据官方提供信息可知:此问题由Windows于2018年5月8日的更新所导致(CVE-2018-0886 的 CredSSP 更新)。此前已修复在CredSSP 的未修补版本中存在的远程代码执行漏洞,但在5月8日发布的更新中则将"加密Oracle修正"默认设置从“易受***”更改为“缓解”的更新。
因此在安装此更新后, 默认情况下已修补的客户端无法与未修补的服务端进行通信,并弹出如上图的错误提示。
常见的解决方法:
1、针对已修补的客户端
通过组策略(较为便捷): 运行 gpedit.msc 本地组策略,选择"计算机配置">"管理模板">"系统">"凭据分配">"加密Oracle修正",选择"启用"并选择"易受***"即可。若组策略没有出现"加密Oracle修正",则说明此计算机尚未修补更新。
通过注册表(针对无组策略功能的家庭版Windows):运行 regedit 注册表,跳转到路径:HKLM(缩写)\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters,若无相应表项则需自行创建,在Parameters项的右侧栏新建类型为 DWORD (32)位、名称为"AllowEncryptionOracle"的数据,最后重启计算机。
2、针对未修补的服务端
修改远程设置(不建议):运行 sysdm.cpl 系统属性,选择"远程",并将"仅允许运行使用网络基本身份验证的远程桌面的计算机连接(建议)"去掉打勾。
安装更新补丁(推荐):网上提供的方法多为在客户端上修改组策略,但实际上这种方法降低了计算机的安全性,并不符合微软官方期望。正确的做法应该是在未修补的计算机上安装相应的安全更新包。可查询微软各操作系统于2018年5月8日的安全更新包进行下载和安装,以下列举常见系统版本对应的更新包,分别是:
Windows 10 1703版 —— KB4103731
Windows 8.1 和 Windows Server 2012 R2 —— KB4103715
Windows 7 SP1 和 Windows Server 2008 R2 SP1 —— KB4103712
参考:
KB4103731 - 2018年5月8日 - Windows 10 历史更新记录
Windows 8.1 和 Windows Server 2012 R2 更新历史记录