Как защитить ваш Linux-сервер от уязвимости GHOST

Вступление

27 января 2015 года широкой публике было объявлено об уязвимости библиотеки GNU C Library (glibc), называемой уязвимостью GHOST. Таким образом, эта уязвимость позволяет удаленным злоумышленникам получить полный контроль над системой, используя ошибку переполнения буфера в функциях glibc G et * HOST * (отсюда и название). Как и Shellshock и Heartbleed, эта уязвимость серьезна и затрагивает многие серверы.

Уязвимость GHOST может быть использована в системах Linux, которые используют версии библиотеки GNU C до + glibc-2.18 +. То есть, системы, которые используют * непатентованную * версию glibc от версий + 2.2 + до + 2.17 +, находятся под угрозой. Многие дистрибутивы Linux, включая, помимо прочего, следующие, потенциально уязвимы для GHOST и должны быть исправлены:

  • CentOS 6 & 7

  • Debian 7

  • Red Hat Enterprise Linux 6 и 7

  • Ubuntu 10.04 и 12.04

  • Конец Life Linux дистрибутивов

Настоятельно рекомендуется обновить и перезагрузить все уязвимые серверы Linux. Мы покажем вам, как проверить, уязвимы ли ваши системы, и, если они есть, как обновить glibc, чтобы устранить уязвимость.

Проверьте уязвимость системы

Самый простой способ проверить, уязвимы ли ваши серверы к GHOST, - это проверить используемую версию glibc. Мы расскажем, как это сделать в Ubuntu, Debian, CentOS и RHEL.

Обратите внимание, что двоичные файлы, которые статически связаны с уязвимым glibc, должны быть перекомпилированы для обеспечения безопасности - этот тест не охватывает эти случаи, только системную библиотеку GNU C.

Ubuntu & Debian

Проверьте версию glibc, посмотрев версию + ldd + (которая использует glibc) следующим образом:

ldd --version

Первая строка вывода будет содержать версию eglibc, вариант glibc, который используют Ubuntu и Debian. Например, это может выглядеть так (версия выделена в этом примере):

ldd (Ubuntu EGLIBC ) 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

Проверьте версию glibc с помощью + rpm +:

rpm -q glibc

Вывод должен выглядеть следующим образом, с именем пакета и информацией о версии:

glibc-.el6_5.4.x86_64

Если версия glibc совпадает или более поздняя, ​​чем приведенные здесь, вы защищены от уязвимости GHOST:

  • CentOS 6: + glibc-.el6_6.5 +

  • CentOS 7: + glibc-.el7_0.5 +

  • RHEL 5: + glibc-.el5_11.1 +

  • RHEL 6: + glibc-.el6_6.5 +

  • RHEL 7: + glibc-.el7_0.5 +

Если версия glibc * старше * перечисленных здесь, ваша система уязвима для GHOST и должна быть обновлена.

Исправить уязвимость

Самый простой способ исправить уязвимость GHOST - использовать менеджер пакетов по умолчанию для обновления версии glibc. В следующих подразделах рассматривается обновление glibc в различных дистрибутивах Linux, включая 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 используется многими приложениями, которые необходимо перезапустить, чтобы использовать обновленную библиотеку.

Теперь убедитесь, что ваша система больше не уязвима, следуя инструкциям в предыдущем разделе (Проверка уязвимости системы).

YUM: CentOS / RHEL

Обновите glibc до последней версии, доступной через + yum +:

sudo yum update glibc

Затем ответьте на запрос подтверждения с помощью + y +.

Когда обновление будет завершено, перезагрузите сервер с помощью этой команды:

sudo reboot

Перезагрузка необходима, поскольку библиотека GNU C используется многими приложениями, которые необходимо перезапустить, чтобы использовать обновленную библиотеку.

Теперь убедитесь, что ваша система больше не уязвима, следуя инструкциям в предыдущем разделе (Проверка уязвимости системы).

Заключение

Обязательно обновите glibc на всех ваших затронутых серверах Linux. Кроме того, убедитесь, что ваши серверы обновлены до последних обновлений безопасности!