昨天折腾了一个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)等功能帮助加速加密连接。
![163e5d0628069268c2149274e3457314.png](https://i-blog.csdnimg.cn/blog_migrate/67be0f5fcff92f4aee21f94adb631bce.jpeg)
简单地说,在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 即可,看图:
![75aa34601ac368208b843b4cdb51aac7.png](https://i-blog.csdnimg.cn/blog_migrate/61bb938f384034e6713761ec45f78e6d.jpeg)
虽然开启了TLS 1.3,不过这样是不行的。我们去SSL评分下,发现会是B。如图:
![4b2d31807c8113657d04c4fb259c5bfd.png](https://i-blog.csdnimg.cn/blog_migrate/ee4c4c54a1a3d46661e38d35a667aedf.jpeg)
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即可。如图:
![4ec45372a9fee7693ec3a554e1148222.png](https://i-blog.csdnimg.cn/blog_migrate/05149a9c133a492e92686f6397b0f480.jpeg)
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;
![680cf182fa184d875b8c2e15607ebfa5.png](https://i-blog.csdnimg.cn/blog_migrate/1f87d1d8d15cde345dd506cdbe1c7a5b.jpeg)
5、测试效果
在线检测地址 :https://www.ssllabs.com/ssltest/analyze.html
![d971b9436b1681e62249fd0e72acdb28.png](https://i-blog.csdnimg.cn/blog_migrate/dc0cf9cd77a22c913f3c8a5892ed696d.jpeg)
![3c03cc3eebf8d26e0d32b7b8e2b29ef7.png](https://i-blog.csdnimg.cn/blog_migrate/03533da4fe1155e3a409520f467b145c.jpeg)
看到DNS CAA No 看来我们还需要设置下这个。
6、设置DNS CAA(可选)
这个玩意建议使用CAA记录自动在线生成来搞定。
在线工具:https://sslmate.com/caa/
1)点开网页后输入域名,选择Auto-Generate Policy
![4cb8a6142af2ab2bcaacfef2ad7c3008.png](https://i-blog.csdnimg.cn/blog_migrate/f28664bef742026811df93eefa6f5fb6.jpeg)
2)找到Publish Your CAA Policy,如图:
![a75a960bdca0a96a2b8e3452d5ea3404.png](https://i-blog.csdnimg.cn/blog_migrate/49e83ba834c15098c1ff96ad68b90703.jpeg)
现在我们可以设置dns记录了。
7、设置HSTS Preload
1)就算设置了DNS CAA,我们得到的评分依然是A,所以还差了最重要的一步,就是设置设置HSTS Preload。额,最简单的设置就是一行代码,如下:
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
2)如何放置呢,nginx服务器只需要放置到你的 HTTPS 配置的 server 块中即可,宝塔面板这样放即可。如图:
![8774244e657df06ca71296ca58af1f9b.png](https://i-blog.csdnimg.cn/blog_migrate/501dd3d12f81400c629087eb997fa921.jpeg)
8、设置DNS
这里以cloudflare为例,国内DNS商家目前基本都支持了CAA记录了。如何设置看图:
![1e54010301276af061d86968c47ae425.png](https://i-blog.csdnimg.cn/blog_migrate/2ee862c87274832a8f1be98089e821ce.jpeg)
设置好保存即可。我们在去检测下,效果如图:
![9e7ab0179a7827667243eea67c158657.png](https://i-blog.csdnimg.cn/blog_migrate/1e417ec29c6d057960da1b519ecf6bf7.jpeg)
9、最后
1)DNS CAA 和 DNSSEC 这两个都是可选配置,可以不用倒腾。
2)TLS1.1需要删除,这样对于提高网站访问速度有一点帮助。
3)DNSSEC国内支持的很差,大家了解下即可。
4)如果不开启HSTS Preload无法得到A+,所以开不开HSTS Preload自己斟酌,不过开启HSTS Preload可以加快网站的访问速度。如果不需要就删除那段代码即可。