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: Solución alternativa de VxRail Manager para corregir la vulnerabilidad de Apache Log4Shell (CVE-2021-44228, CVE-2021-45046 y CVE-2021-4104)

Summary: En este artículo, se describe un script que se puede ejecutar en VxRail Manager para corregir la vulnerabilidad de Apache Log4Shell descrita en CVE-2021-44228, CVE-2021-45046 y CVE-2021-4104 (artículo de Dell DSN-2021-007, artículo de 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 publicó información acerca de un problema crítico de vulnerabilidad en la ejecución remota del código de la biblioteca Apache Log4j, que se conoce como Log4Shell según lo indicado en la base de datos de asesoría de GitHub (también se detalla en CVE-2021-44228, CVE-2021-45046 y CVE-2021-4104). VxRail Manager está expuesto al problema descrito en la vulnerabilidad.

Nota: Se informan dos CVE adicionales, CVE-2021-45046 y CVE-2021-4104, que indican que la recomendación original para corregir el problema descrito en CVE-2021-44228 (Log4j 2.x) no es una solución completa.

Para obtener más información sobre estas CVE, consulte los siguientes artículos:

Nota: El script de este artículo se actualizó a la versión 1.1.2, que incluye las correcciones recomendadas para las tres CVE, CVE-2021-44228, CVE-2021-45046 y CVE-2021-4104.

Se descubrió un problema adicional en el script anterior, lo que puede provocar que se restaure un archivo afectado en VxRail Manager a partir de un archivo del sistema. Este problema también se abordó en esta versión.

Si utilizó scripts anteriores que se proporcionaron con este artículo, descargue el script más reciente (1.1.2) y ejecútelo en VxRail Manager para asegurarse de tener la corrección completa.

 

Requisitos y alcance

El alcance de lo abarcado en los pasos de corrección en este artículo es:

  • Este artículo se aplica a VxRail Manager en las versiones 4.5.x, 4.7.x y 7.0.x de VxRail, junto con VxRail Manager en las versiones 3.x y 4.x de VCF.
  • Los pasos de corrección y el script proporcionados corrigen la vulnerabilidad solo en la VM del dispositivo VxRail Manager.
  • Otros componentes fuera de VxRail Manager, como vCenter Server Appliance (vCSA), NSX, etc., se deben mitigar por separado y no están en este script.
  • Además, el script no corrige las aplicaciones ni los servicios en ejecución en las VM que pueden estar expuestas a la vulnerabilidad. Dell EMC recomienda que todos los clientes verifiquen con sus proveedores de aplicaciones o software los servicios en ejecución en máquinas virtuales para asegurarse de que estos no se vean afectados.

Los enlaces a los productos de VMware afectados y las posibles soluciones alternativas se detallan en el siguiente artículo de VMSA de VMware:

VMware proporciona un script para automatizar la corrección en vCenter Server Appliance en el siguiente artículo:

Se adjunta a este artículo el archivo fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip, el cual contiene el script solo para VxRail Manager.
 

Versiones de VxRail con corrección incluida

Este problema se resolvió en las siguientes versiones del software VxRail:

  • Versión 7.0.320 del software del paquete de VxRail
  • Versión 4.7.541 del software de VxRail Appliance
  • Versión 4.5.471 del software de VxRail Appliance

Se recomienda actualizar a versiones del software de VxRail que incluyan la corrección.
Se recomienda el script a los clientes que no puedan realizar la actualización de inmediato.

Nota: Si su clúster de VxRail 7.0.xxx es administrado por un vCenter administrado por el cliente, consulte el siguiente artículo para conocer las consideraciones adicionales que es posible que apliquen:

 

Pasos para la corrección

La corrección para este problema consiste en realizar los siguientes pasos:
  1. Descargue el archivo fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip adjunto a este artículo.
  2. Cargue el archivo.zip en VxRail Manager mediante un usuario oculto a través de SCP (WinSCP es un ejemplo de un cliente SCP que se puede utilizar).
  3. Inicie sesión en la consola de la VM de VxRail Manager o mediante SSH con el usuario oculto. 
  4. Cambie el directorio a la ubicación en que cargó el archivo .zip y extráigalo mediante el comando para descomprimir:
    mystic@vxrm:~> unzip fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip
    Archivo:  fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip
      aumento: fixlog4j-CVE-2021-44228-CVE-2021-45046.sh
  5. Haga que el script sea ejecutable mediante el comando chmod:
    mystic@vxrm:~> chmod +x fixlog4j-CVE-2021-44228-CVE-2021-45046.sh
  6. Inicie sesión como usuario raíz de VxRail Manager con el comando su:
    mystic@vxrm:~> su -
    Contraseña:
  7. Asegúrese de que se encuentra en el mismo directorio en que descomprimió el paquete del script:
    vxrm:~ # cd /home/mystic
    vxrm:/home/mystic #
  8. Ejecute el script:
    vxrm:/home/mystic # ./fixlog4j-CVE-2021-44228-CVE-2021-45046.sh

    Ejemplo de resultado de script:
    Detenga MARVIN y ejecute el servicio runjars antes de aplicar parches en el sistema

    /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar se ve afectado por CVE-2021-44228 y CVE-2021-45046, por lo que se debe aplicar el parche
    aplicando parches /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar
    Se aplicaron correctamente los parches /mystic/connectors/eservice/lib/log4j-core-2.13.0.jar

    /mystic/connectors/cluster/lib/log4j-core-2.13.0.jar se ve afectado por CVE-2021-44228 y CVE-2021-45046, por lo que se debe aplicar el parche
    aplicando parches /mystic/connectors/cluster/lib/log4j-core-2.13.0.jar
    Se aplicaron correctamente los parches /mystic/connectors/cluster/lib/log4j-core-2.13.0.jar

    Para asegurarse de que no se produzca un comportamiento de recarga, también debemos empaquetar el archivo .war.
    Parece que /usr/lib/vmware-marvin/marvind/webapps/ROOT.war contiene la biblioteca defectuosa log4j-core WEB-INF/lib/log4j-core-2.13.0.jar
    Archivo:  /usr/lib/vmware-marvin/marvind/webapps/ROOT.war
      inflando: WEB-INF/lib/log4j-core-2.13.0.jar
    Aplicación de parches WEB-INF/lib/log4j-core-2.13.0.jar en /usr/lib/vmware-marvin/marvind/webapps/ROOT.war
    Reempaquete /usr/lib/vmware-marvin/marvind/webapps/ROOT.war
    actualizando: WEB-INF/lib/log4j-core-2.13.0.jar (disminución del 11 %)
    Limpie la carpeta ROOT…

    Siempre reinicie los servicios runjars y MARVIN
    reinicie MARVIN
    reinicie MARVIN correctamente
    reinicie runjars
    runjars se reiniciaron correctamente

Nota: Es posible que la corrección de todos los archivos y el inicio de los servicios de VxRail Manager tarden entre 5 y 10 minutos.

Espere al menos 10 minutos si planea realizar cualquiera de los siguientes pasos de validación manual.

Hay varias versiones diferentes de la biblioteca lib4j-core según la versión de VxRail Manager.

El script se diseñó para corregir correctamente VxRail Manager, sin importar cuál sea la versión de lib4j-core incluida con esa versión de VxRail Manager.

Es posible que en el resultado anterior de la ejecución del script se muestren diferentes archivos en proceso de actualización según la versión de lib4j-core incluida.

Nota: Si realiza una actualización de VxRail a otra compilación de VxRail que no contenga una corrección, este script se debe ejecutar por segunda vez para volver a aplicar la corrección.
 

 NOTA: La mitigación completa de VxRail requiere que se implemente la solución alternativa de vCenter Server Appliance (vCSA) de VMware y la corrección en VxRail Manager que realiza este script.


Puede encontrar enlaces a artículos de VMware que abarcan soluciones alternativas a sus productos y correcciones en VxRail: Información sobre los entornos de VxRail y Log4Shell (CVE-2021-44228).
 

Pasos para la validación

Para corregir el problema, el script elimina el archivo JndiLookup.class de los archivos jar lib4j-core-*.

Un archivo jar es un formato de paquete de Java para incluir múltiples clases, metadatos y otros programas de Java en un solo archivo. Es similar en concepto a un archivo .zip y se basa en este. La ejecución del script valida que cada archivo jar se ha actualizado correctamente.

Para realizar una validación manual de que el script funciona, puede comprobar si los archivos jar log4j-core-* presentes en VxRail Manager aún contienen el archivo JndiLookup.class afectado. Si funciona, no deben aparecer resultados con los siguientes comandos, lo que confirma que el archivo JndiLookup.class afectado ya no está presente en el archivo jar.
 

Validación con comando automatizado

El siguiente comando se puede ejecutar en VxRail Manager para escanear todos los archivos log4j-core-xxxx.jar presentes en VxRail Manager y comprobar si contienen el archivo JndiLookup.class afectado:

vxrm:/home/mystic # para myfile en “find / -name log4j-core*jar -print |grep -v log4jbak”; duplique $myfile; descomprima -l $myfile | grep JndiLookup.class; done

Resultado de muestra (sistema actualizado):
/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


En el ejemplo anterior, el archivo JndiLookup.class no está presente en jar, por lo que el script funcionó, y la verificación se realizó correctamente.

A continuación, se muestra el resultado de muestra de un sistema afectado que se debe actualizar:
/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

En el ejemplo anterior, el archivo JndiLookup.class afectado aún está presente en el archivo jar log4j-core-2.13.3.jar.
 

Validación con comprobación manual de cada archivo

Para identificar rápidamente cualquier archivo log4j-core-xxxx.jar presente en VxRail Manager, ejecute el siguiente comando (esto también aplica un formato al resultado para que sea un comando utilizable):
vxrm:/home/mystic # find / -name log4j-core*jar -print |grep -v log4jbak | awk '{print("unzip -l " $1 "|grep JndiLookup.class")}’

Resultado de muestra:
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


En el resultado de muestra anterior, ejecute cada comando manualmente para ver si se detecta el archivo JndiLookup.class afectado:
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 #


En el ejemplo anterior, el archivo JndiLookup.class no está presente en jar, por lo tanto, el script funcionó, y la verificación se realizó bien.

Nota: Los nombres de archivos jar en el resultado de muestra anterior pueden variar según su versión de VxRail Manager. Utilice el resultado de muestra que se indica con el comando find anterior. 

Ejemplo del resultado de un archivo jar que aún se ve afectado y contiene el archivo JndiLookup.class afectado:

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

En el ejemplo anterior, el archivo JndiLookup.class afectado aún está presente en el archivo log4j-core-2.4.1.jar.

 

 NOTA: Otro recordatorio de que para la mitigación completa de VxRail se necesita la implementación de la solución alternativa de vCenter Server Appliance (vCSA) de VMware y la corrección en VxRail Manager realizada por este script.

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