VxRail : Manager corrige les failles de sécurité Apache Log4Shell (CVE-2021-44228, CVE-2021-45046)

Résumé: Cet article décrit un script qui peut être exécuté sur VxRail Manager pour corriger la faille de sécurité Apache Log4Shell décrite dans CVE-2021-44228. CVE-2021-45046 et CVE-2021-4104 (article Dell DSN-2021-007, article VMware VMSA-2021-0028). ...

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet article.

Instructions

Apache Software Foundation a publié des informations sur une faille de sécurité critique d’exécution du code à distance de la bibliothèque Apache Log4j, connue sous le nom de Log4Shell, conformément à la GitHub Advisory DatabaseCe lien hypertexte renvoie à un site Web extérieur à Dell Technologies. (également détaillée dans CVE-2021-44228Ce lien hypertexte renvoie à un site Web extérieur à Dell Technologies., CVE-2021-45046Ce lien hypertexte renvoie à un site Web extérieur à Dell Technologies. et CVE-2021-4104).Ce lien hypertexte renvoie à un site Web extérieur à Dell Technologies. VxRail Manager est exposé au problème décrit dans la faille de sécurité.
 

Remarque : Deux CVE supplémentaires, CVE-2021-45046 et CVE-2021-4104, sont signalées, ce qui indique que la recommandation initiale de correction du problème décrit dans CVE-2021-44228 (Log4j 2.x) n’est pas un correctif complet.


Pour plus d’informations sur ces vulnérabilités CVE, consultez les articles suivants :

 

Remarque : Le script de cet article a été mis à jour vers la version 1.1.2, qui inclut les mesures correctives recommandées pour les trois CVE, CVE-2021-44228, CVE-2021-45046 et CVE-2021-4104.


Un problème supplémentaire a été découvert dans le script précédent, qui peut entraîner la restauration d’un fichier concerné sur VxRail Manager à partir d’une archive système. Ce problème a également été résolu dans cette version.

Si vous avez utilisé des scripts précédents fournis avec cet article, téléchargez le dernier script (1.1.2) et exécutez-le sur VxRail Manager pour être sûr de disposer du correctif complet.
 

Exigences et champ d’application

Le champ d’application des mesures correctives décrites dans cet article est le suivant :

  • Cet article s’applique à VxRail Manager dans les versions VxRail 4.5.x, 4.7.x et 7.0.x, ainsi qu’à VxRail Manager dans les versions VCF 3.x et 4.x.
  • Le script et les étapes de mesure corrective fournis corrigent la faille de sécurité dans la machine virtuelle de l’appliance VxRail Manager uniquement.
  • Les autres composants en dehors de VxRail Manager, tels que vCenter Server Appliance (vCSA), NSX, etc., doivent être atténués séparément et ne sont pas inclus dans ce script.
  • En outre, le script ne corrige aucune application ni aucun service exécuté dans des machines virtuelles susceptibles d’être exposées à la faille de sécurité. Dell Technologies recommande à tous les clients de vérifier auprès de leurs fournisseurs d’applications ou de logiciels les services s’exécutant sur des machines virtuelles pour s’assurer qu’ils ne sont pas affectés.

Les liens vers les produits VMware concernés et les solutions de contournement potentielles sont détaillés dans l’article VMware VMSA suivant :

VMware fournit un script permettant d’automatiser la mesure corrective dans vCenter Server Appliance dans l’article suivant :

Vous trouverez en pièce jointe à cet article un fichier fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip qui contient le script pour VxRail Manager uniquement.
 

Versions VxRail avec correctif inclus

Ce problème a été résolu dans les versions logicielles suivantes de VxRail :

  • Logiciel du package VxRail 7.0.320
  • Logiciel de l’appliance VxRail 4.7.541
  • Logiciel de l’appliance VxRail 4.5.471

Il est recommandé d’effectuer une mise à niveau vers une version du logiciel VxRail qui inclut le correctif.
Le script est recommandé pour les clients qui ne sont pas en mesure d’effectuer une mise à niveau immédiatement.

Note: Si votre cluster VxRail 7.0.xxx est géré par un vCenter géré par le client, reportez-vous à l’article suivant pour connaître les considérations supplémentaires qui peuvent s’appliquer :

 

Considérations supplémentaires pour les scripts de correctifs hérités :

Si vous avez déjà exécuté un script de mise à jour antérieur (antérieur à fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip) sur VxRail Manager, tenez compte des points suivants :

    • Ce script crée des copies de sauvegarde des fichiers jar d’origine avec une extension « .bak » et les conserve dans les répertoires de la bibliothèque d’origine.
    • Ces fichiers .bak peuvent entraîner des problèmes de démarrage du service après la mise à niveau vers VxRail 8.0.380 ou une version supérieure, car ils seront chargés par erreur avec les fichiers actifs du même répertoire.

Suivez les étapes ci-dessous pour déplacer les fichiers .bak existants et assurer le fonctionnement normal du système :

  1. Rechercher les fichiers .bak existants
    • find /mystic/connectors -name "log4j-core*.bak"
  2. Si .bak fichiers sont trouvés, déplacez-les vers un emplacement sûr :
    • mkdir -p /tmp/log4jbak
    • find /mystic/connectors -name "log4j-core*.bak" -type f -exec mv {} /tmp/log4jbak/ \;
  3. Check.bak fichiers qui n’existent pas dans /mystic/connectors , puis redémarrez le service :
    • Scénario A : si vous n’avez PAS encore effectué la mise à niveau LCM :
      • Procédez à la mise à niveau LCM. Le processus de mise à niveau redémarre automatiquement tous les services.
    • Scénario B : si vous avez DÉJÀ terminé la mise à niveau LCM et que vous rencontrez une défaillance du plugin VC :
      • Redémarrez VxRail Manager :
        • systemctl restart vmware-marvin
        • service runjars restart

Étapes de mesure corrective

Pour corriger ces problèmes, procédez comme suit :

  1. Téléchargez le fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip Fichier joint à cet article.
  2. Téléchargez le fichier .zip dans VxRail Manager à l’aide de l’utilisateur Mystic sur SCP (WinSCP est un exemple de client SCP pouvant être utilisé).
  3. Connectez-vous à la console de la machine virtuelle VxRail Manager ou à SSH à l’aide de l’utilisateur mystic. 
  4. Accédez au répertoire dans lequel vous avez téléchargé le fichier .zip et extrayez-le à l’aide de la commande unzip :
    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. Rendez le script exécutable à l’aide de la commande chmod :
    mystic@vxrm:~> chmod +x fixlog4j-CVE-2021-44228-CVE-2021-45046.sh
  6. Connectez-vous en tant qu’utilisateur root de VxRail Manager à l’aide de la commande su :
    mystic@vxrm:~> su -
    Password:
  7. Assurez-vous que vous êtes dans le même répertoire que celui dans lequel vous avez extrait le package de script :
    vxrm:~ # cd /home/mystic
    vxrm:/home/mystic #
  8. Exécutez le script :
    vxrm:/home/mystic # ./fixlog4j-CVE-2021-44228-CVE-2021-45046.sh

    Exemple de sortie de script :

    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

     

 

Remarque : Il faut compter entre 5 et 10 minutes pour que tous les fichiers soient corrigés et que les services VxRail Manager démarrent.


Patientez au moins 10 minutes si vous prévoyez d’effectuer l’une des étapes de validation manuelle ci-dessous.

Il existe plusieurs versions différentes de la bibliothèque lib4j-core en fonction de la version de VxRail Manager.

Le script a été conçu pour corriger correctement VxRail Manager, quelle que soit la version de lib4j-core incluse avec cette version de VxRail Manager.

La sortie ci-dessus de l’exécution du script peut afficher différents fichiers en cours de mise à jour en fonction de la version de lib4j-core incluse.
 

Remarque : si vous effectuez une mise à niveau VxRail vers une autre version de VxRail qui ne contient pas de correctif, ce script doit être exécuté une deuxième fois pour réappliquer la mesure corrective.

 

 

Remarque : l’atténuation complète de VxRail nécessite à la fois la solution de contournement vCenter Server Appliance (vCSA) de VMware et la mesure corrective sur VxRail Manager exécutée par ce script à implémenter.

Vous trouverez des liens vers des articles VMware couvrant les solutions de contournement de leurs produits et leurs correctifs dans VxRail : Informations sur les environnements Log4Shell (CVE-2021-44228/CVE-2021-45046/CVE-2021-4104) et VxRail
 

Étapes de validation

Afin de corriger le problème, le script supprime le fichier JndiLookup.class des fichiers jar lib4j-core-*.

Un fichier jar est un format de packaging Java pour inclure plusieurs classes, métadonnées et autres programmes Java dans un seul fichier. Il ressemble au concept du fichier .zip et repose sur le format .zip. L’exécution du script vérifie que chaque fichier jar a été mis à jour avec succès.

Pour effectuer une validation manuelle que le script a fonctionné, vous pouvez vérifier si le log4j-core-* Les fichiers jar présents sur VxRail Manager contiennent toujours le fichier JndiLookup.class concerné. Si cela a fonctionné, vous ne devriez voir aucune sortie vers les commandes ci-dessous qui confirme le JndiLookup.class Le fichier n’est plus présent dans le fichier jar.
 

Remarque : Le problème avec l’attribut JndiLookup.class le fichier est corrigé dans log4j-core-2.17.1.jar et les versions supérieures. Si vous tentez d’exécuter les étapes de validation sur ces fichiers jar, la commande JndiLookup.class Le fichier est présent, mais le problème n’est pas résolu. Il est prudent d’ignorer cela en voyant que JndiLookup.class fichier dans les versions corrigées de log4j-core.

 

Validation avec commande automatisée 

La commande suivante peut être exécutée sur VxRail Manager pour analyser tous les log4j-core-xxxx.jar dans VxRail Manager et vérifiez s’ils contiennent les fichiers concernés. JndiLookup.class fichier :

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


Exemple de sortie (système mis à jour) :

/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


Dans l’exemple ci-dessus, l’attribut JndiLookup.class Le fichier n’est pas présent dans le fichier jar. Le script a donc fonctionné et la vérification a réussi.

Vous trouverez ci-dessous un exemple de sortie d’un système affecté qui doit être mis à jour :

/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


Dans l’exemple ci-dessus, le JndiLookup.class Le fichier est toujours présent dans le fichier log4j-core-2.13.3.jar fichier jar.

Vous trouverez ci-dessous un exemple de sortie d’un système qui dispose d’un système fixe ou mis à jour log4j-core bibliothèque où la vue de l' JndiLookup.class Le fichier peut être ignoré :

/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

Dans l’exemple ci-dessus, vous pouvez voir le JndiLookup.class dans la sortie, mais le correctif pour le problème se trouve dans log4j-core-2.17.1.jar.

 

Validation avec vérification manuelle de chaque fichier

Pour identifier rapidement tout log4j-core-xxxx.jar Dans les fichiers présents sur VxRail Manager, exécutez la commande suivante (ceci formate également le résultat en une commande utilisable) :

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


Exemple de résultat :

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


À partir de l’exemple de sortie ci-dessus, exécutez chaque commande manuellement pour voir si elles détectent le JndiLookup.class fichier :

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 #


Dans l’exemple ci-dessus, l’attribut JndiLookup.class Le fichier n’est pas présent dans le fichier jar. Le script a donc fonctionné et la vérification a réussi.
 

Remarque : Les noms de fichier jar de l’exemple de sortie ci-dessus peuvent varier en fonction de votre version de VxRail Manager. Utilisez l’exemple de sortie que vous recevez de la commande find ci-dessus. 

Exemple de sortie pour un fichier jar toujours affecté et contenant le fichier affecté JndiLookup.class fichier :
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


Dans l’exemple ci-dessus, le JndiLookup.class Le fichier est toujours présent dans le fichier log4j-core-2.4.1.jar fichier jar.

 

 

Remarque : Autre rappel : l’atténuation complète pour VxRail nécessite à la fois la solution de contournement vCSA (vCenter Server Appliance) de VMware et la mise en œuvre des mesures correctives sur VxRail Manager effectuées par ce script.

Produits concernés

VxRail, VxRail Appliance Family, VxRail Appliance Series, VxRail Software
Propriétés de l’article
Numéro d’article: 000194458
Type d’article: How To
Dernière modification: 29 juin 2026
Version:  20
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.