我维护了一个不受支持的 Ubuntu 12.10 (Quantal Quetzal) 服务器(请不要问我为什么),我们需要修补Shellshock Bash 安全漏洞。由于升级不再可用,推荐的修补 Bash 的方法是什么?
我找到了这个答案(它建议从 Debian 检索软件包并且不安装二进制软件包,而是从源安装软件包)。这对我来说似乎没问题,但还有什么其他建议?
我维护了一个不受支持的 Ubuntu 12.10 (Quantal Quetzal) 服务器(请不要问我为什么),我们需要修补Shellshock Bash 安全漏洞。由于升级不再可用,推荐的修补 Bash 的方法是什么?
我找到了这个答案(它建议从 Debian 检索软件包并且不安装二进制软件包,而是从源安装软件包)。这对我来说似乎没问题,但还有什么其他建议?
这篇文章很有帮助,并且适用于我仍然需要支持的少数 Ubuntu 12.10 (Quantal) 实例。
修复 Ubuntu 新旧版本上的 Bash 漏洞利用
总而言之,步骤是:
获取当前版本的代号(例如 quantal)并将其存储在变量中:
将源更改为可信赖的
/etc/apt/sources.list
. 例如,更新和升级 bash
验证最新版本未通过以下测试(即您不应该看到“busted”)
恢复 /etc/apt/sources.list 以使用当前代号。例如,
https://shellshocker.net/#fix有一些用于手动更新 bash 的好工具。
您还可以测试您的系统是否易受攻击:
运行它需要您自担风险。如果上述链接过期或您不想信任它,这是它运行的脚本:
https://github.com/wreiske/shellshocker/blob/master/fixbash是可以找到脚本的地方
祝你好运
由于您应该只从公认的提供商处安装此类安全更新,因此从源代码编译的解决方案是您唯一拥有的解决方案。
lumpygator 的回答帮助了我,但我认为它太复杂了。如果您只想安装较新的 ubuntu 版本中的一个包,则无需编辑
sources.list
,您可以直接下载该包并安装它。因此,如果遇到 bash shellshock 错误,请访问http://packages.ubuntu.com/trusty/amd64/bash/download,单击“* security.ubuntu.com/ubuntu”链接,这将下载文件bash_4.3-7ubuntu1.5_amd64.deb
。或者,您可以运行以下命令:获得新软件包后,您可以直接安装它:
这在 Saucy (13.10) 上对我有用。
(如果您有 32 位系统,请将 amd64 替换为 i386。)
是的,shellshocker.net 提供的脚本正在运行。
但至少对于 Ubuntu 11.04 (Natty Narwhal)、11.10 (Oneiric Ocelot)、12.04 LTS (Precise Pangolin)、12.10 (Quantal Quetzal)、13.04 (Raring Ringtail) 和 13.10 (Saucy Salamander),Bash 包的版本是4.2,所以脚本需要做一些改动:
你必须安装Bison才能让“make”命令工作:
您可以考虑另一种方法。
在您过时的 Quantal 服务器上,您实际上在使用 bash 吗?
如果您不需要 bash,那么如果您还没有用 /bin/dash 的链接替换 /bin/sh 链接到 /bin/bash,请安装 dash 并将其用作 Bourne shell 替换。
这说明了为什么在 shell 脚本中不使用“bashisms”是可移植性的好主意,这样可以使用更简单、开销更少且更安全的 dash shell。