Hi!请登陆

HTTPS证书部署出现PCI DSS不合规的解决办法

2021-1-24 58 1/24

站点部署 HTTPS目前来看已经是大势所趋不可抵挡了,所以现在有很多博客网站都纷纷升级到 HTTPS,但是在部署 HTTPS 的时候,或多或少都可能会存在一些问题,那么我们就很有必要借助第三方平台(如myssl.com)来检测看看我们的评级是否达到 A+,PCI DSS 是否合规,ATS 是否合规等。今天我们重点来说一说 PCI DSS 不合规的问题。

HTTPS证书部署出现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证书部署出现PCI DSS不合规的解决办法

现在网络上很多部署 HTTPS 的教程里面都还是用到 TLSv1.0 解密协议,一般给出的 ssl_protocols 配置都是类似下面的做法:

  1. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

上述代码中的 TLSv1 其实就是 TLSv1.0,也就是说我们在配置 SSL 的时候如果还是用到 TLSv1 就会出现 PCI DSS 不合规。既然知道了问题所在,那么解决办法也就很简单了,直接在 SSL 配置中禁用 TLSv1.0,也就是直接删除 TLSv1,修改后的代码如下:

  1. ssl_protocols TLSv1.1 TLSv1.2;

如果你的站点环境支持 TLSv1.3,那么可以修改为:

  1. ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;

修改好 ssl_protocols 之后,记得重启一下 nginx(平滑重启 nginx 命令:

/usr/local/nginx/sbin/nginx -s reload),然后到myssl.com重新检测,如果没有变化,点击右侧的“刷新报告”按钮刷新即可。如本站修改之后的检测报告如下:

HTTPS证书部署出现PCI DSS不合规的解决办法

如上图所示,本站把 SSL 配置中的 TLSv1 删除并重启 nginx 之后,PCI DSS 已经合规了。

如果你也是使用又拍云 CDN的话,记得到功能配置 >> HTTPS >> 往下拉找到“最低 TLS 版本”>> 点击『管理』按钮 >> 选择 TLSv1.1 并点击『确定』按钮。如下图所示:

HTTPS证书部署出现PCI DSS不合规的解决办法

这样在服务器上直接配置禁用 TLSv1.0,在又拍云上选择最低 TLS 版本为 TLSv1.1,那么可以说是万无一失了,检测报告中 PCI DSS 肯定是合规的了。有空的话,建议各位博主站长也检测一下自己站点是否存在 PCI DSS 不合规的情况,如果存在就按本文的办法折腾一下就行。

OZABC联盟建议:推荐使用又拍云CDN全球加速(点此注册),注册并完成实名认证,可获得61元免费代金券,可用于HTTPS站点全球加速。同时,加入又拍云联盟用户每月独享优惠10GB免费存储空间和15GB免费CDN流量(HTTP/HTTPS均可用)。更多关于又拍云的文章请移步『又拍云专题』
站长有话说

今天是在阁主博客中看到《惊!出现 SSL/TLS 检测 PCI DSS 不合规的情况如何解决,禁用 TLS1.0 阁主博客已解决!》这篇文章的时候才想起去检测自己的站点,没想到检测的结果竟然是 PCI DSS 不合规。所以就根据这篇文章和 Myssl.com 的解决方案《更严格的 PCI DSS 合规标准》解决了 PCI DSS 不合规的问题(其实整篇文章的核心就是删除 TLSv1 即可)。

相关推荐