Ubuntu PCI-DSS 合规性问题

ade*_*r11 3 ubuntu pci-dss

我正在尝试使 PCI 兼容,而 PCI 扫描公司正在标记我们的 Ubuntu 12.04 PHP 5.3.10-1ubuntu3.9 为 CVE-2013-1635。根据http://people.canonical.com/~ubuntu-security/cve/2013/CVE-2013-1635.html Ubuntu 的响应是“我们不支持 open_basedir 的用户”并且所有版本都被标记为忽​​略.

我不知道在这里做什么。我已将我的扫描公司指向同一个 URL,但他们不接受并回答。

我该怎么办?

更新

我不使用此功能,并且在 php.ini 中禁用了 open_basedir 指令。然而,他们并不认为这是一个合适的解决方案。

以下是他们对否认我的争议的回应:

我们根据提供的有关如何解决此发现的信息否认了此争议。已发现当前在此系统上运行的 PHP 版本无法正确清理用户提供的输入。尽管在此系统上禁用了“open_basedir”,但攻击者可以利用此问题并在受影响的应用程序的上下文中写入 wsdl 文件。此外,已经发现其他攻击也是可能的。因此,“soap.wsdl_cache_dir”指令设置 SOAP 扩展将放置缓存文件的目录名称。禁用“open_basedir”并没有 1) 删除已经存在的缓存文件和/或 2) 停止将新缓存文件放入任意目录的可能性。

请查看https://www.pcisecuritystandards.org/security_standards/glossary.php#Compensating%20Controls以了解补偿控制的定义。除其他事项外,“补偿控制必须:......“超出”其他 PCI DSS 要求(不仅仅是符合其他 PCI DSS 要求)”,并且禁用“open_basedir”并没有真正超越,根本问题应该真的在这里解决。同样,扫描报告中列出的要求是升级系统或利用提到的补偿控制(在这种情况下,禁用 open_basedir 是不够的)。

在 PCI DSS 合规范围内的系统上检测到的任何问题都需要修复所有 PCI 不合规问题(即涉及信用卡持有人数据的存储、处理和/或传输的任何系统以及任何直接连接到此类过程中涉及的网络,而该网络没有适当的网络分段)。

请查看扫描报告并按照“修复”列下方的建议进行操作,然后在修复漏洞后执行另一次扫描以清除下一次扫描报告中的发现。

如果在此之后继续检测到漏洞和/或如果您已经执行了此操作,请随时重新对该漏洞提出争议并解释为解决该发现而执行的操作。

Sha*_*den 6

似乎怀疑 Ubuntu“不支持”库存的 PHP 配置指令,因为他们之前已经修复了它的错误(例如)。

编辑:似乎 Debian 和 Red Hat 有相同的政策,实际上 - “不支持”是不好的措辞,但所有这些发行版都认为,固有缺陷的安全机制中的缺陷不是问题。

由于这些原因,“安全模式”和“open_basedir”选项中的错误,或者 PHP 解释器或扩展中允许脚本绕过这些选项的任何错误,都不会被视为安全敏感。

然而,这可能无关紧要。检查您php.iniopen_basedir- 如果它不在那里,那么您完全不受此安全问题的影响,因为该错误绕过了所open_basedir提供的安全限制。

但是,如果您的审计员在这方面特别糟糕,那么您最好的行动方案可能只是停止向他们展示您正在使用的 PHP 版本 - 无论如何,版本字符串检查是进行漏洞评估的一种糟糕方式。如果它是一个显示其版本字符串的 Apache Web 服务器,则给它ServerSignature OffServerTokens Prod.

编辑他们发送给您的回复的注释...

已发现当前在此系统上运行的 PHP 版本无法正确清理用户提供的输入。

这个错误与清理输入无关,它是沙盒机制中的一个缺陷。

尽管在此系统上禁用了“open_basedir”,但攻击者可以利用此问题并在受影响的应用程序的上下文中写入 wsdl 文件。

我绝不是 PHP 内部的专家,但这似乎是对该漏洞的严重误解。根据我对这个 bug 的了解,问题在于攻击者可以使用 WSDL 缓存机制从open_basedir根目录之外的目录位置加载 WSDL (但可能仍在 中soap.wsdl_cache_dir,默认为/tmp)。

为此,您必须拥有可以以这种方式实际定位的文件以及触发它被缓存的访问方法(可能是您的 Web 服务器中的目录遍历?)

无论如何,根据系统上已有的内容触发缓存 WSDL 的创建与将文件写入 Web 应用程序非常不同。

因此,“soap.wsdl_cache_dir”指令设置 SOAP 扩展将放置缓存文件的目录名称。禁用“open_basedir”并没有 1) 删除已经存在的缓存文件和/或 2) 停止将新缓存文件放入任意目录的可能性。

虽然 CVE 确实说“任意目录”,但它的真正含义似乎是“配置的 WSDL 缓存目录”。如果此漏洞包含目录遍历组件,则该漏洞会严重得多。实际上,所有更改都是添加验证以确保缓存目录在open_basedir. 见这里

禁用“open_basedir”并没有真正超越,根本问题应该在这里解决

那是胡说八道。这是 WSDL 缓存目录没有正确验证它在open_basedir. 如果您没有open_basedir配置,则整个漏洞完全无关 - 没有进行其他更改以提供任何额外的安全优势。