PCI-DSS - 每台服务器一个应用程序?

信息安全 pci-dss 遵守 风险管理
2021-09-03 07:01:52

我如何解释 PCI-DSS 的 2.2.1 点?“应用程序服务器”是“一个主要功能”还是需要是“程序 x 服务器”、“程序 y 服务器”等?

我有一组在我的环境中运行服务器端的应用程序。其中一些与持卡人数据所在的应用程序间接交互,而另一些则不是。这些应用程序还具有不同的组角色和在其中分配的权限,并服务于不同的部门。

2.2.1 每台服务器只实现一个主要功能,防止需要不同安全级别的功能在同一台服务器上共存。(例如,Web 服务器、数据库服务器和 DNS 应该在不同的服务器上实现。)

例如:

需要采取强有力的安全措施的数据库将面临与需要开放并直接面向 Internet 的 Web 应用程序共享服务器的风险。未能将补丁应用于看似次要的功能可能会导致影响同一服务器上其他更重要的功能(例如数据库)的妥协。

此要求适用于持卡人数据环境(通常基于 Unix、Linux 或 Windows)中的所有服务器。此要求可能不适用于能够在单个服务器(例如大型机)上本地实现安全级别的系统。

4个回答

所以基本上要求是你需要为每台服务器分配一个主要功能。

您描述的服务器听起来像是运行一些应用程序供生产用户使用。这将被归类为“应用程序”服务器。但是,您还提到该服务器上有多个应用程序,其中一些间接接触 CDE,而另一些则没有。虽然该服务器将被视为具有一个主要角色,但它会将不涉及 CDE 的应用程序的控制考虑在内。

如果是我,我会将不与 CDE 交互的应用程序移出该框,并将它们移至不同的服务器,如果可能的话,在不同的段中。如果您没有分段网络(您真的应该这样做),那么无论如何一切都在范围内,所以这个建议无关紧要。

PCI-DSS 合规性的一个真理是:

如果您的 QSA 表明您符合 PSI-DSS,则您符合 PCI-DSS。

我认为,PCI 委员会在为我们提供了一个非常清晰和切中要遵循的标准方面做得非常好,至少就标准而言。话虽如此,这是其中一个有趣的案例,其中要求似乎与意图略有不同。

从需求中获取文字:

2.2.1每台服务器只实现一个主要功能,防止需要不同安全级别的功能在同一台服务器上共存。(例如,Web 服务器、数据库服务器和 DNS 应该在不同的服务器上实现。)

那就是说,主要功能可能会使您产生一些分歧。可以说,给定服务器的主要目的是为处理器存储数据库,而它也被配置为将报告引擎作为辅助功能运行。

委员会还制作了另一份名为“导航 PCI DSS v2.0”的文档,可在与标准本身相同的位置下载。本文档更详细地介绍了每个要求,并试图解释它们背后的意图。

这是为了确保您的组织的系统配置标准和相关流程能够解决需要具有不同安全级别的服务器功能,或者可能会给同一服务器上的其他功能带来安全漏洞。

好吧,酷,我喜欢。它告诉我们他们正在尝试根据相关数据的安全级别进行隔离。因此,理论上,如果您有一个允许直接访问包含持卡人数据的数据库的 Web 应用程序,并且只有能够访问该最高敏感度数据的人才能访问该 Web 应用程序,那么一个人可能能够同时托管它们在同一系统上,同时保持合规性。但是,如果存在提供交易统计数据但不提供持卡人数据本身的报告工具,并且不同的一组人可以访问它?是的,你会想把它分开。

然而,你最不想做的事情很可能是用你的 QSA 将头发切成越来越小的条子。所以通常持有的观点是:

在此处输入图像描述


以上提供的信息绝不是作为官方建议,并且在没有保证、保证、善意或充足的早晨咖啡摄入量的情况下提供。所提供的声明不代表 PCI 委员会、任何 QSA/ASV、我的雇主、您的雇主、本网站、任何其他网站或您正在查看此消息的 ISP 的观点。

由于 PCI 并不适用于特定的应用程序,而是适用于整个环境,因此可以说它将所有应用程序视为同一系统的一部分。

也就是说 - 应用服务器层是一个“单一的主要功能”,对于系统的所有部分(即应用程序),无论有多少 - 假设它们都是适用系统的一部分,并且都是相同的信任级别。

因此,如果您有一些与信用卡无关的内部应用程序,例如您的公共网站 - 您应该将它们移动到不同的环境(即服务器、网络等)。否则,它们充其量只能在PCI 要求 - 而您不希望这样。在最坏的情况下,您将无法满足此要求。

也就是说,请注意,无论如何您都需要咨询您的 QSA您需要他/她签字,根据您的具体情况仍有一些解释空间。

“应用程序服务器”是“一个主要功能”还是需要是“程序 x 服务器”、“程序 y 服务器”等?

这取决于程序 X 和 Y 的相关和相似程度的解释。这类问题倾向于 QSA 不同的灰色区域,您正在四处寻找补偿控制。

但是看看规则的意图——它希望你保持不同的“安全级别”分开。

因此,如果您有一堆应用程序都使用相同的凭据与相同的 Web 服务或数据库(在具有自己的控件的另一台服务器上)通信,那么将它们视为一个功能可能是有意义的。如果攻击者破坏了程序 X 并允许他们破坏同一服务器上的程序 Y,这是否会通过破坏程序 X 获得他们没有的任何东西?

这些应用程序还具有不同的组角色和在其中分配的权限,并服务于不同的部门。

这听起来好像您确实在服务器上具有不同的功能和不同的安全级别。

其中一些与持卡人数据所在的应用程序间接交互,而另一些则不是。

间接互动的本质是什么?如果交互通过不在 CDE 中的网关(充当有效控制点的东西),您可以将服务器完全排除在 PCI 范围之外。

如果您无法避免将服务器置于范围内,我强烈建议将不需要与 CDE 交互的应用程序移至另一台不在范围内的服务器上。