Windows远程桌面连接 出现身份错误 要求的函数不受支持
原因 CVE-2018-0886 的 CredSSP 更新 将默认设置从“易受攻击”更改为“缓解”的更新。
摘要
凭据安全支持提供程序协议 (CredSSP) 是处理其他应用程序的身份验证请求的身份验证提供程序。
CredSSP 的未修补版本中存在远程代码执行漏洞。 成功利用此漏洞的攻击者可以在目标系统上中继用户凭据以执行代码。 任何依赖 CredSSP 进行身份验证的应用程序都可能容易受到此类攻击。
此安全更新通过更正 CredSSP 在身份验证过程中验证请求的方式来修复此漏洞。
若要了解有关此漏洞的更多信息,请参阅 CVE-2018-0886。
更新
2018 年 3 月 13 日
2018 年 3 月 13 日的初始版本更新了所有受影响平台的 CredSSP 身份验证协议和远程桌面客户端。
缓解措施包括在所有符合条件的客户端和服务器操作系统上安装更新,然后使用包含的“组策略”设置或基于注册表的等效项管理客户端和服务器计算机上的设置选项。 我们建议管理员应用该策略,并尽快在客户端和服务器计算机上将其设置为“强制更新的客户端”或“缓解”。这些更改将需要重启受影响的系统。
请密切关注导致本文后面的兼容性表中的客户端和服务器之间的“阻止”交互的组策略或注册表设置对。
2018 年 4 月 17 日
KB 4093120 中的远程桌面客户端 (RDP) 更新将增强更新的客户端无法连接到尚未更新的服务器时出现的错误消息。
2018 年 5 月 8 日
将默认设置从“易受攻击”更改为“缓解”的更新。
相关的 Microsoft 知识库编号已在 CVE-2018-0886 中列出。
组策略
| 策略路径和设置名称 | 说明 |
|---|---|
| 策略路径:“计算机配置”->“管理模板”->“系统”->“凭据分配” | 加密 oracle 修正 设置可应用于使用 CredSSP 组件(例如,远程桌面连接)的应用程序。 CredSSP 协议的某些版本容易受到针对客户端的加密 oracle 攻击。 此策略控制与易受攻击的客户端和服务器的兼容性。 此策略允许你设置针对加密 oracle 漏洞的防护级别。 如果启用此策略设置,将会基于以下选项选择 CredSSP 版本支持: 强制更新的客户端– 使用 CredSSP 的客户端应用程序将无法回退到不安全的版本,且使用 CredSSP 的服务将不接受未修补的客户端。 缓解– 使用 CredSSP 的客户端应用程序将无法回退到不安全的版本,但使用 CredSSP 的服务将接受未修补的客户端。 易受攻击– 使用 CredSSP 的客户端应用程序将通过支持回退到不安全的版本使远程服务器遭受攻击,但使用 CredSSP 的服务将接受未修补的客户端。 |
“加密 Oracle 修正组策略”支持以下三个选项,应将这些选项应用于客户端和服务器:
| 策略设置 | 注册表值 | 客户端行为 | 服务器行为 |
|---|---|---|---|
| 强制更新的客户端 | 0 | 使用 CredSSP 的客户端应用程序将无法回退到不安全的版本。 | 使用 CredSSP 的服务将不接受未修补的客户端。注意 在所有 Windows 和第三方 CredSSP 客户端支持最新的 CredSSP 版本之前,不应部署此设置。 |
| 缓解 | 1 | 使用 CredSSP 的客户端应用程序将无法回退到不安全的版本。 | 使用 CredSSP 的服务将接受未修补的客户端。 |
| 易受攻击 | 2 | 使用 CredSSP 的客户端应用程序将通过支持回退到不安全的版本使远程服务器遭受攻击。 | 使用 CredSSP 的服务将接受未修补的客户端。 |
第二次更新(于 2018 年 5 月 8 日发布)会将默认行为更改为“缓解”选项。
注意 对加密 Oracle 修正的任何更改都需要重启。
注册表值
警告 如果使用注册表编辑器或其他方法修改注册表不当,可能会出现严重问题。 这些问题可能需要您重新安装操作系统。 Microsoft 不能保证可解决这些问题。 请自行承担修改注册表的风险。
此更新引入了以下注册表设置:
| 注册表路径 | HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters |
|---|---|
| 值 | AllowEncryptionOracle |
| 数据类型 | DWORD |
| 是否需要重启? | 是 |
互操作性矩阵
客户端和服务器都需要更新,否则,Windows 和第三方 CredSSP 客户端可能无法连接到 Windows 或第三方主机。 有关易受攻击或导致操作失败的情况,请参阅以下互操作性矩阵。
| 服务器 | |||||
|---|---|---|---|---|---|
| 未修补 | 强制更新的客户端 | 缓解 | 易受攻击 | ||
| 客户端 | 未修补 | 允许 | 阻止 | 允许 | 允许 |
| 强制更新的客户端 | 阻止 | 允许 | 允许 | 允许 | |
| 缓解 | 阻止 | 允许 | 允许 | 允许 | |
| 易受攻击 | 允许 | 允许 | 允许 | 允许 |
| 客户端设置 | CVE-2018-0886 修补程序状态 |
|---|---|
| 未修补 | 易受攻击 |
| 强制更新的客户端 | 安全 |
| 缓解 | 安全 |
| 易受攻击 | 易受攻击 |
Windows 事件日志错误
如果在阻止的配置中配置客户端和远程主机,将在已修补的 Windows 客户端上记录事件 ID 6041。
| 事件日志 | 系统 |
|---|---|
| 事件源 | LSA (LsaSrv) |
| 事件 ID | 6041 |
| 事件消息文本 | 对 <主机名> 的 CredSSP 身份验证无法协商通用协议版本。 远程主机提供了加密 Oracle 修正不允许的版本 <协议版本>。 |
由未修补的 Windows RDP 客户端通过 CredSSP 阻止的配置对生成的错误
由没有 2018 年 4 月 17 日修补程序 (KB 4093120) 的远程桌面客户端提供的错误
| 与配置了“强制更新的客户端”的服务器配对的未修补的 Windows 8.1 之前的客户端和 Windows Server 2012 R2 客户端 | 由未修补的 Windows 8.1/Windows Server 2012 R2 和更高版本的 RDP 客户端通过 CredSSP 阻止的配置对生成的错误 |
|---|---|
| 发生了身份验证错误。提供给函数的令牌无效 | 发生了身份验证错误。不支持请求的函数。 |
由具有 2018 年 4 月 17 日修补程序 (KB 4093120) 的远程桌面客户端提供的错误
| 与配置了“强制更新的客户端”的服务器配对的未修补的 Windows 8.1 之前的客户端和 Windows Server 2012 R2 客户端 | 这些错误是由未修补的 Windows 8.1/Windows Server 2012 R2 和更高版本的 RDP 客户端通过 CredSSP 阻止的配置对生成的。 |
|---|---|
| 发生了身份验证错误。提供给函数的令牌无效。 | 发生了身份验证错误。不支持请求的函数。远程计算机: <主机名>这可能由 CredSSP 加密 oracle 修正引起的。有关更多信息,请参阅 https://go.microsoft.com/fwlink/?linkid=866660 |
第三方远程桌面客户端和服务器
所有第三方客户端或服务器必须使用最新版本的 CredSSP 协议。 请联系供应商以确定其软件是否与最新的 CredSSP 协议兼容。
可在 Windows 协议文档网站中找到协议更新。
解决方案
- win + R
- 输入 gpedit.msc
- 打开本地组策略编辑器
- 点击计算机配置
- 管理模板
- 系统
- 凭据分配
- 选择 加密 Oracle修正
- 编辑 加密 Oracle修正
- 将保护级别从 已缓解 修改为 易受攻击
Windows远程桌面连接 出现身份错误 要求的函数不受支持的更多相关文章
- Win10系统进行远程桌面连接出现身份验证错误怎么办
在win10系统中,自带有远程桌面连接功能,但是有时候会遇到一些问题,比如有不少用户反映说在进行远程桌面连接的时候,出现身份验证错误的情况,导致远程连接失败,接下来给大家分享一下Win10系统进行远程 ...
- mstsc远程连接发生身份验证错误要求的函数不受支持
在win7电脑上使用远程连接连接一台服务器时,出现发生身份验证错误要求的函数不受支持的错误,原因是本地组策略配置错误,如下图: 解决办法: 进入windows命令行模式输入命令: 会弹出本地策略组编辑 ...
- 解决Windows远程桌面连接每次都提示输入密码的问题,远程桌面记不住密码
FROM:http://www.veryhuo.com/a/view/80444.html Windows 远程桌面连接几乎每天都用,所以使用的方便性非常重要.如果你经常用,也许会发现在某些系统中,每 ...
- 树莓派进阶之路 (024) - windows远程桌面连接树莓派通过xrdp服务(转)
本文转载:http://www.cnblogs.com/edgexie/p/6527992.html 在网上看到很多关于windows远程桌面连接树莓派的教程.我也按照教程试过了,遇到了几个坑.特意记 ...
- Windows远程桌面连接Mac OS X
Windows远程桌面连接Mac OS X 第一步:Mac OS X 10.5 已经增加支持了由VNC Viewer访问的功能,设置如下: 系统偏好设置-共享-勾选“屏幕共享”,然后在电脑设置 ...
- windows 远程桌面连接 RPi 2B
/************************************************************************* * windows 远程桌面连接 RPi 2B * ...
- c#实现windows远程桌面连接程序
c#实现windows远程桌面连接程序 使用winform制作windows远程桌面连接程序,windows自带了远程桌面连接,我们需要将远程桌面连接集成 到自己的winform程序,并实现管理远程主 ...
- 通过xrdp服务实现windows远程桌面连接树莓派
如题:通过xrdp服务实现windows远程桌面连接树莓派 受同学影响,最近接触到了树莓派,又加上自己技痒想试一下这个小东西究竟能做什么,所以开始了树莓派学习之旅. 正题开始-xrdp实现window ...
- c#实现windows远程桌面连接程序代码
使用winform制作windows远程桌面连接程序,windows自带了远程桌面连接,我们需要将远程桌面连接集成 到自己的winform程序,并实现管理远程主机的配置. 远程桌面核心类库 windo ...
随机推荐
- python调用数据库并查询
http://blog.csdn.net/pipisorry/article/details/48024795 python调用数据库命令 conn = sqlite3.connect(". ...
- C++格式化输出,C++输出格式控制
在输出数据时,为简便起见,往往不指定输出的格式,由系统根据数据的类型采取默认的格式,但有时希望数据按指定的格式输出,如要求以十六进制或八进制形式 输出一个 整数,对输出的小数只保留两位小数等.有两种方 ...
- Orientation Auto Rotation旋转屏幕crash问题(Unity3D开发之十四)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/44133127 ...
- Java-ServletOutputStream
/** * Provides an output stream for sending binary data to the * client. A <code>ServletOutput ...
- 在Windows使用git工具将代码同步至github(作者:ying1989920)
[ps]git是一个分布式代码管理工具,类似于svn,方便协同开发,git里面有所谓的仓库(用来存放代码的),分为本地和线上,线上的你可以自己搭建,不想搭建的话github就给你提供了. [关于 ...
- Gradle 1.12用户指南翻译——第三十四章. JaCoCo 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- mybati源码之ReuseExecutor
/** * @author Clinton Begin */ public class ReuseExecutor extends BaseExecutor { private final Map&l ...
- StickyListHeaders的使用
我们知道在ios中字母的导航有悬停的效果,在android中,git上有大神实现了这种悬停的功能,我们只要将普通的Listview改为StickyListHeadersListView然后设置adap ...
- Http的定义及其基本概念介绍
HTTP的特性 HTTP构建于TCP/IP协议之上,默认端口号是80 HTTP是无连接无状态的 HTTP报文 请求报文 HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST ...
- mac os x下的程序快速切换快捷键
按下command + tab键正向切换程序 按下command + shift + tab键反向切换程序 按下command + tab键选择程序后,仍然按下command键不放,然后按下optio ...