ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Windows服务器TLS协议

2022-09-16 17:33:15  阅读:269  来源: 互联网

标签:TLS 1.2 Windows 服务器 IE 加密算法


今天在Windows Admin Center里试图安装扩展插件的时候遇到一个问题。在可用插件里没有任何显示,包括各种微软自己开发的插件。

 

在Feeds里删除默认的链接,重新添加的时候也会遇到报错。说这不是一个有效的NuGet Feed。

 

经过检查,在其它WAC的配置中,这里也是同样的默认配置,是可以列出可用的扩展的。接着,就是要验证一下是否这个地址真的有问题,无法访问。在安装WAC的服务器上,访问一下这个地址https://aka.ms/sme-extension-catalog-feed 结果遇到一个TLS的报错。

 

 

这个好解决。启用这个服务器上对TLS1.2的支持就可以了。就是一些注册表键值。这个网上有很多文章。具体就是在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client

下面新建两个RED_DWORD的键值DisabledByDefault和Enabled。https://www.cnblogs.com/qishine/p/16700672.html

 

 

另外,IE选项里的高级设置里需要把TLS1.2也启用。重启系统后可以再试一下访问。因为TLS协议设置必须重启生效。

 

同时,也顺便增加Powershell使用TLS 1.2的访问,因为默认是不带的。 以前的文章里提到过,用一条命令就可以了。

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

重启后,发现问题依旧。这时候,再用Firefox试了一下,发现这个地址是可以打开的。

 

那么,现在问题就很明确了,问题出在IE这里。系统本身无法访问肯定和IE的表现一样。既然都按照要求配置了TLS1.2,那么到底哪里出问题了呢?这时候用之前文章里提到过的ssllabs网站,检测一下这个网站支持的协议。

 

可以看到,支持TLS 1.2和1.3。不过我的Windows 2016服务器,不支持TLS 1.3的。所以现在问题来了,TLS 1.2究竟启用成功了吗?这个需要验证一下。于是,只能先抓包看一下了。

 

可以看到,确实是用到了TLS 1.2但是,随后这个链接就被服务器reset了,导致无法连接。接下去需要比对一下正常情况时的包。

 

可以看到正常的情况下,在Client Hello之后,会有Server Hello的回包。这里首先确定也是TLS 1.2协议。但是为什么同样的协议IE和Firefox表现会不同呢?再仔细看Server Hello的回包,里面显示了使用的加密算法TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384。这个对比前面IE的Client Hello里提到的20种加密算法,仔细查看是确实没有的。所以,思路来到怎么增加这种加密算法呢?

经过查找,微软在Windows 2016的时候引入了TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384。具体可以看这篇官方文章https://docs.microsoft.com/en-us/windows-server/security/tls/tls-schannel-ssp-changes-in-windows-10-and-windows-server

也就是说不可能是因为系统版本过低导致的问题。而且Firefox也确实使用了这个加密算法。要启用这种算法,或者说调整算法的优先级,可以通过组策略。具体位置是Computer Settings--Administrative Templates--Network--SSL Configuration Settings中的SSL Cipher Suite Order。这个策略默认是不启用的。

 

 

找打它,启用后会发现我们需要TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384是包含在里面的。然后gpupdate /force,我这里又重启了一下服务器。

重新启动后,问题解决。

其实仔细看之前的IE报错,它提到了是使用了不支持的协议或者加密算法比如RC4。今天的问题就是加密算法不支持,服务器和客户端没有协商通过。

但是仔细看了一下ssllabs的检查也包含了加密算法。

 

 

仔细看,这里TLS 1.2支持的强加密算法只有3种。IE试图使用的20种算法里有不少是受支持的弱加密算法,比如0x28, 0x27, 0x14等。但是很奇怪不知道为什么服务器不使用就直接重置了链接,或许是微软服务器的安全性特别高吧。还有就是尽量用最新的系统,比如Windows server 2022,就能支持TLS 1.3更安全也能避免很多问题了。

标签:TLS,1.2,Windows,服务器,IE,加密算法
来源: https://www.cnblogs.com/qishine/p/16700672.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有