Защита сервера Linux от уязвимости GHOST

27 января 2015 года была обнаружена уязвимость в библиотеке GNU C Library (или glibc) по имени GHOST. Вкратце, уязвимость дает удаленному злоумышленнику полный контроль над системой, используя переполнение буфера (англ. buffer overflow) в функции GetHOST (отсюда и название уязвимости). Как и недавно обнаруженные Shellshock и Heartbleed, эта уязвимость представляет серьезную угрозу и может затронуть многие серверы.

Злоумышленник может воспользоваться уязвимостью GHOST в системах Linux, использующих версии библиотеки glibc до glibc-2.18. То есть, системы, которые используют версии с glibc-2.2 по glibc-2.17,  находятся в опасности. Следующие дистрибутивы считаются потенциально уязвимыми для GHOST и нуждаются в исправлении (включая, но не ограничиваясь):

  • CentOS 6 и 7
  • Debian 7
  • Red Hat Enterprise Linux 6 и 7
  • Ubuntu 10.04 и 12.04
  • последние дистрибутивы Linux.

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

Проверка системы

Самый простой способ проверить сервер на уязвимость GHOST – это узнать используемую версию библиотеки glibc. Смотрите раздел, соответствующий вашему серверу.

Системы Ubuntu и Debian

Чтобы узнать текущую версию библиотеки glibc, нужно проверить версию утилиты ldd (которая использует glibc):

ldd --version

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

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 совпадает с указанной в примере или вышла еще позже, значит, сервер в безопасности. Безопасные версии библиотеки в Ubuntu и Debian:

  • 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. Обновите библиотеку eglibc до одной из указанных безопасных версий.

Системы CentOS и RHEL

Чтобы узнать версию glibc, проверьте версию утилиты ldd (которая использует glibc):

ldd --version

Нужная информация находится в первой строке вывода, который имеет примерно такой вид (версия glibc выделена):

ldd (GNU libc) 2.17
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.

Если текущая версия библиотеки входит в диапазон 2.2–2.17, система в опасности и нуждается в срочном обновлении. Чтобы устранить уязвимость GHOST, обновите библиотеку glibc до версии 2.18 и выше.

Устранение уязвимости GHOST

Проще всего устранить уязвимость GHOST при помощи стандартного менеджера пакетов системы. Используйте его для обновления glibc. Следующие подразделы описывают способы обновления библиотеки в различных дистрибутивах Linux.

Ubuntu /Debian

Стандартный менеджер пакетов систем Ubuntu/Debian называется apt-get. С его помощью можно обновить все пакеты системы до последних доступных версий. Для этого используйте apt-get dist-upgrade:

sudo apt-get update && sudo apt-get dist-upgrade

и подтвердите запуск команды, нажав y.

После завершения обновления перезапустите сервер:

sudo reboot

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

Повторите проверку системы на уязвимость, описанную в предыдущем разделе.

CentOS/RHEL

Примечание: на момент написания статьи обновленная версия glibc для CentOS не доступна через yum.

Чтобы обновить glibc до последней доступной версии, используйте стандартный менеджер пакетов yum:

sudo yum update glibc

Подтвердите команду, нажав y.

После обновления перезапустите сервер:

sudo reboot

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

Снова выполните описанную ранее процедуру проверки системы на уязвимость GHOST.

Заключение

Обязательно обновите glibc на всех уязвимых серверах Linux . также не забывайте постоянно обновлять пакеты системы до последних доступных версий. Это значительно повысит уровень безопасности сервера Linux.

Tags: , , , , , , , , , ,

Добавить комментарий