PCI 标准是否禁止使用 Windows 身份验证?

jae*_*kie 7 security sql-server windows

我们目前使用混合模式进行 SQL Server 身份验证。我试图说服我们的 DBA 允许我们使用 Windows 身份验证,以便我们可以使用 Team Foundation Server,但是他绝对拒绝让我们拥有它。

根据他的说法,我们不能使用 Windows 身份验证,因为我们计划最终符合 PCI 标准,而 PCI 需要混合模式。从我在网上看到的情况来看,情况恰恰相反:PCI 标准实际上更喜欢 Windows 身份验证而不是混合模式。

有人可以给我一些关于此的更多信息(最好是说明正确信息的 URL),以便我可以将其发送给我们的部门负责人?

Nic*_*mas 9

不。

正如您所建议的,PCI 数据安全标准实际上更喜欢Windows 身份验证,而不是任何其他对 SQL Server 进行身份验证的方法。

涵盖此内容的标准部分是要求 8:为每个具有计算机访问权限的人分配一个唯一 ID。SQL Server 身份验证(混合模式身份验证允许)失败或使其极难满足以下PCI 要求

8.5.5至少每 90 天删除/禁用不活动的用户帐户。

8.5.8请勿使用群组、共享或通用的帐号和密码,或其他身份验证方式。

8.5.12不允许个人提交与他或她最近使用过的四个密码中的任何一个相同的新密码

作为管理员,我在允许 SQL Server 身份验证方面遇到的主要问题是,使用它连接到数据库的应用程序可能会从配置文件中提取纯文本形式的用户名和密码。任何对该配置文件具有读访问权限的人现在也可以访问您的数据库。

如果您在具有强大 Active Directory 设置的 Windows 商店中,仅使用 Windows 身份验证连接到您的生产数据库具有许多优势:

  • 安全性和身份在域级别强制执行,从而可以轻松地在域中授予和撤销权限。

    • 每个人和服务都有一个单独的域帐户;服务帐户不能远程访问机器,非 DBA 个人帐户不能连接到数据库。
    • 您的 DBA 团队不能再与您的环境中的每个实例共享具有上帝权限的 DBA SQL Server 登录名。
  • 虽然 SQL Server 确实允许您强制执行密码复杂性规则(您必须按照 PCI DSS 要求 8.5.9-11 强制执行),但我敢打赌 AD 在这方面做得更好。另外,你真的想在两个不同的地方执行这些规则吗?

  • 使用 Windows 身份验证连接的应用程序无法再以纯文本形式公开其凭据。某人打开配置文件或应用程序服务器并访问您的数据库要困难得多。


小智 5

如果您指的是信用卡行业的 PCI 合规性,是的,首选 Windows 身份验证。在Google上搜索此短语:“SQL Server 安全最佳实践”

前两个链接,尤其是第一个链接,会将您链接到首选 Windows 身份验证的文档。第一个是 SQL 2005 最佳实践白皮书的链接,但适用于以上所有版本的 SQL Server。

我参与了对满足 DoD 标准和 Windows 身份验证所需的数据库和实例进行安全扫描。我也经历了 PCI 合规性审计,他们会倾向于寻找 Windows 身份验证。