背景
尽管我浏览了一些关于堆栈溢出的帖子,这些帖子部分涵盖了这一点,但我还没有找到提供全面问题/答案的帖子。
作为 POS 系统的开发人员,PCI DSS 有两个我感兴趣的组件:
- 关于我开发的软件的 PA DSS(支付应用程序)
- PCI DSS (Merchants),考虑到我所有使用该软件的客户
PA DSS 似乎说得最直截了当:
“9.1 支付应用程序的开发必须使数据库服务器和 Web 服务器不需要位于同一台服务器上,数据库服务器也不需要与 Web 服务器位于 DMZ 中”
测试程序:
9.1.a 验证支付应用程序将持卡人数据存储在内部网络中,而不是存储在 DMZ 中,获取证据证明支付应用程序不需要将数据存储在 DMZ 中,并允许使用 DMZ 将互联网与存储持卡人数据的系统(例如,支付应用程序不得要求数据库服务器和 Web 服务器位于同一台服务器上,或与 Web 服务器位于 DMZ 中)。
9.1.b 如果客户可以将持卡人数据存储在连接到 Internet 的服务器上,请检查供应商准备的 PA-DSS 实施指南,以验证客户和经销商/集成商被告知不要将持卡人数据存储在可访问 Internet 的系统(例如,Web 服务器和数据库服务器不能在同一台服务器上)。
并且来自商家的 PCI DSS:
1.3.5 限制从持卡人数据环境到互联网的出站流量,使出站流量只能访问DMZ内的IP地址。
问题
我的问题很简单——数据库和应用程序服务器可以在逻辑上不同(在不同的虚拟化操作系统上)还是它们在物理上必须不同(在不同的物理/专用服务器上)?
另外,我有点担心必须放置一个与 Internet 没有任何连接的数据库服务器。我应该如何远程管理此服务器?还是可以通过应用程序服务器访问数据库服务器 - 尽管这肯定会违背目的?