接手做一个电商网站的时候,发现原网站的nginx配置有点错误,并且有的代码还很老了,默认了一些一键脚本的设置,其中就包括了ssl_protocols控制。
很多人在配置网站ssl的时候,并不在意,看见什么就点什么,或者默认安装,然后就启用了:
ssl_protocols TLSv1 //TLSv1是以前的协议
TLSv1由于是早期协议,会导致PCI DSS认为你网站的ssl不合格规范,特别是针对一些涉及支付类型的网站,如果不满足PCI安全规格,就可能不保护支付数据。
所以在配置ssl证书的时候,把TLSv1删了。
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
如果用的阿里云CDN,记得阿里云那边也改下,其他CDN没看,腾讯云是没这个的。
一些机构安全规范是建议1.2起步使用,不过为了稍微兼容一些老的系统浏览器版本,我们还是可以把1.1留着。
至于删掉TLSv1有没有什么影响?有,那就是更老的系统自带的浏览器,可能不支持,不过如今都马上2020年了,这个问题应该不用考虑。
当然网站不重要,没支付,那无所谓。
还有把max-age限制改了,不要低于15552000。
add_header Strict-Transport-Security max-age=31536000;