原由:
公司项目需要对接第三方平台,在检测后发现SSL版本不对,需要TLSV2.0以上的版本,反馈如下:
漏洞: TLS弱协议(1.0,1.1)
IP:https : //abc.abc.com/
Appkey: 110153
接线员: myo.soe@lazada.com
状态: 打开
严重程度: 中等
描述:
远程服务器提供了弃用的TLS 1.0协议,这可能导致漏洞。
https://webkit.org/blog/8462/deprecation-of-legacy-tls-1-0-and-1-1-versions/
https://security.googleblog.com/2018/10/modernizing-transport- security.html
https://blog.mozilla.org/security/2018/10/15/removing-old-versions-of-tls/
https://blogs.windows.com/msedgedev/2018/10/15/modernizing -TLS边缘-IE11 /
风险:
现代浏览器不支持过时的协议。有些配置也不安全。
提案:
在1.2之前禁用对所有TLS版本的支持。
基于HTTP的流量应仅使用TLS 1.2或更高版本。
信息:
禁用TLS 1.0 https://www.ssllabs.com/ssltest/analyze.html?d=abc.abc.com&latest
以下方法将完美解决以上问题:
准备工作:
确定服务器为Centos7.X系统。(因为小编服务器是线上运行的服务器为7.4,7.X系统以下未测试!)
服务器环境为宝塔。(如果是新安装系统移步宝塔官网:https://www.bt.cn)
WEB软件为Nginx1.15(必须编译安装,有以前安装宝塔有可能1.15配置好ssl1.3检测依然不是)
服务器可以SSH连接。
所有步骤都截图,只需要按照步骤好:
一定是最新版本的宝塔面板(6.8.5)一定是nginx1.15
站点有很多ssl的站点,一个一个修改站点配置文件的20行代码修改如下,(注:是所有的开启了ssl的网站!!!)
注意:SSL的检测规则是从低版本到高版本,检测顺序是:TLSv1 TLSv1.1 TLSv1.2 TLSv1.3
所有如果要强制使用TLSv1.2,则按下面的配置:
ssl_protocols TLSv1.3 TLSv1.2;
这样设置过后,站点就支持1.3了,如果想达到A+的评分请修改nginx的配置文件,在配置文件22加入下列代码:
add_header Strict-Transport-Security "max-age=31536000";
以上配置完以后记得重启Nginx服务:
Service nginxrestart
通过以下网站验证SSL:
如下图:
到这里宝塔面板的ssl1.3和A+的评分已经完成
注:有些朋友更新后检测还是不支持TLSv1.3,是因为你的网站还有其他ssl的配置文件未修改,所以检测还是显示不支持TLSv1.3,建议所有网站ssl配置都改成TLSv1.3.
以下是检测后还是不是TLSv1.3请看下面最为快速的支持TLSv1.3如下
1.进入宝塔的ssl目录:
cd /www/server/nginx/src/openssl/
2. 更新套件:
curl https://raw.githubusercontent.com/hakasenyang/openssl-patch/master/openssl-equal-1.1.1_ciphers.patch| patch -p1
curlhttps://raw.githubusercontent.com/hakasenyang/openssl-patch/master/openssl-ignore_log_strict-sni.patch| patch -p1
service nginx restart
再通过https://myssl.com 检测