Windows XP Cant RDP到Windows 10/Server 2012R2/2015 RDS
尽管Windows XP OS支持已经超过4年了,但许多客户仍在继续使用此OS,并且似乎在不久的将来没有任何大的改变:(。最近我发现了一个问题:Windows XP RDP客户端无法连接通过远程桌面到Windows Server 2012 R2上新部署的远程桌面服务场,通过RDP从Windows XP连接到Windows 10 1803时,也会发生类似的问题。
无法将远程桌面从Windows XP连接到Windows Server 2015/2012R2和Windows 10
Windows XP用户抱怨诸如以下的RDP客户端错误:
由于安全错误,客户端无法连接到远程计算机。验证我们已登录到网络,然后尝试再次重新连接
远程会话已断开连接,因为远程计算机从此计算机接收到无效的许可消息
远程计算机需要网络级别身份验证,计算机不支持该级别。要获取帮助,请与系统管理员或者技术支持联系。
若要解决此问题,请验证是否在运行Windows XP的计算机上安装了RDP客户端的最新版本。当前,可以在Windows XP上安装的RDP客户端的最高版本是RDP 7.0
(KB969084 https://blogs.msdn.microsoft.com/scstr/2012/03/16/download-remote-desktop-client- rdc-7-0-or-7-1-download-remote-desktop-protocol-rdp-7-0-or-7-1 /)。我们只能在Windows XP SP3上安装此更新。在Windows XP上安装RDP客户端8.0或者更高版本。为一半的XP客户端安装此更新后,此问题已解决。下半部分客户仍然面临该问题。
在RDS Windows Server 2015/2012 R2上禁用RDP网络级别身份验证(NLA)
在研究了基于Windows 2012 R2的RDS服务器的问题之后,我们发现Windows Server 2012(及更高版本)需要对NLA(网络级身份验证)的强制支持。如果客户端不支持NLA,则它将无法连接到RDS服务器。同样,在Windows 10中打开远程桌面时,默认情况下会启用NLA。
上面有两个结论,允许其余WinXP客户端通过RDP连接到Windows Server 2015/2012 R2或者Windows 10上的RDS服务器场,我们必须:
- 在远程桌面服务2012 R2/2015服务器场或者Windows 10工作站中的服务器上禁用NLA检查;
- 或者在Windows XP客户端上启用NLA支持。
要禁用Windows Server 2012 R2 RDS上的客户端对NLA的强制使用,请打开服务器管理器控制台,然后转到"远程桌面服务"->"集合"->" QuickSessionCollection",然后选择"任务"->"编辑属性"。 ,单击"安全性",然后取消选中"仅从运行带有网络级身份验证的远程桌面的计算机上的低连接"。
在Windows 10上,我们可以在系统属性(系统->远程设置)中禁用网络级身份验证。取消选中仅允许运行带有网络级别身份验证的远程桌面的计算机的连接(推荐)。
当然,我们需要了解在服务器级别禁用NLA会降低系统安全性,通常不建议这样做。优选使用第二种方法。
在Windows XP SP3客户端上启用NLA
我们需要在Windows XP上安装Service Pack 3,才能作为RDP客户端正常工作。如果不是,则必须下载并安装此更新。 Service Pack 3是将RDP客户端从6.1版升级到7.0并支持所有必要组件(包括以下所述的凭据安全服务提供程序(CredSS))的强制性要求。
如果没有CredSSP和NLA支持从Windows XP到Windows新版本的RDP连接,将出现错误:
发生验证错误,0x80090327
NLA支持从SP3开始出现在Windows XP中,但默认情况下处于禁用状态。我们只能通过注册表启用NLA和CredSSP身份验证支持。去做吧:
- 在注册表项" HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders"中,通过在最后添加" credssp.dll"(以逗号分隔其当前值)来编辑" SecurityProviders"属性的值;
- 然后在键" HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa"中,将" tspkg"行添加到" Security Packages"属性的值中;
- 进行这些更改后,重新启动计算机。
执行这些操作后,带有Windows XP SP3的计算机应轻松连接到Windows Server 2015/2012上的终端服务器场或者通过远程桌面连接到Windows。但是,我们无法在Windows XP客户端上保存RDP连接的密码(每次连接时必须输入密码)。
提示''。除此之外,通过Easy Print打印还出现了另一个问题。要使RDS 2012上的Windows XP计算机使用"轻松打印"进行打印,客户端应满足以下要求:
- 操作系统Windows XP SP3或者更高版本;
- RDP客户端版本6.1或者更高版本;
- .NET Framework 3.5(如何检查已安装的.Net Framework版本)。
在2016年,CredSSP协议(CVE-2016-0886公告)中发现了一个严重漏洞,该漏洞已在Microsoft安全更新中修复。 2016年5月,Microsoft发布了另一个更新,该更新禁止客户端使用易受攻击的CredSSP版本连接到RDP计算机和服务器(请参阅文章:http://theitroad.local/unable-connect-rdp-credssp-encryption-oracle-修复/)。当我们在没有此更新的情况下将RDP连接到远程计算机时,安装了此更新后,我们将收到错误消息:发生身份验证错误。要求的功能是。
由于Microsoft不会发布Windows XP和Windows Server 2003的安全更新,因此我们将无法从这些过时的操作系统连接到受支持的Windows版本。
要启用从Windows XP到更新的Windows 10/8.1/7和Windows Server 2012/2012 R2/2012/2008 R2的RDP连接,必须在RDP服务器的侧面启用Encryption Oracle Remediation策略(计算机配置->管理模板->系统->凭据委派
)。将策略值更改为"已缓解",据我们所知这是不安全的。
对于Windows XP(称为Windows Embedded POSReady 2009的受支持版本),存在针对CredSSP远程执行代码漏洞https://support.microsoft.com/zh-cn/help/4056564/security-update-for-vulnerabilities的单独更新。 -windows-server-2008(WindowsXP-KB4056564-x86-Embedded-ENU.exe)中,从理论上讲,可以在Windows XP x86的常规版本和Windows Server 2003上安装Embedded POSReady的更新。