PCI-DSS 合规性

PCI-DSS 合规性

我们正在开发一款新软件(实际上只是一个 php 脚本),用于收集持卡人信息并将其存储在 MySQL 数据库中。显然,我们在安全方面采取了一切预防措施(防火墙、防病毒软件、SELinux、限制对机器的访问),但我们试图了解在正式上线之前需要采取哪些步骤。

由于客户是 4 级商户(没有实际交易,仅存储持卡人信息),我们需要出去寻找哪些扫描件?

显然,我们需要扫描服务器/IP,但是收集数据的 php 脚本怎么办呢?

答案1

不幸的是,持卡人数据存储电子商务环境必须遵守最严格的 PCI-DSS 要求(类型 D)。

注意:人们会告诉你,一级商家受到的监管比四级商家更严格。这根本不是事实。只有一级商家才需要接受审计,但如果你是一名四级商家,被发现违反了规定,你仍然会受到巨额处罚和法律责任。

您需要遵守的规则的完整列表如下: https://www.pcisecuritystandards.org/documents/pci_saq_d.pdf

在应用程序开发过程中,您需要特别注意要求 1-4。

通常,我建议小商店尽可能将持卡人数据存储甚至购物车业务外包,以减少麻烦和责任。NetSuite、Paypal、Google Checkout 和许多其他公司可以为您提供帮助。

答案2

首先,一定要确保你保存了信用卡详细信息。如果有可能避免,我建议你尽一切努力这样做。通常有信用卡处理网关允许你处理“重复交易”,即你提供初始交易的信用卡详细信息,然后获得交易 ID 以方便重复交易。

然而,如果你无法避免存储,那么你需要考虑以下几点

至于扫描,有许多在线 PCI-DSS 批准的扫描供应商。这些可以在批准扫描供应商页面在 PCI-DSS 网站上。我非常诚挚地推荐Qualys。我们使用它们,它们确实很容易使用,并能帮助您完成 SAQ。

至于 PHP 脚本,对于代码开发方式的要求很少,因为开发人员必须采用最佳实践和各种安全代码开发标准。此外,对于测试和生产环境也有很多要求。

处理卡数据的脚本的开发包含在“要求 6:开发和维护安全系统和应用程序”中的要求中

卡数据的存储符合“要求 3:保护存储的卡数据”中的要求。但是本节涵盖所有形式的存储,例如纸质收据或电子...

然而,实现卡数据的存储相当棘手,因为不仅必须对卡数据进行加密,而且用于加密数据的密钥也必须加密,并且第二个密钥只能由两个不同的负责人知道。但是,有办法解决这个问题,因为 PCI DSS 的“精神”不仅是确保绝对合规,而且在无法保证合规的领域,还有足够的审计可用来跟踪和归因数据访问。

这方面的一些相关部分是卡数据存储的要求 3.4、手动密钥管理和分割知识的要求 3.6.6,但是由于您的环境,可能还有其他几个部分,因此我建议您阅读并理解要求和测试程序。

不幸的是,由于它是 PDF,我无法直接链接到 PCI DSS 标准的相关部分。

最后,不要忘记 PCI-DSS 不是“尽力而为”的标准。您必须遵守每一项要求才能符合信用卡提供商的要求。如果您无法满足要求或要求不适用,您必须实施补偿控制或必须将要求标记为不适用并解释原因。PCI-DSS 是“全有或全无”的

答案3

不幸的是,对于 PCI 合规性,并没有真正的“一刀切”答案,因此所需的步骤会因情况而异。找出所需步骤的最佳方法是查看PCI DSS 自我评估问卷

根据您的描述以及PCI DSS SAQ 指南(pdf),听起来你需要问卷调查,但您需要仔细检查它是否正确。如果您对其中某个步骤有任何具体问题,请随时更新您的问题,我会看看是否可以添加更多具体信息。

答案4

我诚心推荐购买 Barracuda Web 应用防火墙。我不是他们的员工,但它是一款很棒的产品(尽管学习难度相当大),并且符合 PCI 规范”盒子外面“。

我并不是说不要定期进行代码审核或修复错误,但是通过适当调整/配置的 Web 应用程序防火墙,您可以减轻您甚至不知道存在的风险和漏洞。

相关内容