PCI-DSS 密码指南是否适用于服务帐户?

信息安全 密码 密码管理 pci-dss 服务帐户
2021-09-05 06:12:08

服务帐户是为运行应用程序而创建的用户帐户。例如,一个在线银行网站可能有一个运行代码的服务帐户。

与任何其他帐户一样,服务帐户也有密码。它们在两个重要方面不同于最终用户帐户的密码:

  1. 密码由我们生成(它们很大且随机)
  2. 密码由 Windows 存储,以便在需要时无需人工干预即可启动服务。

我试图弄清楚我们需要什么样的密码管理过程来围绕这些帐户站起来。

PCI-DSS指南为密码设置了以下一般指南:

  • 在允许所有用户访问系统组件或持卡人数据之前,为所有用户分配一个唯一 ID。
  • 控制用户 ID、凭据和其他标识符对象的添加、删除和修改。
  • 立即撤销任何已终止用户的访问权限。
  • 在 90 天内删除/禁用非活动用户帐户。
  • 通过在不超过六次尝试后锁定用户 ID 来限制重复访问尝试。
  • 将锁定持续时间设置为至少 30 分钟或直到管理员启用用户 ID。
  • 如果会话空闲超过 15 分钟,则要求用户重新验证以重新激活终端或会话。
  • 至少每 90 天更改一次用户密码/密码

但是其中一些规则对服务帐户没有任何意义。例如,强制执行 lockout 可能没有意义例如,如果将相同的身份用于一系列微服务,那么每 90 天更改一次密码可能会非常痛苦。

这些规则是否适用于服务帐户,或仅适用于最终用户帐户?如果规则仅适用于最终用户帐户,那么服务帐户存在哪些规则(如果有)?

(“申请”是指“在 PCI 审核期间考虑”)

2个回答

你对“指导”这个词的使用是过时的。

根据该标准,每个要求有 4 个部分:

要求 8.2.4 规定:

每 90 天至少更改一次用户密码/密码。

它有其匹配的测试程序:

对于示例中的每个项目,描述系统配置设置如何验证用户密码/密码参数设置为要求用户至少每 90 天更改一次密码/密码。

然而,其指南提供了要求背后的意图:

长时间有效而无需更改的密码/密码短语为恶意个人提供了更多时间来破解密码/短语。

因此,如果您可以证明您可以通过意图(指导)而无需每 90 天更改一次密码,而无需使用其他要求(通过补偿控制工作表),例如拥有如此复杂的密码,以至于其哈希值无法在其使用时间内被破解,带有额外的日志记录(高于要求)等。然后 QSA 可能会说要求已满足意图。

对服务帐户的“管理员”帐户的一些定义(但是,“标准”会随意覆盖 PCI 和 QSA 的所有常见问题解答和“指南”文档)。

真正的答案是 QSA 在您接受审计时所说的任何内容。

如果您有官方渠道要询问,请使用它们。如果可能,请以书面形式获得答复。

自动化合规是最好的途径;随着手动操作的增加,人为错误的可能性也会增加。

在前雇主,我们对合规问题非常规避风险。在这种情况下,我们像处理任何其他用户帐户一样处理服务帐户。

如果您有任何超出微小足迹的东西,自动化或多或少是必要的。我们考虑了几种方法来满足这些要求。

我们的三个选择

在 Windows 上,如果您使用组管理服务帐户 (GMSA),它们在技术上是机器帐户而不是用户帐户,而且密码更改会自动处理。如果您有 Windows 域,则免费,但必须为 2012 级别或更高级别。

您可以使用 Secret Server 等应用程序,该应用程序将为您更改、存储、验证等密码。与 GMSA 不同,如果您的管理员需要进行测试或故障排除,他们可以手动进行身份验证——这可能是一个加分项,具体取决于您的环境。但是,需要考虑许可费用,另外还要管理另一个应用程序/数据库。

更改密码并通过脚本更新服务配置。您可以使用 PowerShell 更改帐户密码,然后使用 Set-Service 命令行开关将该更改推送到您的设备。这不花任何前期费用,但它比 GMSA 更加劳动密集,因为您必须编写和维护脚本。