由于GHOST,在RHEL4上升级glibc时没有成功

由于最近的GHOST漏洞,我试图在我们的RHEL4上升级glibc版本。

我试过的命令是: rpm -Uvh glibc-2.3.4-2.57.x86_64.rpm

结果是: [root@rhel4-test ~]# rpm -Uvh glibc-2.3.4-2.57.i686.rpm warning: glibc-2.3.4-2.57.i686.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%] package glibc-2.3.4-2.57 is already installed

虽然版本匹配,但RedHat支持网站上的更新日志看起来很旧。

有没有人设法升级RHEL4的GHOST(CVE-2015-0235)漏洞?

RHEL 4是红帽称之为延长生命阶段的产品 。

对于延长生命阶段的产品版本,红帽将提供有限的持续技术支持。 在这个阶段没有安全修复 ,缺陷修复,硬件启用或根本原因分析,只有现有的安装提供支持。

您可以购买扩展生命周期支持(ELS)订阅插件以扩展支持。

在红帽企业Linux 4和5的产品生命周期的扩展生命周期中可用的扩展生命周期支持附加产品提供了关键影响的安全修补程序和选定的紧急优先级错误修复程序,可用于最新版本在生产阶段3结束后,在红帽企业Linux的特定主版本中公布的子集。

如果你有一个ELS订阅,那么有一个更新作为RHSA-2015:0101-1 。

您的RHEL 4系统需要在RHN门户或您的Satellite服务器上订阅正确的频道,然后运行up2date -u glibc

萨沙几乎是正确的,因为我不能评论我会张贴这个作为一个独立的答案。

忽略依赖性错误是一个非常糟糕的想法™。 在这种情况下也是不必要的,因为有一个更新版本的nscd与glibc一起使用。

补丁glibc软件包确实可以从甲骨文,我已经证实,安装他们补丁的GHOST漏洞。 我build议下载与修补过的glibc相关的所有软件包,然后使用RPM更新,仅升级已安装在系统上的软件包。

对于32位:

 wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/i386/getPackage/glibc-2.3.4-2.57.0.1.el4.1.i386.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/i386/getPackage/glibc-2.3.4-2.57.0.1.el4.1.i686.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/i386/getPackage/glibc-common-2.3.4-2.57.0.1.el4.1.i386.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/i386/getPackage/glibc-devel-2.3.4-2.57.0.1.el4.1.i386.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/i386/getPackage/glibc-headers-2.3.4-2.57.0.1.el4.1.i386.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/i386/getPackage/glibc-profile-2.3.4-2.57.0.1.el4.1.i386.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/i386/getPackage/glibc-utils-2.3.4-2.57.0.1.el4.1.i386.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/i386/getPackage/nscd-2.3.4-2.57.0.1.el4.1.i386.rpm sudo rpm -Fvh *.rpm 

对于64位:

 wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/glibc-2.3.4-2.57.0.1.el4.1.i686.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/glibc-2.3.4-2.57.0.1.el4.1.x86_64.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/glibc-common-2.3.4-2.57.0.1.el4.1.x86_64.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/glibc-devel-2.3.4-2.57.0.1.el4.1.x86_64.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/glibc-headers-2.3.4-2.57.0.1.el4.1.x86_64.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/glibc-profile-2.3.4-2.57.0.1.el4.1.x86_64.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/glibc-utils-2.3.4-2.57.0.1.el4.1.x86_64.rpm wget http://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/nscd-2.3.4-2.57.0.1.el4.1.x86_64.rpm sudo rpm -Fvh *.rpm 

之后,重新启动任何正在运行的使用glibc的服务。 您可以通过运行lsof | grep libc | awk '{print $1}' | sort | uniq来获得这些列表 lsof | grep libc | awk '{print $1}' | sort | uniq lsof | grep libc | awk '{print $1}' | sort | uniq 。 根据您的情况,重新启动整个服务器可能更容易。

如果您没有订阅RHEL,Oracle很乐意为您的旧RH4版本发布更新的软件包。

对于这两个(i386和X86_64)系统做:

 mkdir glibc2015 cd glibc2015 

对于i386系统(请注意,我必须用h ** preplacehttp以避免垃圾邮件filter):

 wget h**p://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/i386/getPackage/glibc-2.3.4-2.57.0.1.el4.1.i686.rpm wget h**p://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/i386/getPackage/glibc-common-2.3.4-2.57.0.1.el4.1.i386.rpm wget h**p://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/i386/getPackage/glibc-devel-2.3.4-2.57.0.1.el4.1.i386.rpm wget h**p://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/i386/getPackage/glibc-headers-2.3.4-2.57.0.1.el4.1.i386.rpm 

对于X86_64系统来说:

 wget h**p://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/glibc-2.3.4-2.57.0.1.el4.1.i686.rpm wget h**p://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/glibc-2.3.4-2.57.0.1.el4.1.x86_64.rpm wget h**p://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/glibc-common-2.3.4-2.57.0.1.el4.1.x86_64.rpm wget h**p://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/glibc-common-2.3.4-2.57.x86_64.rpm wget h**p://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/glibc-devel-2.3.4-2.57.0.1.el4.1.x86_64.rpm wget h**p://public-yum.oracle.com/repo/EnterpriseLinux/EL4/latest/x86_64/getPackage/glibc-headers-2.3.4-2.57.0.1.el4.1.x86_64.rpm 

对于所有系统:

 rpm -Uvh glibc*rpm 

如果你根据glibc得到关于nscd的错误,那么可以这样做:

 rpm -Uvh glibc*rpm --nodeps 

请记住在更新后重新启动所有networking感知服务。 如果您不确定哪些服务,那么重启服务器可能并不会受到影响。

有一个补丁,RPM应该是glibc-2.3.4-2.57.el4.2.i686.rpm
请参阅: https : //rhn.redhat.com/errata/RHSA-2015-0101.html

过去,我发现使用Oracle Linux版本中的源代码构buildRHEL4软件包是可行的。 https://oss.oracle.com/el4/SRPMS-updates/?C=M;O=D以防万一你不能让RHN工作。 您可能需要等一会儿(几天)才能显示新的src.rpm。

我在http://users.axess.com/rickm/glibc为el4镜像了RPM。

注:我只是在巴西的一个镜像他们。 完整的源文件和spec文件是可用的,如果你不信任他们。

在CentOS 4.6和4.9上testing得如此之好

重新启动干净,并报告不易受攻击。

我运行的大多数服务器并不实际运行nscd。

ps ax | grep nscd

或者chkconfig –list nscd

如果这两个表明它没有运行,那么做一个yum删除nscd(和nss_ldap)然后rpm -Uv glibc- *是安全的。

我只是一面镜子,我没有创buildRPMs。

编辑:我只是看了,Oracle Linux确实今天更新了他们的回购。 最好换用他们的。 看到上面的post在哪里得到它。

问候,

干草堆