介绍
2015年1月27日,向公众公布了GNU C库(glibc)漏洞(简称GHOST漏洞)。 综上所述,该漏洞允许远程攻击者通过利用的glibc的G等HOST功能的一个缓冲区溢出漏洞(因此而得名)采取了完全控制系统。 像Shellshock和Heartbleed,这个漏洞是严重的,并影响许多服务器。
Ghost漏洞可以在之前使用GNU C库的版本的Linux系统中被利用glibc-2.18
。 也就是说,使用的glibc的版本,从一个未打补丁的系统版本2.2
到2.17
的风险。 许多Linux发行版,包括但不限于以下版本可能容易受到GHOST的影响,应该修补:
- CentOS 6&7
- Debian 7
- 红帽企业Linux 6和7
- Ubuntu 10.04和12.04
- End of Life Linux Distributions
强烈建议您更新和重新引导所有受影响的Linux服务器。 我们将向您展示如何测试您的系统是否易受攻击,如果是的话,如何更新glibc以修复漏洞。
检查系统漏洞
测试您的服务器是否容易受到GHOST攻击的最简单方法是检查正在使用的glibc的版本。 我们将介绍如何在Ubuntu,Debian,CentOS和RHEL中执行此操作。
请注意,静态链接到易受攻击的glibc的二进制文件必须重新编译,以确保安全 - 此测试不涵盖这些情况,只有系统的GNU C库。
Ubuntu和Debian
检查通过查找该版本的glibc版本ldd
(它使用的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的LTS 12.04:
2.15-0ubuntu10.10
- Ubuntu的10.04 LTS:
2.11.1-0ubuntu7.20
- Debian 7 LTS:
2.13-38+deb7u7
如果eglibc的版本比这里列出的年纪大了 ,你的系统很容易受到GHOST,应该更新。
CentOS和RHEL
请与glibc版本rpm
:
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发行版(包括Ubuntu,Debian,CentOS和Red Hat)上更新glibc。
APT-GET:Ubuntu / Debian
对于Ubuntu或Debian的当前支持版本,更新所有软件包通过可用的最新版本apt-get dist-upgrade
:
sudo apt-get update && sudo apt-get dist-upgrade
然后与响应确认提示y
。
更新完成后,使用以下命令重新启动服务器:
sudo reboot
需要重新启动,因为许多应用程序使用GNU C库,必须重新启动才能使用更新的库。
现在,请按照上一节(检查系统漏洞)中的说明验证您的系统是否不再受到攻击。
YUM:CentOS / RHEL
更新的glibc通过可用的最新版本yum
:
sudo yum update glibc
然后与响应确认提示y
。
更新完成后,使用以下命令重新启动服务器:
sudo reboot
需要重新启动,因为许多应用程序使用GNU C库,必须重新启动才能使用更新的库。
现在,请按照上一节(检查系统漏洞)中的说明验证您的系统是否不再受到攻击。
结论
确保更新所有受影响的Linux服务器上的glibc。 此外,请务必使您的服务器保持最新的安全更新!