Security

由於 GHOST,嘗試在 RHEL4 上升級 glibc 時沒有成功

  • February 9, 2015

由於最近的 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 支持站點上的更改日誌似乎很舊。

是否有人設法針對 GHOST (CVE-2015-0235) 漏洞升級 RHEL4?

RHEL 4 處於 Red Hat 所謂的延長壽命階段

…對於處於延長壽命階段的產品版本,紅帽將提供有限的持續技術支持。在此階段將不提供安全修復、錯誤修復、硬體啟用或根本原因分析,並且僅對現有安裝提供支持。

您可以購買延長生命週期支持 (ELS) 訂閱外掛以獲得延長支持。

在 Red Hat Enterprise Linux 4 和 5 的產品生命週期的延長生命階段可用,延長生命週期支持附加組件可提供具有重大影響的安全修復程序和選定的緊急優先級錯誤修復程序,這些修復程序可用且符合最新版本在生產 3 階段結束後,在特定的 Red Hat Enterprise Linux 主要版本中發布的軟體包子集。

如果您訂閱了 ELS,則可以使用RHSA-2015:0101-1的更新。

您的 RHEL 4 系統需要在 RHN 門戶或 Satellite 伺服器中訂閱正確的頻道,然後您才能執行up2date -u glibc.

Sasha 幾乎是對的,由於我無法發表評論,我將把它作為一個獨立的答案發布。

忽略依賴錯誤是一個非常糟糕的主意™。在這種情況下也沒有必要,因為有更新版本的 nscd 與 glibc 一起使用。

修補過的 glibc 包確實可以從 Oracle 獲得,而且我已經確認安裝它們可以修補 GHOST 漏洞。我建議下載所有與打過更新檔的 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。根據您的情況,簡單地重新啟動整個伺服器可能更容易。

引用自:https://serverfault.com/questions/663385