昨天折腾了一个AlphaSSL泛域名证书后,心血来潮去SSL评分网站测试了一番,最后的结果竟然是B,这真是不能忍啊……
为啥会是B,查看了原因,竟然是启用了TLS 1.1,所以为B。那么,删除TLS 1.1不就可以了,确实可以。不过,你的姿势可能不正确。这篇文章就来介绍下宝塔面板搭建的站点,如何正确开启TLS 1.3并删除TLS 1.1, 让你的网站SSL评分达到A+ 。
1、简介
TLS和加密连接在网络性能方面总是会带来轻微的开销。HTTP/2能帮助解决这个问题,但TLS 1.3通过TLS错误启动和零往返时间(0-RTT)等功能帮助加速加密连接。
简单地说,在TLS 1.2中,需要两次往返才能完成TLS握手。使用TLS 1.3时,它只需要一次往返, 这又将加密延迟减半。这有助于这些加密连接比以前更快一点。所以说优点如下:
- 更快的访问速度
- 增强安全性
- 可以减少 TLS 握手的时间
2、宝塔面板开启TLS 1.3
当我们申请SSL证书后,最新版本的宝塔面板是默认开 ssl_ciphers 启TLS 1.3协议的。注意,如果你这里没有TLS 1.3,可以在 ssl_protocols 这一行后面加上 TLSv1.3 即可,看图:
虽然开启了TLS 1.3,不过这样是不行的。我们去SSL评分下,发现会是B。如图:
This server supports TLS 1.1. Grade capped to B.(因为服务器支持TLS 1.1,所以为B)
3、删除TLS 1.1协议
1)删除TLS 1.1也很简单,在网站配置文件中,删除TLS 1.1,只保留TLSv1.2 TLSv1.3即可。如图:
2)一些坑需要注意:如果你的服务器有好几个站点,并且都配置了SSL,那么你需要删除所有站点的TLS 1.1,不然,你检测会是一直B。
4、配置TLS 1.3
删除TLS 1.1之后,我们只保留删除TLS 1.2和TLS 1.3,额如果激进一点,可以只保留一个TLS 1.3。之后,我们修改下: ssl_ciphers 具体如下:
ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:!MD5;
看图:
5、测试效果
在线检测地址 :https://www.ssllabs.com/ssltest/analyze.html
额,竟然是A,看来还是不完美啊。
看到DNS CAA No 看来我们还需要设置下这个。
6、设置DNS CAA(可选)
这个玩意建议使用CAA记录自动在线生成来搞定。
在线工具:https://sslmate.com/caa/
1)点开网页后输入域名,选择Auto-Generate Policy
2)找到Publish Your CAA Policy,如图:
现在我们可以设置dns记录了。
7、设置HSTS Preload
1)就算设置了DNS CAA,我们得到的评分依然是A,所以还差了最重要的一步,就是设置设置HSTS Preload。额,最简单的设置就是一行代码,如下:
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
2)如何放置呢,nginx服务器只需要放置到你的 HTTPS 配置的 server 块中即可,宝塔面板这样放即可。如图:
3)A+来了,设置好保存,我在此检测,发现A+到手。
8、设置DNS
这里以cloudflare为例,国内DNS商家目前基本都支持了CAA记录了。如何设置看图:
设置好保存即可。我们在去检测下,效果如图:
设置成功。
9、设置DNSSEC(可选配置)
一般情况下DNS CAA是和DNSSEC搭配起来使用的,不过国内的DNS服务商对于DNSSEC支持的不够好。这里还是以cloudflare为例。
1)启用DNSSEC
在cloudflare中点开自己的域名管理,在dns中,往下拉找到DNSSEC,点击启用即可。
启用之后,看到如下截图,按图设置即可。
2)设置DS记录
具体设置看图:
注意:
- 类型:选择DS
- 密钥标记:根据给你的数字,自己填写
- 算法:13
- 摘要类型:给你的设置中有。
- 摘要:也在给你的设置中,自己根据内容填写。
10、最后
1)DNS CAA 和 DNSSEC 这两个都是可选配置,可以不用倒腾。
2)TLS1.1需要删除,这样对于提高网站访问速度有一点帮助。
3)DNSSEC国内支持的很差,大家了解下即可。
4)如果不开启HSTS Preload无法得到A+,所以开不开HSTS Preload自己斟酌,不过开启HSTS Preload可以加快网站的访问速度。如果不需要就删除那段代码即可,不过更科学的设置看这篇文章(启用HSTS并加入HSTS Preload List-附删除HSTS方法)