VxRail: устранение уязвимости Apache Log4Shell в диспетчере (CVE-2021-44228, CVE-2021-45046)

Сводка: В этой статье описывается сценарий, который можно запустить на VxRail Manager для устранения уязвимости Apache Log4Shell, описанной в CVE-2021-44228, CVE-2021-45046 и CVE-2021-4104 (статья Dell DSN-2021-007, статья VMware VMSA-2021-0028). ...

Данная статья применяется к Данная статья не применяется к Эта статья не привязана к какому-либо конкретному продукту. В этой статье указаны не все версии продуктов.

Инструкции

Apache Software Foundation опубликовала информацию о критической проблеме уязвимости библиотеки Apache Log4j, делающей возможным удаленное выполнение кода, которая известна как Log4Shell в справочной базе данных GitHub (также подробно описана в CVE-2021-44228CVE-2021-45046 и CVE-2021-4104). VxRail Manager подвержен проблеме, описанной в данной уязвимости.Примечание.
 

Сообщалось о двух дополнительных CVE, CVE-2021-45046 и CVE-2021-4104, что указывает на то, что первоначальная рекомендация по устранению проблемы, описанной в CVE-2021-44228 (Log4j 2.x), не является окончательным исправлением.Дополнительные сведения об этих CVE см. в следующих статьях:


Дополнительные сведения об этих CVE см. в следующих статьях:

 

ПРИМЕЧАНИЕ: Сценарий, описанный в этой статье, обновлен до версии 1.1.2, которая включает в себя меры, рекомендованные для устранения всех трех CVE: CVE-2021-44228, CVE-2021-45046 и CVE-2021-4104.


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

Если вы использовали предыдущие сценарии, которые были предоставлены в этой статье, скачайте последний сценарий (1.1.2) и запустите его в VxRail Manager, чтобы убедиться в наличии полного исправления.
 

Требования и охват

В этой статье рассматриваются следующие шаги по исправлению.

  • Эта статья актуальна для VxRail Manager в выпусках VxRail 4.5.x, 4.7.x и 7.0.x, а также для VxRail Manager в выпусках VCF 3.x и 4.x.
  • Сценарий и действия по исправлению, представленные здесь, позволяют устранить уязвимость только в виртуальной машине устройства VxRail Manager.
  • Для других компонентов за пределами VxRail Manager, таких как vCenter Server Appliance (vCSA), NSX и т. д., исправление необходимо выполнять отдельно, они не включены в этот сценарий.
  • Кроме того, сценарий не исправляет приложения или службы, работающие внутри виртуальных машин, которые могут быть подвержены этой уязвимости. Dell EMC рекомендует всем заказчикам свериться обратиться к поставщикам приложений или программного обеспечения по поводу служб, работающих на виртуальных машинах, чтобы убедиться, что они не затронуты.

Ссылки на затронутые продукты VMware и возможные временные решения подробно описаны в следующей статье VMware VMSA:

VMware предоставляет сценарий для автоматизации восстановления в vCenter Server Appliance в следующей статье:

К этой статье прикреплен файл fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip который содержит сценарий только для VxRail Manager.
 

Выпуски VxRail с включенным исправлением

Эта проблема устранена в следующих выпусках ПО VxRail.

  • Пакет ПО VxRail, выпуск 7.0.320
  • ПО устройства VxRail, выпуск 4.7.541
  • ПО устройства VxRail, выпуск 4.5.471

Рекомендуется модернизировать программное обеспечение VxRail до выпусков, которые содержат исправление.
Сценарий рекомендуется для пользователей, которые не могут выполнить модернизацию немедленно.Примечание.

Если ваш кластер VxRail 7.0.xxx управляется vCenter под управлением заказчика, дополнительные рекомендации можно найти в следующей статье.

 

 

Дополнительные замечания по устаревшим сценариям исправления:

Если ранее вы запускали более ранний сценарий обновления (более ранний, чем fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip) в VxRail Manager обратите внимание на следующее:

    • Этот сценарий создает резервные копии исходных файлов jar с помощью ".bak" и сохраняет их в исходных каталогах библиотеки.
    • Эти .bak После модернизации до VxRail 8.0.380 или более поздней версии файлы могут вызвать проблемы с запуском службы, так как они будут по ошибке загружены вместе с активными файлами в тот же каталог.

Выполните следующие действия, чтобы переместить устаревшие .bak файлов и обеспечить нормальную работу системы:

  1. Проверка наличия существующих файлов .bak
    • find /mystic/connectors -name "log4j-core*.bak"
  2. Если .bak файлы найдены, переместите их в безопасное место.
    • mkdir -p /tmp/log4jbak
    • find /mystic/connectors -name "log4j-core*.bak" -type f -exec mv {} /tmp/log4jbak/ \;
  3. Check.bak файлы, не существующие в /mystic/connectors , а затем перезапустите службу:
    • Сценарий A. Если вы ЕЩЕ не выполнили модернизацию LCM:
      • Перейдите к модернизации LCM. В процессе обновления все службы будут автоматически перезапущены.
    • Сценарий Б. Если вы УЖЕ завершили модернизацию LCM и столкнулись со сбоем подключаемого модуля VC:
      • Перезапустите VxRM (VxRail Manager).
        • systemctl restart vmware-marvin
        • service runjars restart

Шаги по устранению проблемы.

Чтобы устранить проблему, выполните следующие действия.

  1. Скачайте файл fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip , прикрепленный к этой статье.
  2. Загрузите файл .zip Загрузите файл .zip в VxRail Manager в качестве пользователя mystic через SCP (WinSCP — пример клиента SCP, который можно использовать).
  3. Войдите в консоль виртуальной машины VxRail Manager или подключитесь по SSH в качестве пользователя mystic. 
  4. Измените каталог, в который был загружен файл .zip и извлеките его с помощью команды распаковки:
    mystic@vxrm:~> unzip fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip
    Archive:  fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip
      inflating: fixlog4j-CVE-2021-44228-CVE-2021-45046.sh
  5. Сделайте сценарий исполняемым с помощью команды chmod. chmod :
    mystic@vxrm:~> chmod +x fixlog4j-CVE-2021-44228-CVE-2021-45046.sh
  6. Войдите в систему как привилегированный пользователь VxRail Manager с помощью команды su. su :
    mystic@vxrm:~> su -
    Password:
  7. Убедитесь, что вы находитесь в том же каталоге, в котором распакован пакет сценария:
    vxrm:~ # cd /home/mystic
    vxrm:/home/mystic #
  8. Запустите сценарий:
    vxrm:/home/mystic # ./fixlog4j-CVE-2021-44228-CVE-2021-45046.sh

    Пример выходных данных сценария:

    Stop MARVIN and runjars service before patching the system
    
    /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar is affected by CVE-2021-44228 and CVE-2021-45046, need to apply patch
    patching /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar
    Successfully patched /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar
    
    /mystic/connectors/cluster/lib/log4j-core-2.13.0.jar is affected by CVE-2021-44228 and CVE-2021-45046, need to apply patch
    patching /mystic/connectors/cluster/lib/log4j-core-2.13.0.jar
    Successfully patched /mystic/connectors/cluster/lib/log4j-core-2.13.0.jar
    
    To ensure there is no reload behavior, we need to pack the .war file as well.
    looks like /usr/lib/vmware-marvin/marvind/webapps/ROOT.war contains the bad log4j-core library WEB-INF/lib/log4j-core-2.13.0.jar
    Archive:  /usr/lib/vmware-marvin/marvind/webapps/ROOT.war
      inflating: WEB-INF/lib/log4j-core-2.13.0.jar
    Patching WEB-INF/lib/log4j-core-2.13.0.jar in /usr/lib/vmware-marvin/marvind/webapps/ROOT.war
    Repack /usr/lib/vmware-marvin/marvind/webapps/ROOT.war
    updating: WEB-INF/lib/log4j-core-2.13.0.jar (deflated 11%)
    Clean up the ROOT folder...
    
    Always apply a reboot of MARVIN and runjars services
    restart MARVIN
    MARVIN restart successfully
    restart runjars
    runjars restart successfully

 

ПРИМЕЧАНИЕ: Восстановление всех файлов и запуск служб VxRail Manager может занять от 5 до 10 минут.


Восстановление всех файлов и запуск служб VxRail Manager может занять от 5 до 10 минут.Подождите не менее 10 минут, если вы планируете выполнить любой из описанных ниже этапов проверки вручную.

Существует несколько различных версий библиотеки lib4j-core в зависимости от выпуска VxRail Manager.

Сценарий разработан для правильного устранения проблем VxRail Manager независимо от версии lib4j-core, которая включена в эту версию VxRail Manager.

В приведенных выше выходных данных при запуске сценария может отображаться обновление различных файлов в зависимости от включенной версии lib4j-core.Примечание.
 

Если вы выполните модернизацию до сборки VxRail, которая не содержит исправления, этот сценарий необходимо будет запустить повторно, чтобы повторно применить исправление.

 

Для полного устранения последствий для VxRail требуется применить временное решение для vCenter Server Appliance (vCSA) от VMware, а также исправление в VxRail Manager, которое выполняется с помощью этого сценария.

Ссылки на статьи VMware, в которых описаны обходные пути для продуктов и исправления, можно найти в VxRail: информация о Log4Shell (CVE-2021-44228/CVE-2021-45046/CVE-2021-4104) и средах VxRail
 

Этапы проверки

Для устранения проблемы сценарий удаляет JndiLookup.class файл из каталога lib4j-core-* jar Файлы.

jar-файл — это формат упаковки Java для включения нескольких классов, метаданных и других java-программ в один файл. По своей концепции он похож на .zip и основан на файле .zip format: Выполнение сценария проверяет, успешно ли обновлен каждый jar-файл.

Чтобы вручную убедиться, что сценарий сработал, можно проверить, log4j-core-* jar Файлы, присутствующие в VxRail Manager, по-прежнему содержат затронутые JndiLookup.class . Если все сработало, то не должно отобразиться выходные данные приведенных ниже команд, которые подтверждают затронутость JndiLookup.class Файла больше нет в JAR-файле.
 

ПРИМЕЧАНИЕ: Проблема с JndiLookup.class файл исправлен в log4j-core-2.17.1.jar и более поздних версий, поэтому при попытке выполнить шаги проверки для этих файлов jar отображается JndiLookup.class Файл присутствует, но проблема не устранена. Можно не обращать внимания на то, что JndiLookup.class файл в исправленных версиях log4j-core.

 Проверка с помощью автоматизированной команды 

Следующую команду можно выполнить в VxRail Manager для сканирования всех log4j-core-xxxx.jar в VxRail Manager и проверьте, содержат ли они затронутые JndiLookup.class .

vxrm:/home/mystic # for myfile in `find / -name log4j-core*jar -print |grep -v log4jbak`; do echo $myfile; unzip -l $myfile | grep JndiLookup.class; done

Пример выходных данных (обновленная система):

/mystic/connectors/eservice/lib/log4j-core-2.13.0.jar
/mystic/connectors/cluster/lib/log4j-core-2.13.0.jar
/usr/lib/vmware-marvin/marvind/webapps/ROOT/WEB-INF/lib/log4j-core-2.13.0.jar

В приведенном выше примере JndiLookup.class Файла нет в JAR, поэтому скрипт сработал, и проверка прошла успешно.

Ниже приведен пример выходных данных затронутой системы, которую необходимо обновить:

/mystic/connectors/eservice/lib/log4j-core-2.13.3.jar
     2892  2020-05-10 12:08   org/apache/logging/log4j/core/lookup/JndiLookup.class
/mystic/connectors/cluster/lib/log4j-core-2.13.3.jar
     2892  2020-05-10 12:08   org/apache/logging/log4j/core/lookup/JndiLookup.class
/usr/lib/vmware-marvin/marvind/webapps/ROOT/WEB-INF/lib/log4j-core-2.13.3.jar
     2892  2020-05-10 12:08   org/apache/logging/log4j/core/lookup/JndiLookup.class

В приведенном выше примере простой текст JndiLookup.class по-прежнему присутствует в файле log4j-core-2.13.3.jar jar-файл.

Ниже приведен пример выходных данных системы с исправленным или обновленным log4j-core библиотека, где видя JndiLookup.class файл можно игнорировать:

/usr/lib/vmware-marvin/marvind/webapps/ROOT/WEB-INF/lib/log4j-core-2.17.1.jar
     3158  2021-12-27 17:30   org/apache/logging/log4j/core/lookup/JndiLookup.class
/mystic/connectors/eservice/lib/log4j-core-2.17.1.jar
     3158  2021-12-27 17:30   org/apache/logging/log4j/core/lookup/JndiLookup.class
/mystic/connectors/cluster/lib/log4j-core-2.17.1.jar
     3158  2021-12-27 17:30   org/apache/logging/log4j/core/lookup/JndiLookup.class

В приведенном выше примере вы можете увидеть JndiLookup.class в выходных данных, но исправление проблемы находится в log4j-core-2.17.1.jar.

 

Ручная проверка каждого файла

Для быстрой идентификации любых log4j-core-xxxx.jar файлов, присутствующих в VxRail Manager, выполните следующую команду (это также форматирует выходные данные в полезную команду):

vxrm:/home/mystic # find / -name log4j-core*jar -print |grep -v log4jbak | awk '{print("unzip -l " $1 "|grep JndiLookup.class")}'


Пример вывода:

unzip -l /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar|grep JndiLookup.class
unzip -l /mystic/connectors/cluster/lib/log4j-core-2.13.0.jar|grep JndiLookup.class
unzip -l /usr/lib/vmware-marvin/marvind/webapps/ROOT/WEB-INF/lib/log4j-core-2.13.0.jar|grep JndiLookup.class


Из приведенного выше примера выходных данных выполните каждую команду вручную, чтобы проверить, обнаруживают ли затронутые JndiLookup.class .

vxrm:/home/mystic # unzip -l /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar|grep JndiLookup.class
vxrm:/home/mystic #

vxrm:/home/mystic # unzip -l /mystic/connectors/cluster/lib/log4j-core-2.13.0.jar|grep JndiLookup.class
vxrm:/home/mystic #

vxrm:/home/mystic # unzip -l /usr/lib/vmware-marvin/marvind/webapps/ROOT/WEB-INF/lib/log4j-core-2.13.0.jar|grep JndiLookup.class
vxrm:/home/mystic #


В приведенном выше примере метод JndiLookup.class Файла нет в JAR, поэтому скрипт сработал, и проверка прошла успешно.
 

Имена файлов jar, указанные в примере выходных данных выше, могут отличаться в зависимости от версии VxRail Manager. Используйте пример выходных данных, полученный с помощью команды find выше. 

Пример выходных данных файла jar, который все еще подвержен влиянию и содержит JndiLookup.class .
vxrm:/home/mystic # unzip -l /mystic/connectors/cluster/lib/log4j-core-2.4.1.jar |grep JndiLookup.class
2576 2015-10-08 17:50 org/apache/logging/log4j/core/lookup/JndiLookup.class


В приведенном выше примере простой текст JndiLookup.class по-прежнему присутствует в файле log4j-core-2.4.1.jar jar-файл.

Еще одно напоминание о том, что для полного устранения последствий для VxRail требуется применить временное решение для vCenter Server Appliance (vCSA) от VMware, а также исправление в VxRail Manager, которое выполняется с помощью этого сценария.

Затронутые продукты

VxRail, VxRail Appliance Family, VxRail Appliance Series, VxRail Software
Свойства статьи
Номер статьи: 000194458
Тип статьи: How To
Последнее изменение: 27 Jul 2026
Версия:  21
Получите ответы на свои вопросы от других пользователей Dell
Услуги технической поддержки
Проверьте, распространяются ли на ваше устройство услуги технической поддержки.