如何保护您的Linux服务器免受GHOST漏洞的影响
介绍
2015 年 1 月 27 日,一个名为 GHOST 漏洞的 GNU C 库 (glibc) 漏洞向公众公布。 总之,该漏洞允许远程攻击者通过利用 glibc 的 GetHOST 函数(因此得名)中的缓冲区溢出漏洞来完全控制系统。 与 Shellshock 和 Heartbleed 一样,此漏洞很严重,并影响到许多服务器。
可以在使用 glibc-2.18
之前版本的 GNU C 库的 Linux 系统上利用 GHOST 漏洞。 也就是说,使用从 2.2
到 2.17
版本的 unpatched 版本的 glibc 的系统存在风险。 许多 Linux 发行版(包括但不限于以下)可能容易受到 GHOST 的攻击,应进行修补:
- CentOS 6 和 7
- Debian 7
- 红帽企业 Linux 6 和 7
- Ubuntu 10.04 和 12.04
- 生命周期结束的 Linux 发行版
强烈建议您更新并重新启动所有受影响的 Linux 服务器。 我们将向您展示如何测试您的系统是否存在漏洞,如果存在漏洞,如何更新 glibc 以修复漏洞。
检查系统漏洞
测试您的服务器是否易受 GHOST 攻击的最简单方法是检查正在使用的 glibc 版本。 我们将介绍如何在 Ubuntu、Debian、CentOS 和 RHEL 中执行此操作。
请注意,静态链接到易受攻击的 glibc 的二进制文件必须重新编译以确保安全 - 此测试不涵盖这些情况,仅涵盖系统的 GNU C 库。
Ubuntu 和 Debian
通过查找 ldd
(使用 glibc)的版本来检查 glibc 的版本,如下所示:
ldd --version
输出的第一行将包含 eglibc 的版本,即 Ubuntu 和 Debian 使用的 glibc 的变体。 例如,它可能看起来像这样(此示例中突出显示了版本):
ldd (Ubuntu EGLIBC 2.15-0ubuntu10.7) 2.15 Copyright (C) 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Roland McGrath and Ulrich Drepper.
如果 eglibc 的版本与此处列出的版本匹配或更新,则您可以免受 GHOST 漏洞的影响:
- Ubuntu 12.04 LTS:
2.15-0ubuntu10.10
- Ubuntu 10.04 LTS:
2.11.1-0ubuntu7.20
- Debian 7 LTS:
2.13-38+deb7u7
如果 eglibc 的版本 比此处列出的 旧,则您的系统易受 GHOST 攻击,应进行更新。
CentOS 和 RHEL
使用 rpm
检查 glibc 版本:
rpm -q glibc
输出应如下所示,包名后跟版本信息:
glibc-2.12-1.132.el6_5.4.x86_64
如果 glibc 的版本与此处列出的版本匹配或更新,则您可以免受 GHOST 漏洞的影响:
- CentOS 6:
glibc-2.12-1.149.el6_6.5
- CentOS 7:
glibc-2.17-55.el7_0.5
- RHEL 5:
glibc-2.5-123.el5_11.1
- RHEL 6:
glibc-2.12-1.149.el6_6.5
- RHEL 7:
glibc-2.17-55.el7_0.5
如果 glibc 的版本 比此处列出的 旧,则您的系统易受 GHOST 攻击,应进行更新。
修复漏洞
修复 GHOST 漏洞最简单的方法是使用默认的包管理器来更新 glibc 的版本。 以下小节介绍了在各种 Linux 发行版上更新 glibc,包括 Ubuntu、Debian、CentOS 和 Red Hat。
APT-GET:Ubuntu / Debian
对于当前支持的 Ubuntu 或 Debian 版本,通过 apt-get dist-upgrade
将所有软件包更新到可用的最新版本:
sudo apt-get update && sudo apt-get dist-upgrade
然后用 y
响应确认提示。
更新完成后,使用以下命令重新启动服务器:
sudo reboot
重新启动是必要的,因为 GNU C 库被许多应用程序使用,必须重新启动才能使用更新的库。
现在按照上一节(检查系统漏洞)中的说明验证您的系统不再易受攻击。
百胜:CentOS / RHEL
通过 yum
将 glibc 更新到可用的最新版本:
sudo yum update glibc
然后用 y
响应确认提示。
更新完成后,使用以下命令重新启动服务器:
sudo reboot
重新启动是必要的,因为 GNU C 库被许多应用程序使用,必须重新启动才能使用更新的库。
现在按照上一节(检查系统漏洞)中的说明验证您的系统不再易受攻击。
结论
确保在所有受影响的 Linux 服务器上更新 glibc。 此外,请务必使用最新的安全更新使您的服务器保持最新状态!