Sonny Asked: 2015-07-24 05:44:10 +0800 CST2015-07-24 05:44:10 +0800 CST 2015-07-24 05:44:10 +0800 CST Ubuntu 12.04、PCI 和 CVE-2015-5352 772 当存在CVE-2015-5352漏洞时,PCI 合规性将失败。OpenSSH 6.9 修复了这个漏洞,但是所有受支持的 Ubuntu 版本(12.04、14.04、15.04 和 15.10)都没有打补丁。 解决此漏洞的最佳方法是什么? 12.04 3 个回答 Voted Raymond 2015-07-25T05:48:07+08:002015-07-25T05:48:07+08:00 我遇到了同样的问题。当我等待 ubuntu 的修复时,我也决定这是我将通过我的 CSA 解决的问题;出于以下原因。 如果我理解所提出的问题,只有在受影响计算机上的根用户被允许转发 X11 连接时才会出现问题。在我的环境中,受影响计算机上的相同 root 用户可以访问从该计算机可访问的任何系统上的 root,因此,如果他们要进行恶意活动,这个潜在的漏洞既不会帮助也不会阻碍该用户。 其次,如果问题取决于转发 X11 连接的能力,那么使用“ForwardX11Trusted no”和“ForwardX11Timeout 0”禁用此功能不应该是一个正确的配置修复吗?这是我当前的配置,因为我没有安装 X11,所以看起来很合适。 ColinM 2015-08-13T13:02:42+08:002015-08-13T13:02:42+08:00 对于将此问题添加到 PCI 合规性扫描程序的人来说,这确实是一项糟糕的研究。在我的扫描中,问题描述如下: 概要 远程主机上运行的 SSH 服务器受多个漏洞影响。 描述 根据其标语,远程主机上运行的 OpenSSH 版本早于 6.9。因此,它受到以下漏洞的影响: “channels.c”文件中的 x11_open_helper() 函数存在缺陷,允许在“ForwardX11Timeout”过期后允许连接。远程攻击者可利用此漏洞绕过超时检查和 XSECURITY 限制。(CVE-2015-5352) 通过增加失败延迟、存储密码的加盐哈希和使用时间安全比较功能来修复代理锁定中的弱点,解决了各种问题。 处理不正确的模式长度时存在越界读取错误。远程攻击者可以利用此问题导致拒绝服务或泄露内存中的敏感信息。 解析“EscapeChar”配置选项时存在越界读取错误。 推荐 升级到 OpenSSH 6.9 或更高版本。 让我们分解一下: x11_open_helper() 函数中存在缺陷 ( CVE-2015-5352 ) 此漏洞影响 SSH客户端,而不影响 SSH服务器 (desc)。使用 X11 转发连接到恶意 SSH 服务器时,具有 X 环境的 SSH 客户端容易受到攻击。扫描器本质上是在扫描服务器而不是客户端......在大多数情况下,X 甚至不会安装在远程服务器上,并且只会与受信任的服务器建立连接,因此无法复制此漏洞所需的场景。 通过修复代理锁定中的弱点解决了各种问题 同样,ssh-agent 是一个客户端程序,因此这个错误不会影响被扫描服务器的安全性,升级到 OpenSSH 6.9 也不会阻止它被利用,除非服务器已经被破坏并被用来登录到其他机器使用 ssh 代理。 处理不正确的模式长度时存在越界读取错误 查看源代码可以发现包含错误的代码甚至不存在于 OpenSSH 6.6 中,因此 OpenSSH 6.8 错误不适用。 该补丁更改了该match_pattern_list()方法的使用方式,但该方法在 OpenSSH 6.6 中不存在。 解析“EscapeChar”配置选项时存在越界读取错误 该错误仅与“ssh”客户端程序命令行或配置文件解析相关,与 sshd 服务器无关,因此与运行 sshd 的私有系统无关。此外,这在发行说明中被列为错误,而不是安全问题,所以我怀疑如果使用不正确的参数,它除了在客户端计算机上简单地导致段错误之外还能做些什么。 升级到 OpenSSH 6.9 或更高版本。 因此,总而言之,由于所有这些客户端问题,您应该将服务器升级到 OpenSSH 6.9。考虑到大多数发行版还不支持 6.9,这绝对是愚蠢的建议。我的建议是继续运行您的发行版支持的最新 OpenSSH,使用标准和安全存储库以及实际适用的向后移植修复程序,而不是仅仅因为 PCI 扫描器这么说就维护您自己的 OpenSSH 构建。 Best Answer Sonny 2015-07-25T05:55:56+08:002015-07-25T05:55:56+08:00 我发现这篇博客文章列出了手动安装 OpenSSH 6.7 的步骤。我按照说明进行操作,改为使用OpenSSH 6.9。
我遇到了同样的问题。当我等待 ubuntu 的修复时,我也决定这是我将通过我的 CSA 解决的问题;出于以下原因。
如果我理解所提出的问题,只有在受影响计算机上的根用户被允许转发 X11 连接时才会出现问题。在我的环境中,受影响计算机上的相同 root 用户可以访问从该计算机可访问的任何系统上的 root,因此,如果他们要进行恶意活动,这个潜在的漏洞既不会帮助也不会阻碍该用户。
其次,如果问题取决于转发 X11 连接的能力,那么使用“ForwardX11Trusted no”和“ForwardX11Timeout 0”禁用此功能不应该是一个正确的配置修复吗?这是我当前的配置,因为我没有安装 X11,所以看起来很合适。
对于将此问题添加到 PCI 合规性扫描程序的人来说,这确实是一项糟糕的研究。在我的扫描中,问题描述如下:
让我们分解一下:
此漏洞影响 SSH客户端,而不影响 SSH服务器 (desc)。使用 X11 转发连接到恶意 SSH 服务器时,具有 X 环境的 SSH 客户端容易受到攻击。扫描器本质上是在扫描服务器而不是客户端......在大多数情况下,X 甚至不会安装在远程服务器上,并且只会与受信任的服务器建立连接,因此无法复制此漏洞所需的场景。
同样,ssh-agent 是一个客户端程序,因此这个错误不会影响被扫描服务器的安全性,升级到 OpenSSH 6.9 也不会阻止它被利用,除非服务器已经被破坏并被用来登录到其他机器使用 ssh 代理。
查看源代码可以发现包含错误的代码甚至不存在于 OpenSSH 6.6 中,因此 OpenSSH 6.8 错误不适用。 该补丁更改了该
match_pattern_list()
方法的使用方式,但该方法在 OpenSSH 6.6 中不存在。该错误仅与“ssh”客户端程序命令行或配置文件解析相关,与 sshd 服务器无关,因此与运行 sshd 的私有系统无关。此外,这在发行说明中被列为错误,而不是安全问题,所以我怀疑如果使用不正确的参数,它除了在客户端计算机上简单地导致段错误之外还能做些什么。
因此,总而言之,由于所有这些客户端问题,您应该将服务器升级到 OpenSSH 6.9。考虑到大多数发行版还不支持 6.9,这绝对是愚蠢的建议。我的建议是继续运行您的发行版支持的最新 OpenSSH,使用标准和安全存储库以及实际适用的向后移植修复程序,而不是仅仅因为 PCI 扫描器这么说就维护您自己的 OpenSSH 构建。
我发现这篇博客文章列出了手动安装 OpenSSH 6.7 的步骤。我按照说明进行操作,改为使用OpenSSH 6.9。