不得不说myssl真的舒服


如图
那么如何使用呢

自从MySSL推出之后,很多网站HTTPS检测评分都达到了A或者A+,但在看检测结果的时候,发现类似于百度和淘宝这类大用户群的网站居然没有评级到A或者在使用的加密套件上有橙色的加密套件,这就让我们非常诧异,难道是这些个网站不注重安全么?如果说百度评级不高,那还能说得过去,毕竟在搜索的时候没啥重要信息,牺牲一点安全性获取极致的兼容性。但是淘宝这种电商不应该不会不重视网站的安全性。那又是什么原因让这些网站造成了这种情况呢?通过仔细的观察报告结果和查询资料发现,这些网站这样做的原因是为了更好的兼容性。但各家也有不同的做法:
  • 百度
先来看一下的百度的评分:
从图中可以看出warningwww.baidu.com/warning这个网站的评分是C,造成这个评分的主要原因是使用RC4加密套件,文章一开始就说了,评不到A或者更高的原因是为了兼容性,那么再看一下客户端模拟的结果:
从这里发现哪怕用户使用的是IE6这款老古董级别的浏览器也能访问百度。这样的兼容性可以说是异常良好了。但是安全性就有点欠缺,如果要适配IE6这款浏览器,那么SSL协议就必须得支持SSL2和SSL3,因为IE6支持也仅支持这两个协议,SSL2是明确说明不安全的了,SSL3上又有著名的POODLE漏洞问题,SSL3上的所有CBC加密套件都会受该漏洞影响,除去CBC加密套件,那么就只剩下RC4系列的加密套件了。这个没得选择。
  • 淘宝
相对于百度,面对兼容性问题,淘宝又是另一种做法了。
淘宝虽然评分到了A,但是在支持的加密套件中存在橙色的选项:
从图中可以看出淘宝舍弃了SSL3协议,换句话说就是放弃了对IE6的支持,这个从客户端模拟结果上也可以体现出来:
但是那个黄色的warningTLS_RSA_WITH_3DES_EDE_CBC_SHA/warning又是什么原因呢?这是为了兼容XP上的IE8这类浏览器,这些浏览器器支持加密套件基本都是不安全的,唯一比较安全的就是3DES系列的了。为了兼容这些浏览器这应该算是一种比较好的方式了。
如何达到A+
如果您的网站的评分已经达到A,那么没有被评到A+的最大的可能性就是没有使用HSTS,使用HSTS的方法很简单,只要在添加warningStrict-Transport-Security/warning这个HTTP头部信息即可。
用nginx服务器做说明:
warning但有一点需要注意,Strict-Transport-Security中的max-age的时间不能小于31536000。/warning

总结

如果您的服务器需要支持IE6这种古董级别的浏览器,那么就按照百度的做法,如果说对兼容性没有太大的需求,只要主流的浏览器能够访问那么就不要支持3DES系列的加密套件,如果说想要在保证安全性的同时,也要有最好的兼容性,那么就请按照淘宝的配置方式进行配置。
下面给出这三种配置情况:
  • 类似百度
Nginx
  • 类似淘宝
Nginx

最好的安全性

Nginx
但也有可能因为openssl版本的不同会导致相同的配置得到不同的检测结果。如果您的openssl处于较新的版本那么按照最好的安全性进行配置,得到一个A,应该是没有问题的。