SSL如何获得A+

·
知识 ssl 结果 nginx 百度 A+ 开启HSTS MySSL 加密算法 安全性 February 27, 2019
!本文可能 超过2年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使用方面,本文不保证相应的技术更新和实践可操作性。

本来是没啥可写的,但是扛不住没事找事!
今晚突然寻思起来之前ssl评估是A并不是A+,所以作为一个学习向上的好学生来讲一定要搞到A+才罢手!

  • 背景
  • 如何达到A+?
    • 1、关闭TLSv1(如考虑兼容性,可跳过此步)
    • 2、开启HSTS(nginx)
    • 内容延伸(加密算法)
  • 总结
  • 扩展链接

背景

之前通过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+"
评估报告1

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

  • 世界上最早的图形用户界面
  • Audio标签 自动播放 音乐

_(:3 」∠)_
(抱歉)
自发布之日起超123天后自动关闭评论哦!


© 2025 Mr.Cui's Blog. Using Typecho & Moricolor.

鲁ICP备16004095号-2
鲁公网安备37028502250699号
HTTP/3 IPv6