我们目前正在开发的 Web 应用程序必须通过 PCI 3.1 审核。它在 Debian 下运行 NGINX 的 Amazon EC2 上。
我们正在与赛门铁克联系以获取证书,我们对带有 EV 和通配符的 Secure Site Pro 特别感兴趣(我们将拥有一台具有动态子域名的服务器,这就是我们考虑使用通配符的原因)
我只是想确保我不会花费数千美元并发现这些对于 PCI 3.1 来说是不够的,或者 NGINX 和 Debian 的组合不适用于这些类型的证书。
有没有人有尝试符合 PCI-DSS 3.1 的经验,可以就我们应该获得哪些 SSL 证书提供一些建议?
TL;DR:PCI-DSS 3.1立即生效,但禁用 TLS 1.0 和 SSL 3 的要求在 2016 年 6 月 30 日之后生效。
在大多数情况下,您应该在 3 个月或更长时间之前就已针对 POODLE 漏洞禁用 SSL。所以这不是问题。
此要求的有趣部分是无法使用 TLS 1.0。
官方说法是:
--从 SSL 和早期 TLS 迁移,PCI-DSS 信息补充
其中“早期 TLS”定义为 TLS 1.0。仅允许使用 TLS 1.1 和 1.2,强烈建议使用 1.2。
虽然您仍然可以将 TLS 1.0 和 SSL 3 用于销售点设备及其后端,但前提是您可以证明您已经解决了所有可能的问题,您也应该强烈考虑更新这些问题。
顺便说一句,这是 Windows XP 棺材上的又一颗钉子……
警告:我从来不需要通过 PCI 认证。这是基于我针对您的问题对该主题的研究。
看起来 PCI3.0 和 PCI3.1 之间的主要区别在于 3.1 要求
TLS1.1
或更高版本。无法使用 SSL3 或 TLS1.0。请参阅http://www.infosecurity-magazine.com/news/pci-dss-31-forces-move-from-ssl-to/虽然,在某些地方他们甚至提到不允许使用 TLS1.1。但是,如果只有 TLS1.2,您可能会切断大量访问者,例如低于 4.4 的 Android 和低于 11 的所有 IE。如果您的业务可以接受,那就去吧。此外,似乎没有明确要求 EV 证书。它们有利于站点识别以帮助阻止网络钓鱼,但这不是 PCI 的严格要求。
我也看不到任何禁止通配符证书的东西。
只要其信任链是访问者浏览器的一部分,您就可以获得任何通配符证书。它不必是 EV 证书,也不必来自赛门铁克。
设置的一个重要部分是确保 Nginx 或其他 SSL 终止软件/硬件使用正确的加密设置。Mozilla 创建了一个不错的页面,允许您选择组件及其版本,它会为您生成“最佳实践”配置。请参阅https://mozilla.github.io/server-side-tls/ssl-config-generator/和https://wiki.mozilla.org/Security/Server_Side_TLS