封面图

需要注意的

本篇是以网站在宝塔面板下的网站为前提所写,下面都是通过宝塔面板所做的改动,请酌情参考。

ssl评估报告的链接可以直接访问这里: https://myssl.com/ 可以直接在这里输入域名查看结果

一般大部分都是A等级,其中有什么问题和建议站点都会提醒你哪里可以优化,这里会有可能站点没有A+的几个原因的列举来直接做实战说明

1. 关闭TLS 1.0

从版本号上就可以看出,1.0这个版本比较低了。而目前各大浏览器已经官宣2020停止支持TLS1.0,因为这个协议版本过于老旧有一定的缺陷的破解的风险。故需要将此关闭。宝塔目前最新版本默认关闭这个协议版本的。若报告中有看到站点使用了1.0版本可以排查一下站点内的所有服务器是否都关闭了1.0的版本协议。

可以直接在宝塔面板后台点击网站-选择某个网站-配置文件-在里面找到ssl的相关配置,图片荧光处那行若有TLS v1.0的字样删除即可

服务器的其他站点同理,确保都没有配置1.0的版本即可。

若是Apache服务器将字样添加到红框内即可

2.开启HSTS

myssl官方文档这样写道:

这个评分,并不仅仅是针对于证书的部署情况而言的,这是一个多方面综合的评级。其中包括了证书SSL协议加密套件漏洞不安全的外链等等。如果您的网站的评分已经达到A,那么没有被评到A+的最大的可能性就是没有使用HSTS

HSTS其实就是 HTTP Strict Transport Security 的缩写, 用户访问时无需手动在地址栏中输入HTTPS,浏览器会自动采用 HTTPS 访问网站地址,从而保证用户始终访问到网站的加密链接,保护数据传输安全。

而https也是大势所趋,但大部分都会用301/302跳转的方法跳转到https的协议,这里并不推荐

1.影响网站访问速度

用301/302的方式跳转增加了浏览器与服务器之间的交互,会增加用户的访问时间。从而影响访问体验

2.不太安全

使用跳转的方式本质上还是保留了http,因此容易被黑客劫持,造成攻击。

所以HSTS是为这个问题而生,且 如果证书出现错误,则显示错误,用户不能回避警告。

而宝塔添加HSTS很简单, 在nginx配置文件上设置HSTS响应头部即可

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

如图所示,不理解的话添加到这里即可。

max-age:HSTS 功能生效时间,单位是秒,也就是说在这段时间内,浏览器将始终强制采用 HTTPS 来访问相应的网址,但时间不能小于15552000。

includeSubDomains:如果指定,则表示域名的子域名的浏览器在访问时也都会强制采用 HTTPS 进行访问

一般宝塔写博客的用户卡在A等级的原因就是这些啦,还是很建议去优化的,如果你不像百度一样守着ie6这样的明日黄花。