还有十个月,TLS 1.0和 TLS 1.1即将废弃.

前天 mozilla 团队发表了一篇关于 TLS 1.0 和 TLS 1.1 版本废弃的文章,对于开发者来说,要思考几个问题,为什么要废弃?浏览器厂商废弃的策略是什么?如何检测目前使用的 TLS 版本?我们如何废弃 TLS 老版本。

在去年十月份的时候,我就写过一篇相关文章 《TLS 1.0&TLS 1.1版本即将退出历史舞台》 ,其中方方面面都提到了,今天再次提醒下大家。

按照计划,到明年三月份,各大浏览器厂商(Chrome,Safari,Firefox,Edge)都决定废弃了 1.0 和 1.1 TLS 版本,如果你还没有支持 TLS 1.2(最好同时支持 TLS 1.3,且直接废除 TLS 1.2 以下的版本),那么要抓紧了。

有的同学说,只是浏览器废弃,其他的一些服务(比如 Curl,邮件客户端,API接口调用)可能暂时还不会,不用着急,我想说的是,废弃 TLS 老版本是迟早的,所以应该早做准备。

那么世界上还有多少网站不支持 TLS 1.2+ 上的版本呢?Mozilla 安全团队扫描了 Tranco list(专注研究世界上顶级网站的一个 list),不支持 TLS 1.2+ 的数据如下:

也就是说100万个顶尖网站,还有8千个网站不支持 TLS 1.2+,其实我觉得这个比例还是挺高的。

在统计的时候发现有个很有意思的事情,在这 8000 个网站中,有 4% 的网站在重定向 https://example.com 到 https://www.example.com 的时候,example.com 不支持 TLS 1.2+,而 www.example.com 支持 TLS 1.2+,所以大家在分析自己网站版本的时候,一定要注意这情况。

那么有哪些方法检测自己网站支持的 TLS 版本呢?最简单的方式就是在线检测工具和浏览器开发者工具检测。

在线检测工具:

  • Hardenize

  • ImmuniWeb

  • Qualys’ SSL Server Test

这些工具各有特点,能对你的网站安全性进行全面的分析。

另外浏览器开发者工具对于 TLS 版本检测也非常有用:

打开 Chrome (versions 72+) 开发者工具,如果检测到旧版本,控制台显示如下图:

打开 Firefox (versions 68+) 开发者工具,如果检测到旧版本,控制台显示如下图:

最后就是你去修改服务器的时候了,可能要修改 Web 服务器、Proxy 服务器,甚至可能还要升级 OpenSSL 版本,但总体来说,难度很小。

最大的修改难度在于,你的业务太多了,太杂乱了,连自己都不知道有多少域名,也不知道有多少服务器要去修改,这个时候就意识到业务规划的重要性了。

写文章不易,如果您觉得写的还行,欢迎转发、点赞、点广告。