Windows远程桌面连接 出现身份错误 要求的函数不受支持

news/2024/7/8 5:22:54 标签: 操作系统, 数据库

Windows远程桌面连接 出现身份错误 要求的函数不受支持

https://www.cnblogs.com/Amaya/p/9018653.html

 

原因 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)
事件 ID6041
事件消息文本对 <主机名> 的 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. 将保护级别从 已缓解 修改为 易受攻击

 

======================================  End

 


http://www.niftyadmin.cn/n/975990.html

相关文章

【hbuilder】如何根据Geolocation获得的坐标获取所在城市?

第一步通过mui.plusReady【表示页面加载事件】调用hbuilder提供的百度定位mui.plusReady(function(){plus.geolocation.getCurrentPosition( geoInf, function ( e ) {},{geocode:true,provider:amap});});第二步通过geolnf 方法来获取具体的定位信息function geoInf( position…

如何理解阻塞和非阻塞同步和异步

1.同步与异步同步和异步关注的是消息通信机制&#xff0c;所谓同步&#xff0c;就是在发出一个调用时&#xff0c;在没有得到结果之前&#xff0c;该调用就不返回。但是一旦调用返回&#xff0c;就得到返回值了。换句话说&#xff0c;就是由调用者主动等待这个调用的结果。而异…

机票分享第一篇 机票由何而来

遥想05年刚加入飞猪&#xff0c;有同学问我机票搜索是怎么做的&#xff0c;一时间不知如何回答。转眼三年过去&#xff0c;为了给自己一个交代&#xff0c;抽时间把所负责的业务、系统、心得加以总结&#xff0c;才有了这几篇机票分享的文章。由于所用的技术、架构都是基于业务…

Lucene 高级搜索

自定义评分 public class MyScoreQuery {public void searchByScoreQuery(){try {IndexSearcher searchernew IndexSearcher(IndexReader.open(FileIndexUtils.getDirectory()));Query qnew TermQuery(new Term("content","java"));//创建一个评分FieldSco…

【TeeChart .NET教程】(四)轴控制

2019独角兽企业重金招聘Python工程师标准>>> 上一篇&#xff1a;【TeeChart .NET教程】&#xff08;三&#xff09;图表分页 下一篇&#xff1a;【TeeChart .NET教程】&#xff08;五&#xff09;图例设计 【下载TeeChart.Net最新版本】 TeeChart Pro将自动为用户定…

汇编语言

1.相对跳转指令 b,bl 不同之处在于&#xff0c;bl指令除了跳转之外&#xff0c;还将返回地址&#xff08;bl的下一条指令的地址&#xff09;保存在lr寄存器。 范例&#xff1a; b fun1 fun1: b1 fun2 fun2: 注意&#xff1a;跳转范围是当前指令的前后32MB。 2.数据传送指令mov…

SpringBoot 异常:Target object must not be null

2019独角兽企业重金招聘Python工程师标准>>> 使用JSON格式请求时&#xff0c;添加RequestBody注解映射实体类 .16:59:02.449 [http-nio-8081-exec-2] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context w…

字符数组char s[31]用于保存不超过30个字符的字符串,利用指针编程,统计s[31]中给定字符的个数。要求用函数实现功能,主程序只完成数据的输入输出。

被调用函数原型&#xff1a;void CountChar(char *str, char ch&#xff0c;int *counter)&#xff0c;str是指向字符串的指针&#xff0c;ch是被统计的字符&#xff0c;counter是保存字符ch个数的指针。 输入提示信息&#xff1a;"Input string:\n" …