Как защититься от уязвимости Dirty COW
Несколько дней назад, а точнее 19 октября 2016 года была раскрыта 0-day уязвимость в ядре Linux, которая позволяет повышать привилегии пользователя. Баг назван "Грязная Корова" (Dirty COW), потому что основная проблема связана с тем, что запускалось так называемое состояние гонки в процессах работы подсистемы памяти ядра с механизмом copy-on-write (COW). Уязвимость существует уже давно, по крайней мере, с 2007 года с ядра версии 2.6.22, поэтому подавляющее большинство серверов находятся под угрозой.
Использование этой ошибки означает, что обычный, непривилегированный пользователь на сервере может получить доступ на запись для любого файла. Более подробную информацию можно найти на CVE-2016-5195 от , Red Hat и Debian.
К счастью, большинство основных дистрибутивов уже выпустили исправление и вы можете обновиться. Тем не менее, если вы работаете на старом сервере, вы можете следовать этой инструкции для проверки и защиты сервера от Dirty COW.
Проверка уязвимости
Ubuntu / Debian
Узнайте подвержен ли ваш сервер этому багу, проверив версию ядра.
uname -rv
Вы увидите такой вывод:
4.4.0-42-generic #62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016
Если ваша версия ядра более рання, чем в этом списке, вы в числе жертв:
- 4.8.0-26.28 для Ubuntu 16.10
- 4.4.0-45.66 для Ubuntu 16.04 LTS
- 3.13.0-100.147 для Ubuntu 14.04 LTS
- 3.2.0-113.155 для Ubuntu 12.04 LTS
- 3.16.36-1 + deb8u2 для Debian 8
- 3.2.82-1 для Debian 7
- 4.7.8-1 для Debian нестабильный (unstable)
CentOS
Если вы пользуетесь CentOS, вы можете использовать скрипт предоставленный RedHat, чтобы проверить уязвимость вашего сервера. Для этого сначала надо загрузить его:
wget https://access.redhat.com/sites/default/files/rh-cve-2016-5195_1.sh
Затем запустите его в bash.
bash rh-cve-2016-5195_1.sh
Если вы уязвимы, вы увидите такой вывод:
Your kernel is 3.10.0-327.36.1.el7.x86_64 which is vulnerable.
Red Hat recommends that you update your kernel. Alternatively, you can apply partial
mitigation described at https://access.redhat.com/security/vulnerabilities/2706661 .
[Ваше ядро 3.10.0-327.36.1.el7.x86_64 является уязвимым. Red Hat рекомендует вам обновить ядро. В качестве альтернативы, можно применить частичную миграцию, описанную в https://access.redhat.com/security/vulnerabilities/2706661]
Исправление уязвимости
К счастью, решение простое: обновление системы и перезагрузка сервера.
Ubuntu / Debian
Обновите системные пакеты с помощью apt-get.
sudo apt-get update && sudo apt-get dist-upgrade
Вам потребуется перезагрузить сервер, чтобы применить изменения.
sudo reboot
RHEL / CentOS Linux 5.x/6.x/7.x
sudo yum update
$ sudo reboot
RHEL / CentOS Linux 4.x
sudo up2date -u
$ sudo reboot
Suse Enterprise Linux или Opensuse
Чтобы применить все необходимые патчи для данной системы:
zypper patch
# reboot
Проверка
Вам нужно убедиться, что версия вашего ядра изменилась:
uname -a
$ uname -r
$ uname -mrs
Вывод
Убедитесь в том, что серверы Linux обновлены, чтобы быть защищенным от этой серьезнейшей ошибки, позволяющей любому пользователю вашего сервера повысить свои привелегии до максимального уровня.
Комментариев 0