错误
在2018年5月更新Windows安全性之后,尝试将RDP传输到Windows 10 Pro工作站时,成功输入用户凭据后会显示以下错误消息:
发生认证错误。不支持所请求的功能。
这可能是由于CredSSP加密oracle修复
屏幕截图
调试
我们已确认用户凭据正确。
重新启动工作站。
在Prem目录服务中确认已运行。
尚未应用May安全补丁程序的隔离工作站不会受到影响。
可以临时管理烫发主机,但是关注基于云的服务器访问。在Server 2016上尚未发生。
谢谢
在2018年5月更新Windows安全性之后,尝试将RDP传输到Windows 10 Pro工作站时,成功输入用户凭据后会显示以下错误消息:
发生认证错误。不支持所请求的功能。
这可能是由于CredSSP加密oracle修复
我们已确认用户凭据正确。
重新启动工作站。
在Prem目录服务中确认已运行。
尚未应用May安全补丁程序的隔离工作站不会受到影响。
可以临时管理烫发主机,但是关注基于云的服务器访问。在Server 2016上尚未发生。
谢谢
Answers:
完全基于Graham Cuthbert的答复,我在记事本中用以下几行创建了一个文本文件,然后双击该文件(文件中的任何参数都应添加到Windows注册表中)。
只需注意第一行会根据所使用的Windows版本而有所不同,因此打开regedit
和导出任何规则只是查看第一行中的内容并在文件中使用相同版本可能是一个好主意。
另外,在我连接到加密VPN且主机Windows无法访问Internet并因此没有最新更新的情况下,我也不担心在这种特殊情况下会降低安全性。
档案rd_patch.reg
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters]
"AllowEncryptionOracle"=dword:00000002
对于那些想要轻松复制/粘贴到提升的命令提示符中的人:
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2 /f
凭据安全支持提供程序协议(CredSSP)是一种身份验证提供程序,它处理其他应用程序的身份验证请求。
未修补的CredSSP版本中存在一个远程执行代码漏洞。成功利用此漏洞的攻击者可以中继用户凭据以在目标系统上执行代码。任何依赖CredSSP进行身份验证的应用程序都可能容易受到这种类型的攻击。
[...]
2018年3月13日
最初的2018年3月13日发行版为所有受影响的平台更新了CredSSP身份验证协议和远程桌面客户端。
缓解措施包括在所有合格的客户端和服务器操作系统上安装更新,然后使用随附的组策略设置或基于注册表的等效项来管理客户端和服务器计算机上的设置选项。我们建议管理员在客户端和服务器计算机上尽快应用该策略,并将其设置为“强制更新客户端”或“缓解”。这些更改将需要重新启动受影响的系统。
请密切注意组策略或注册表设置对,它们会导致本文后面的兼容性表中的客户端和服务器之间的“阻止”交互。
2018年4月17日
KB 4093120中的远程桌面客户端(RDP)更新更新将增强当更新的客户端无法连接到尚未更新的服务器时显示的错误消息。
2018年5月8日
将默认设置从“易受攻击”更改为“已缓解”的更新。
来源:https : //support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018 [1]
另请参阅以下reddit线程:https : //www.reddit.com/r/sysadmin/comments/8i4coq/kb4103727_breaks_remote_desktop_connections_over/ [2]
微软的解决方法:
如果您的服务器是公开可用的,或者您的内部网络中没有严格的流量控制,则不建议使用此解决方法,但是有时在工作时间内重启RDP服务器是不可行的。
请务必了解使用这些风险并尽快修补您的系统。
[1]所有GPO CredSSP描述和注册表修改均在此处描述。
[2] GPO和注册表设置的示例,以防Microsoft网站崩溃。
参考本文:
https://blogs.technet.microsoft.com/askpfeplat/2018/05/07/credssp-rdp-and-raven/
2018年5月的临时更新,可能会影响在组织内建立远程主机RDP会话连接的能力。如果本地客户端和远程主机在注册表中定义了如何使用CredSSP构建RDP会话的注册表中具有不同的“加密Oracle修复”设置,则会发生此问题。下面定义了“加密Oracle修复”设置选项,如果服务器或客户端对建立安全RDP会话的期望不同,则可能会阻止连接。
暂定于2018年5月8日发布的第二次更新会将默认行为从“易受攻击”更改为“缓解”。
如果您注意到客户端和服务器均已打补丁,但默认策略设置为“易受攻击”,则RDP连接为“易受攻击”。将默认设置修改为“缓解”后,默认情况下,连接变为“安全”。
基于此信息,我将继续确保所有客户端均已打补丁,然后希望该问题得到缓解。
Windows 10机器上没有注册表值。我必须转到以下本地组策略并将更改应用到我的客户端上:
计算机配置->管理模板->系统->凭据委派-加密Oracle修复
启用并设置为 vulnerable.
建议您更新客户端,而不是更新此类脚本,以绕过该错误,但是您自己承担风险,即可在客户端上执行此操作,而无需重新启动客户端PC。也无需更改服务器上的任何内容。
Run
,键入gpedit.msc
并单击OK
。Administrative Templates
。System
。Credentials Delegation
。Encryption Oracle Remediation
。Enable
。Vulnerable
从Protection Level
列表中选择。此策略设置适用于使用CredSSP组件的应用程序(例如:远程桌面连接)。
某些版本的CredSSP协议容易受到针对客户端的加密oracle攻击。此策略控制与易受攻击的客户端和服务器的兼容性。通过此策略,您可以设置加密oracle漏洞所需的保护级别。
如果启用此策略设置,则将基于以下选项选择CredSSP版本支持:
强制更新客户端:使用CredSSP的客户端应用程序将无法使用不安全的版本,使用CredSSP的服务将不接受未修补的客户端。注意:在所有远程主机都支持最新版本之前,不应部署此设置。
缓解:使用CredSSP的客户端应用程序将无法使用不安全版本,但是使用CredSSP的服务将接受未修补的客户端。有关剩余未打补丁的客户所带来的风险的重要信息,请参见下面的链接。
漏洞:使用CredSSP的客户端应用程序将通过支持回退到不安全的版本来使远程服务器受到攻击,并且使用CredSSP的服务将接受未修补的客户端。
这个人有针对您确切问题的解决方案:
本质上-您必须更改GPO设置并强制进行更新。但是,这些更改将需要重新启动才能生效。
从刚更新的计算机中复制这两个文件;
C:\Windows\PolicyDefinitions\CredSsp.admx
(Dtd Did 2018年2月)C:\Windows\PolicyDefinitions\en-US\CredSsp.adml
(Dtd Feb 2018 –您的本地文件夹可能有所不同,即en-GB)在DC上,导航至:
C:\Windows\SYSVOL\sysvol\<your domain>\Policies\PolicyDefinitions
- 重命名
CredSsp.admx
为CredSsp.admx.old
- 将新副本复制
CredSsp.admx
到此文件夹。在同一DC上,导航至:
C:\Windows\SYSVOL\sysvol\<your domain>\Policies\PolicyDefinitions\en-US
(或您的本地语言)- 重命名
CredSsp.adml
为CredSsp.adml.old
- 将新
CredSsp.adml
文件复制到此文件夹。重试您的组策略。
正如其他人所说,这是因为Microsoft发布了3月补丁。他们在5月8日发布了5月补丁,该补丁实际上执行了3月补丁。因此,如果您的工作站收到了May补丁程序,并且尝试连接到尚未收到March补丁程序的服务器,则会在屏幕截图中看到错误消息。
解决方案您确实要修补服务器,以便它们具有三月修补程序。否则,与此同时,您可以应用组策略或注册表编辑。
您可以阅读本文中的详细说明: 如何修复不支持的身份验证错误功能CredSSP错误RDP
如果需要,还可以找到ADMX和ADML文件的副本。
我发现某些机器在一月份某个时候停止执行Windows Update(我们在整个域中运行本地WSUS)。我猜测是以前的补丁引起了问题(机器会抱怨过时,但不会安装它说需要的Jan补丁)。由于1803更新,我们不能仅仅直接使用MS的Windows Update来修复它(由于某些原因超时,并且更新将无法运行)。
我可以确认,如果将计算机修补到版本1803,则包含对此的修复程序。如果您需要快速的路径来解决此问题,我可以使用Windows Update Assistant(上面的顶部链接显示Update)直接执行更新(出于某种原因,它似乎比Windows Update更稳定)。
以管理员身份打开PowerShell并运行以下命令:
REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters\ /v AllowEncryptionOracle /t REG_DWORD /d 2
现在尝试连接到服务器。它会工作。
我在这里找到了答案,所以不能声称它是我自己的,但是将以下注册表项添加到我的注册表中并重新启动为我修复了它。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters]
"AllowEncryptionOracle"=dword:00000002