SSL如何获得A+
!
本来是没啥可写的,但是扛不住没事找事!
今晚突然寻思起来之前ssl评估是A并不是A+,所以作为一个学习向上的好学生来讲一定要搞到A+才罢手!
背景
之前通过MySSL.com评估过(评估结果-传送阵),给出的分数是A,最高分却是A+,今晚看看新闻报道突然想起来,想看看到底怎么搞才能搞出个A+来,百度查询一圈发现可用的信息比较少,或许没有收录进去或者用的关键词还是不太贴切!
MySSL.com评估 - 传送阵
如何达到A+?
1、关闭TLSv1(如考虑兼容性,可跳过此步)
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
注释掉,重新添加
ssl_protocols TLSv1.1 TLSv1.2;
确认添加成功后,可以去MySSL“刷新报告
”重新检测一遍,但检测提示"开启HSTS后能够提升到A+
"
2、开启HSTS(nginx)
添加Strict-Transport-Security这个HTTP头部信息,例如
#开启HSTS
add_header Strict-Transport-Security "max-age=31536000";
注意:Strict-Transport-Security中的max-age的时间不能小于15552000,通常设置为1年,即31536000秒,以秒为单位的数值。
内容延伸(加密算法)
如果您的服务器需要支持IE6这种古董级别的浏览器,那么就按照百度
的做法,如果说对兼容性没有太大的需求,只要主流的浏览器能够访问那么就不要支持3DES系列的加密套件,如果说想要在保证安全性的同时,也要有最好的兼容性,那么就请按照淘宝
的配置方式进行配置。
类似百度
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
类似淘宝
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
最好的安全性
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256::!MD5;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
总结
第一步可以忽略的(要考虑兼容性),重点是第二步开启HSTS,至于获得A+评估,只是评估而已,不要太较真!
像BAT这样的大公司评估都不到A+然而人家也不差吧!!
注:宝塔(bt.cn)用户可进入站点
-配置文件
中修改内容。
扩展链接
HTTPS安全与兼容性配置指南 - 传送阵
Swoole - 传送阵
nginx中的https加速响应解决方案 - 传送阵
HSTS详解 - 传送阵
首次创建时间:2019-02-27 23:27:00
最后修改时间:2020-08-19 21:57:14
_(:3 」∠)_