Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

VxRail. VxRail Manager: временное решение для уязвимости Apache Log4Shell (CVE-2021-44228, CVE-2021-45046 и CVE-2021-4104)

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

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Instructions

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 см. в следующих статьях:

Примечание. Сценарий в этой статье был обновлен до версии 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 под управлением заказчика, дополнительные рекомендации можно найти в следующей статье.

 

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

Чтобы устранить проблему, выполните следующие действия.
  1. Скачайте файл fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip, прикрепленный к этой статье.
  2. Загрузите файл .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.
    mystic@vxrm:~> chmod +x fixlog4j-CVE-2021-44228-CVE-2021-45046.sh
  6. Войдите в систему как привилегированный пользователь VxRail Manager с помощью команды 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 минут.

Подождите не менее 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) и инфраструктурах VxRail.
 

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

Чтобы устранить проблему, сценарий удаляет файл JndiLookup.class из jar-файлов lib4j-core-*.

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

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

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

Следующая команда может быть выполнена в 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

Sample output (updated system):
/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


В примере выше файлы jar не содержат файл JndiLookup.class, что означает, что сценарий сработал и проверка выполнена успешно.

Ниже показан пример выходных данных для затронутой системы, которую необходимо обновить:
/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 все еще присутствует в файле jar log4j-core-2.13.3.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 #


В примере выше файл jar не содержит файл JndiLookup.class, что означает, что сценарий сработал и проверка выполнена успешно.

Примечание. Имена файлов 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 все еще содержится в файле jar log4j-core-2.4.1.jar.

 

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

Article Properties


Affected Product

VxRail, VxRail Appliance Family, VxRail Appliance Series, VxRail Software

Last Published Date

30 Aug 2022

Version

18

Article Type

How To