Windows服务器TLS协议
今天在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更安全也能避免很多问题了。
Windows服务器TLS协议的更多相关文章
- 在Windows服务器上启用TLS 1.2及TLS 1.2基本原理
在Windows服务器上启用TLS 1.2及TLS 1.2基本原理 在Windows服务器上启用TLS 1.2及TLS 1.2基本原理 最近由于Chrome40不再支持SSL 3.0了,GOOGLE认 ...
- ubuntu客户端使用RDP协议连接windows服务器
如果服务器是linux或unix,可以使用ssh远程连接服务器.也有服务器是windows的,通常使用RDP协议进行连接. 1 环境 客户端:ubuntu14.04 LST 服务器:windows ...
- Windows IIS 服务器配置HTTPS启用TLS协议。
好消息, 程序员专用早餐机.和掌柜说 ideaam,可以节省20元. 点击链接 或復·制这段描述¥k3MbbVKccMU¥后到淘♂寳♀ Windows IIS 服务器配置HTTPS启用TLS协议. ...
- 协议森林17 我和你的悄悄话 (SSL/TLS协议)
作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. TLS名为传输层安全协议(Transport Layer Protocol),这个协议是一套加密的 ...
- 浅谈HTTPS和SSL/TLS协议的背景和基础
相关背景知识要说清楚HTTPS协议的实现原理,至少要需要如下几个背景知识.大致了解几个基础术语(HTTPS.SSL.TLS)的含义大致了解HTTP和TCP的关系(尤其是"短连接"和 ...
- SSL/TLS协议运行机制的概述
互联网的通信安全,建立在SSL/TLS协议之上. 本文简要介绍SSL/TLS协议的运行机制.文章的重点是设计思想和运行过程,不涉及具体的实现细节.如果想了解这方面的内容,请参阅RFC文档. 一.作用 ...
- 浅谈 HTTPS 和 SSL/TLS 协议的背景与基础
来自:编程随想 >> 相关背景知识 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 大致了解 HTTP 和 ...
- SSL/TLS协议运行机制
转载自http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html 互联网的通信安全,建立在SSL/TLS协议之上. 本文简要介绍SSL/TLS协议的运行 ...
- 【转】SSL/TLS协议运行机制的概述
互联网的通信安全,建立在SSL/TLS协议之上. 本文简要介绍SSL/TLS协议的运行机制.文章的重点是设计思想和运行过程,不涉及具体的实现细节.如果想了解这方面的内容,请参阅RFC文档. 一.作用 ...
随机推荐
- 基于Mybatis插件方式实现数据脱敏处理
一.项目介绍 1.项目背景 有时候我们数据库中存储一些敏感的信息比如手机号.银行卡号,我们希望我们查询出来的的时候对一些敏感信息做一些脱敏处理. 当面项目是基于自定义Mybatis插件方式实现数据脱敏 ...
- 在linux上配置Maven环境变量
1.首先下载maven ,这里我使用的是3.8.1 Maven – Download Apache Maven 2.在linux环境中,将maven上传至 /usr/local/目录中 这里我将mav ...
- NC25025 [USACO 2007 Nov G]Sunscreen
NC25025 [USACO 2007 Nov G]Sunscreen 题目 题目描述 To avoid unsightly burns while tanning, each of the \(C\ ...
- 链表设计与Java实现,手写LinkedList这也太清楚了吧!!!
链表设计与实现 在谈链表之前,我们先谈谈我们平常编程会遇到的很常见的一个问题.如果在编程的时候,某个变量在后续编程中仍需使用,我们可以用一个局部变量来保存该值,除此之外一个更加常用的方法就是使用容器了 ...
- Tapdata 的 2.0 版 ,开源的 Live Data Platform 现已发布
https://www.bilibili.com/video/BV1tT411g7PA/?aid=470724972&cid=766317673&page=1 点击上方链接,一分钟快速 ...
- 静态代码块和数组工具类Arrays
静态代码块 静态代码块:定义在成员位置,使用static修饰的代码块{ }. ~位置:类中方法外. ~执行:随着类的加载而执行且执行一次,优先于main方法和构造方法的执行 格式: public cl ...
- java -jar -Xbootclasspath/a:/xxx/config xxx .jar 和 java -jar xxx .jar 的区别
1.如果有用Xbootclasspath的话则config的文件会直接覆盖jar里面的resouces文件,覆盖application.yml ,也会覆盖logback-spring.xml ,比如j ...
- idea 错误: 找不到或无法加载主类 xx.xxx.Application
原因module 里面缺少iml文件 生成iml文件方法二:(建议):刷新一下Maven Project就会自动生成.iml文件.点击下图红框标记的按钮即可 完成后就会自动生成.iml文件. 方法二: ...
- ooday02构造方法_this_引用类型数组
笔记: 构造方法:构造函数.构造器.构建器---------复用给成员变量赋初值代码 作用:给成员变量赋初始值 与类同名,没有返回值类型(连void都没有) 在创建(new)对象时被自动调用 若自己不 ...
- 小A的柱状图_via牛客网
题目 链接:https://ac.nowcoder.com/acm/contest/28537/Q 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语 ...