使用宝塔面板开启TLSv1.3

发布于 2018-10-25  1.95k 次阅读


前言

本文采用的环境为宝塔管理面板5.9,CentOS7.5,Nginx1.15。

必须得是Nginx1.15,经本人测试1.12与1.8均无法开启TLSv1.3

 

获取SSL证书

目前免费的SSL证书有很多,国内的主要有阿里云,腾讯云,七牛云等都可以申请一年期的免费DV证书,这里就不多说。

另外,再此安利一个可以一件申请Let’s Encrypt 与 TrustAsia CA 的免费 HTTPS 证书网站:FreeSSL ,申请比较方便。

今天发现了另一个可以免费申请Comodo证书的方法,通过GoGetSSL来申请,该方法将在改天更新,已更新,点此查看

目前仅发现Let’s Encrypt 支持免费多域名通配符证书(*.example.com)申请,如有其他还请告知。

当然,你也可以使用宝塔自带的SSL申请程序,不过我用了几次,总是出现阿里云DNS API无法保存的问题,就放弃了。

 

SSL部署

如下图所示,在左侧输入密钥(private.key),右侧输入完整证书(full_chain.pem),点击保存就可,有需要的话还可以勾上强制HTTPS。

 

OpenSSL版本

更新Nginx至最新版本1.15.6宝塔版本6.5,此时Openssl已被更新至Openssl 1.1.1正式版。

 

升级curl(以下代码来自Sagit

添加一个新的repo

vim /etc/yum.repos.d/city-fan.repo

在里面添加内容

[CityFan]
name=City Fan Repo
baseurl=http://nervion.us.es/city-fan/yum-repo/rhel$releasever/$basearch/
enabled=1
gpgcheck=0

升级

yum clean all

yum install libcurl

 

服务端配置

如下图所示,

使用宝塔面板开启TLSv1.3

ssl_protocols后面加TLSv1.3,

(强迫症选项)可以选择删除TLSv1,因为TLSv1不合PCI DSS规范。

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:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;

(强迫症选项)上面的加密套件使用MySSL检测的话会像下图一样会有weak项,

使用宝塔面板开启TLSv1.3

若是像我这样有强迫症可以选择下面的加密套件,对网站的访问几乎没有影响

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;

下图为修改完后效果,

使用宝塔面板开启TLSv1.3

修改完成后保存退出即可。

 

浏览器配置

当然,TLSv1.3还没有被主流浏览器默认启用,我用的Chrome69正式版在flag里开启TLS1.3(Draft 28)仍无法进行此处的TLSv1.3连接,Chromium在flag里开启TLSv1.3(Final)也可以以TLSv1.3进行此处的连接。

Chrome正式版已更新到70,可以在flags里面开启TLS1.3(Final)了。

开启办法:用Chrome浏览器打开 chrome://flags 搜索TLS即可找到选项。

使用宝塔面板开启TLSv1.3

参考文章

宝塔手动升级Nginx,开启TLS1.3 final

本文采用的SSL/TLS安全评估报告来自MySSL,可进入MySSL官网来了解本站HTTPS的安全性。


一个不专注于学习自己专业且毫无编程基础的大学生。

NANJING WEATHER