Закрытие уязвимости log4shell в Elasticsearch

Log4Shell - уязвимость CVE-2021-44228, обнаруженная в биб­лиоте­ке жур­налиро­вания Log4j, позволяющая выполнить произвольный код в атакуемой системе. Elasticsearch использует модуль Log4j для ведения журналов,  но прямой уязвимости выполнения произвольного кода в нем нет.

Обновление Elasticsearch до последней версии

На самом деле это самое правильное решение, помимо закрытия уязвимости, будут исправлены другие ошибки и повышена производительность. Обновление в пределах установленной ветки, не потребует каких либо действий, кроме перезапуска сервиса.

Добавление опции -Dlog4j2.formatMsgNoLookups в Elasticsearch

В настройки Elastciseach возможно добавить опцию запрещающую выполнение внешних запросов. Это не закрывает уязвимость, но предотвратит ее использование.

Для этого в файл /etc/elasticsearch/jvm.options необходимо добавить опцию (лучше всего ее добавить в секцию # log4j, что бы потом не искать):

и перезапустить elasticsearch

Удаление класса JndiLookup из библиотеки log4j

Довольно рискованный метод, позволяет закрыть уязвимость Log4Shell в Elasticsearch 5.0.0-5.6.10 и 6.0.0-6.3.2

1. Определим имя библиотеки ядра

2. Делаем резервуарную копию, на случай если Elasticsearch не запустится или возникнут ошибки в работе

3. Удаляем уязвимый класс из библиотеки

4. Перезапстить ноду Elasticsearch

Понравилась статья? Поделиться с друзьями:
Добавить комментарий