刘勇虎的官方网站
网站内容包含大前端、服务器开发、Python开发、iOS开发、Android开发、网站维护等技术文章。专注于分享技术经验,职业心得体会,IT优秀文章与教程创作。
Stay hungry,Stay foolish,Stay young
站点部署 HTTPS目前来看已经是大势所趋不可抵挡了,所以现在有很多博客网站都纷纷升级到 HTTPS,但是在部署 HTTPS
的时候,或多或少都可能会存在一些问题,那么我们就很有必要借助第三方平台(如 _myssl.com_)来检测看看我们的 评级是否达到 A+,PCI DSS
是否合规,ATS 是否合规 等。今天我们重点来说一说 PCI DSS 不合规的问题。
** PCI DSS**
PCI DSS,全称 Payment Card Industry Data Security Standard,第三方支付行业数据安全标准,是由 PCI
安全标准委员会制定,力在使国际上采用一致的数据安全措施。
早在去年 6 月 30 号 PCI 安全标准委员会官方发表博文将于2018 年 6 月 30 号(最晚)禁用早期
SSL/TLS,并实施更安全的加密协议(TLS v1.1 或更高版本,强烈建议使用 TLS v1.2)以满足 PCI 数据安全标准的要求,从而保护支付数据。
随着时间的临近,我们提前调整了 PCI DSS 合规判定标准(在原有的标准之上,支持 TLS v1.0
或更早的加密协议将会判定为不合规),方便您提前调整您的服务以避免违规的风险。
根据上面的介绍可知,从 2018 年 6 月 30 号起已经开始禁用早期 SSL/TLS,也就是禁用 TLSv1.0。换句话就是说 如果站点还支持
TLSv1.0 加密协议的话就会被判定为 PCI DSS 不合规 。如下图所示:
现在网络上很多部署 HTTPS 的教程里面都还是用到 TLSv1.0 解密协议,一般给出的 ssl_protocols 配置都是类似下面的做法:
上述代码中的 TLSv1 其实就是 TLSv1.0,也就是说我们在配置 SSL 的时候如果还是用到 TLSv1 就会出现 PCI DSS
不合规。既然知道了问题所在,那么解决办法也就很简单了,直接在 SSL 配置中禁用 TLSv1.0,也就是直接删除 TLSv1,修改后的代码如下:
如果你的站点环境支持 TLSv1.3,那么可以修改为:
修改好 ssl_protocols 之后,记得重启一下 nginx(平滑重启 nginx 命令:
/usr/local/nginx/sbin/nginx -s reload),然后到
_myssl.com_重新检测,如果没有变化,点击右侧的“刷新报告”按钮刷新即可。如本站修改之后的检测报告如下:
如上图所示,本站把 SSL 配置中的 TLSv1 删除并重启 nginx 之后,PCI DSS 已经合规了。
如果你也是使用又拍云 CDN的话,记得到功能配置 >> HTTPS >> 往下拉找到“最低 TLS 版本”>> 点击『管理』按钮 >> 选择 TLSv1.1
并点击『确定』按钮。如下图所示:
这样在服务器上直接配置禁用 TLSv1.0,在又拍云上选择最低 TLS 版本为 TLSv1.1,那么可以说是万无一失了,检测报告中 PCI DSS
肯定是合规的了。有空的话,建议各位博主站长也检测一下自己站点是否存在 PCI DSS 不合规的情况,如果存在就按本文的办法折腾一下就行。
推荐使用又拍云CDN全球加速(点此注册),注册并完成实名认证,可获得61元免费代金券,可用于HTTPS站点全球加速。同时,加入又拍云联盟用户每月独享优惠10GB免费存储空间和15GB免费CDN流量(HTTP/HTTPS均可用)。更多关于又拍云的文章请移步『又拍云专题』
站长有话说
今天是在阁主博客中看到《 _惊!出现 SSL/TLS 检测 PCI DSS 不合规的情况如何解决,禁用 TLS1.0
阁主博客已解决!_》这篇文章的时候才想起去检测自己的站点,没想到检测的结果竟然是 PCI DSS 不合规。所以就根据这篇文章和 Myssl.com
的解决方案《 _更严格的 PCI DSS 合规标准_》解决了 PCI DSS 不合规的问题( 其实整篇文章的核心就是删除 TLSv1 即可 )。
参考文献
https://boke112.com/5571.html