TLS 1.3 加密协议是在 TLS 1.0 、TLS 1.1 、TLS 1.2 之前版本基础上进行的升级和改造,也是迄今为止改动最大的一次,相比 TLS 1.2 ,TLS 1.3 的主要区别在于:
新的加密套件只能在 TLS 1.3 中使用,旧的加密套件不能用于 TLS 1.3 连接; 添加了0-RTT 模式,在建立连接时节省了往返时间(以某些安全性为代价); 废除了静态的 RSA( 不提供前向保密 )密钥交换,密钥交换机制现在可提供前向保密; ServerHello 之后的所有握手消息采取了加密操作; TLS 1.2 版本的重协商握手机制已被弃用,TLS 1.3 中重新协商变为不可行了; 相比过去的的版本,会话恢复在服务端是无状态的,使用了新的 PSK 交换; DSA 证书不再允许在 TLS 1.3 中使用;
以上的这些改动,可以避免之前版本出现的缺陷,不仅如此,还可以减少 TLS 握手的时间。
宝塔面板下开启TLS 1.3的方法也非常简单,因为宝塔现在已经支持Nginx1.15,我们只需要切换Nginx版本即可:
(注意:Nginx1.15版本及以上都可以支持TLs1.3,不是说一定要1.1.5版本。)
如果没有安装,按照提示安装即可,安装好后,我们切换到网站的配置文件中:
将勾选的内容替换为以下配置文件:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
然后进行在线测试:
https://www.ssllabs.com/ssltest/analyze.html
即可发现已经开启了TLS1.3:
PS:很多同学会出现根据教程设置后,进行在线测试还是未开启tls1.3,这是因为使用Nginx的站点需要全部设置,也就是说,当前服务器所有站点都需要设置一次才会生效。