Назад | Перейти на главную страницу

Нет успеха при попытке обновить glibc на RHEL4 из-за GHOST

Из-за недавней уязвимости GHOST я пытался обновить версию glibc на нашем RHEL4.

Я пытался использовать следующую команду: 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 - это то, что Red Hat называет Фаза продленного срока службы.

... Для версий продуктов на этапе расширенного срока службы Red Hat будет предоставлять ограниченную текущую техническую поддержку. Никаких исправлений безопасности, исправления ошибок, включение оборудования или анализ первопричин будут доступны на этом этапе, а поддержка будет предоставляться только для существующих установок.

Вы можете купить надстройку подписки на расширенную поддержку жизненного цикла (ELS) для расширенной поддержки.

Доступный на этапе расширенного жизненного цикла продукта для Red Hat Enterprise Linux 4 и 5, Надстройка поддержки расширенного жизненного цикла обеспечивает критические исправления безопасности и избранные исправления ошибок с срочным приоритетом, которые доступны и соответствуют последним версиям опубликованного подмножества пакетов в конкретном основном выпуске Red Hat Enterprise Linux после завершения фазы Production 3.

Если у вас есть подписка на ELS, значит, обновление доступно как RHSA-2015: 0101-1.

Ваша система RHEL 4 должна подписаться на правильные каналы на портале RHN или на вашем сервере Satellite, а затем вы запустите up2date -u glibc.

У Саши это почти правильно, и, поскольку я не могу комментировать, я отправлю это как отдельный ответ.

Игнорирование ошибок зависимости - очень плохая идея ™. В этом случае также нет необходимости, поскольку есть обновленная версия 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. В зависимости от вашей ситуации, вероятно, проще просто перезапустить весь сервер.

Если у вас нет подписки на RHEL, Oracle любезно выпустила обновленные пакеты для вашего старого RH4.

Для обеих систем (i386 и X86_64) выполните:

mkdir glibc2015
cd glibc2015

Для системы i386 сделайте (обратите внимание, мне пришлось заменить http на h ** p, чтобы избежать спам-фильтров):

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

Если вы получаете сообщение об ошибке nscd в зависимости от glibc, это нормально:

rpm -Uvh glibc*rpm --nodeps

Не забудьте перезапустить все сетевые службы после обновления. Если вы не знаете, какие службы, возможно, не повредит просто перезапустить сервер.

Есть патч, RPM должен быть glibc-2.3.4-2.57.el4.2.i686.rpm.
Видеть: https://rhn.redhat.com/errata/RHSA-2015-0101.html

Я обнаружил, что в прошлом были жизнеспособные варианты для создания пакетов RHEL4 с использованием источника, найденного в выпусках Oracle Linux. https://oss.oracle.com/el4/SRPMS-updates/?C=M;O=D На всякий случай у вас не получится заставить RHN работать. Возможно, вам придется немного подождать (пару дней), пока не появится новый src.rpm.

У меня есть зеркальные RPM на http://users.axess.com/rickm/glibc для el4.

Примечание: я просто копирую их для кого-то из Бразилии. Полный исходный код и файл спецификации доступны, если вы им не доверяете.

Протестировано на Centos 4.6 и 4.9

Перезагрузился чисто и сообщил, что не уязвим.

На большинстве серверов, с которыми я сталкивался, на самом деле не работает nscd.

пс топор | grep nscd

Или chkconfig --list nscd

Если оба из них показывают, что он не работает, можно безопасно выполнить yum remove nscd (и nss_ldap), а затем rpm -Uv glibc- *

Я просто зеркало, РПМ не создавал.

Изменить: я только что посмотрел, и Oracle Linux действительно обновил свое репо сегодня. Лучше использовать их. См. Сообщение выше о том, где его получить.

С Уважением,

Рик