原因 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 协议文档网站中找到协议更新。

解决方案

  1. win + R
  2. 输入 gpedit.msc
  3. 打开本地组策略编辑器
  4. 点击计算机配置
  5. 管理模板
  6. 系统
  7. 凭据分配
  8. 选择 加密 Oracle修正
  9. 编辑 加密 Oracle修正
  10. 将保护级别从 已缓解 修改为 易受攻击

Windows远程桌面连接 出现身份错误 要求的函数不受支持的更多相关文章

  1. Win10系统进行远程桌面连接出现身份验证错误怎么办

    在win10系统中,自带有远程桌面连接功能,但是有时候会遇到一些问题,比如有不少用户反映说在进行远程桌面连接的时候,出现身份验证错误的情况,导致远程连接失败,接下来给大家分享一下Win10系统进行远程 ...

  2. mstsc远程连接发生身份验证错误要求的函数不受支持

    在win7电脑上使用远程连接连接一台服务器时,出现发生身份验证错误要求的函数不受支持的错误,原因是本地组策略配置错误,如下图: 解决办法: 进入windows命令行模式输入命令: 会弹出本地策略组编辑 ...

  3. 解决Windows远程桌面连接每次都提示输入密码的问题,远程桌面记不住密码

    FROM:http://www.veryhuo.com/a/view/80444.html Windows 远程桌面连接几乎每天都用,所以使用的方便性非常重要.如果你经常用,也许会发现在某些系统中,每 ...

  4. 树莓派进阶之路 (024) - windows远程桌面连接树莓派通过xrdp服务(转)

    本文转载:http://www.cnblogs.com/edgexie/p/6527992.html 在网上看到很多关于windows远程桌面连接树莓派的教程.我也按照教程试过了,遇到了几个坑.特意记 ...

  5. Windows远程桌面连接Mac OS X

    Windows远程桌面连接Mac OS X   第一步:Mac OS X 10.5 已经增加支持了由VNC Viewer访问的功能,设置如下:   系统偏好设置-共享-勾选“屏幕共享”,然后在电脑设置 ...

  6. windows 远程桌面连接 RPi 2B

    /************************************************************************* * windows 远程桌面连接 RPi 2B * ...

  7. c#实现windows远程桌面连接程序

    c#实现windows远程桌面连接程序 使用winform制作windows远程桌面连接程序,windows自带了远程桌面连接,我们需要将远程桌面连接集成 到自己的winform程序,并实现管理远程主 ...

  8. 通过xrdp服务实现windows远程桌面连接树莓派

    如题:通过xrdp服务实现windows远程桌面连接树莓派 受同学影响,最近接触到了树莓派,又加上自己技痒想试一下这个小东西究竟能做什么,所以开始了树莓派学习之旅. 正题开始-xrdp实现window ...

  9. c#实现windows远程桌面连接程序代码

    使用winform制作windows远程桌面连接程序,windows自带了远程桌面连接,我们需要将远程桌面连接集成 到自己的winform程序,并实现管理远程主机的配置. 远程桌面核心类库 windo ...

随机推荐

  1. C++ Primer 有感(标准库vector及迭代器)

    vector是同一种对象的集合,每个对象都有一个对应的整数索引值.和string对象一样,标准库将负责管理与存储元素相关的类存.引入头文件 #include<vector> 1.vecto ...

  2. SwiftyiRate中文说明

    SwiftyiRate Github SwiftyiRate Swift语言实现的app内评分,简单易用. Requirements Integration Usage Initialization ...

  3. chrome "Provisional headers are shown"

    我的问题的,每次打开浏览器,点开有视频的页面(云平台的存储),然后当视频还没有加载完,就马上关闭,连续操作很多次(测试的暴力测试把),F12查看就有很多很多在加载中的连接,因为连续点击太多次了,第一个 ...

  4. Java模式之模板方法模式

    当我们遇到的业务逻辑具有大致相同的方式的时候,我们也许就该将这个业务逻辑抽象出来,采用模板方法,来进行封装我们的代码,提高代码的重用性,以及可维护性.下面是我的一个复习用的案例: 第一步:我们需要一个 ...

  5. Python学习笔记 - ifelifelse-forin-while

    if elif else #!/usr/bin/env python3 # -*- coding: utf-8 -*- age = 20 if age >= 18: print('your ag ...

  6. Net和Java基于zipkin的全链路追踪

    在各大厂分布式链路跟踪系统架构对比 中已经介绍了几大框架的对比,如果想用免费的可以用zipkin和pinpoint还有一个忘了介绍:SkyWalking,具体介绍可参考:https://github. ...

  7. 16_Android生命周期再介绍,通过androidconfigChanges属性让界面旋转时不改变状态中保留的值

     A  android:configChanges属性 对android:configChanges属性,一般认为有以下几点: 1 不设置Activity的android:configChange ...

  8. Android进阶(十五)socket通信——聊天室

    想做一个聊天室,花费了将近一天的时间,各种错误.讲解知识点之前,絮叨几句:动手能力还是很重要的,有时看似简单的一个问题,当你真正着手去解决的时候就有可能会遇到各种各样的问题,原因之一就是因为你的知识储 ...

  9. MySQL正则表达式初步

    如果想要了解完整的MySQL手册, 请访问: MySQL 5.1参考手册 你还可以学习: MySQL学习精粹 我们知道,在SQL之中,可以用 like 这个谓词(表达式) 来进行模糊检索,并支持 %, ...

  10. 【LaTeX排版】LaTeX论文排版<二>

    1.目录的生成     直接使用命令\tableofcontents即可.其默认格式如下: 我们会发现,这样的格式不一定是我们所期望的.比如说,我们也希望章标题与页码之间也有点连线,并且也希望将致谢. ...