
Простой плейбук Ansible для исправления уязвимости CVE-2016-6662 на серверах MySQL
Простой playbook Ansible для исправления уязвимости CVE-2016-6662 на серверах MySQL.
Вкратце, он попытается записать вредоносный .so в файловую систему и изменить вашу конфигурацию, чтобы загрузить его при следующем перезапуске службы.
Этот патч не предотвратит саму атаку, но он изменяет mysqld_safe, чтобы .so файлы загружались только из стандартных системных местоположений, куда mysqld не может производить запись. Он также проверит существование и права доступа различных файлов конфигурации по умолчанию, которые может использовать mysqld, чтобы предотвратить создание или изменение вредоносным кодом.
Полная информация об уязвимости доступна по адресу https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6662 ; Кенни Грип из Percona опубликовал краткое, но отличное объяснение по адресу https://www.percona.com/blog/2016/09/12/database-affected-cve-2016-6662/ .
Этот playbook попытается применить пользовательский патч, который является смесью патча Percona из https://github.com/percona/percona-server/commit/c14be53e029442f576cced1fb8ff96b58e89f2e0#diff-144aa2f11374843c969d96b7b84247eaR261 и патча MySQL из https://github.com/mysql/mysql-server/blob/5.7/scripts/mysqld\_safe.sh#L356-L364 .
Он сделает следующее:
Я проверил это почти на сотне установок — в основном Debian, пару RedHat и Suse.
Эта новая версия была применена на почти 200 хостах без видимых проблем.
Я наблюдал сбой patch на установках 5.1, так как скрипт mysql_safe не содержит точек привязки, но эта версия (и более старые) также не уязвимы, так что это не проблема.
Обратите внимание, что значение changed= 0 или 2 означает, что патч не был выполнен (2 если patch был установлен и удален); 1 или 3 означает, что патч был применен. Другие значения неожиданны и должны быть исследованы :-)
С дополнительной задачей это уже не так однозначно; вам придется на самом деле прочитать вывод.
Спасибо Кенни Грипу, Percona и MySQL за четкое объяснение и простое обходное решение; особая благодарность Патрику Форсбергу за обнаружение недостатка в исходном патче.
/vegi