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: soluzione alternativa di VxRail Manager per la vulnerabilità Apache Log4Shell (CVE-2021-44228, CVE-2021-45046 e CVE-2021-4104)

Summary: Questo articolo descrive uno script che può essere eseguito su VxRail Manager per risolvere la vulnerabilità Apache Log4Shell descritta in CVE-2021-44228, CVE-2021-45046 e CVE-2021-4104 (articolo Dell DSN-2021-007, articolo 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 ha pubblicato informazioni su un problema critico di vulnerabilità nell'esecuzione remota del codice della libreria Apache Log4j, noto come Log4Shell, come indicato in GitHub Advisory Database (spiegato in dettaglio anche in CVE-2021-44228CVE-2021-45046 e CVE-2021-4104). VxRail Manager è esposto al problema descritto nella vulnerabilità.

Nota: sono riportati due CVE aggiuntivi, CVE-2021-45046 e CVE-2021-4104, indicanti che il suggerimento iniziale di risolvere il problema descritto in CVE-2021-44228 (Log4j 2.x) non rappresenta una correzione completa.

Per ulteriori informazioni su questi CVE, consultare i seguenti articoli:

Nota: lo script di questo articolo è stato aggiornato alla versione 1.1.2, che include le correzioni consigliate per tutti e tre i CVE: CVE-2021-44228, CVE-2021-45046 e CVE-2021-4104.

Nello script precedente è stato rilevato un ulteriore problema che potrebbe comportare il restore di un file interessato su VxRail Manager da un archivio di sistema. Anche questo problema è stato risolto in questa versione.

Se sono stati utilizzati script precedenti forniti con questo articolo, scaricare lo script più recente (1.1.2) ed eseguirlo su VxRail Manager per assicurarsi di disporre della correzione completa.

 

Requisiti e ambito

L'ambito delle procedure di correzione descritte in questo articolo è il seguente:

  • Questo articolo è applicabile a VxRail Manager nelle versioni VxRail 4.5.x, 4.7.x e 7.0.x, oltre a VxRail Manager nelle versioni VCF 3.x e 4.x.
  • Lo script e i passaggi forniti correggono la vulnerabilità solo nella macchina virtuale dell'appliance VxRail Manager.
  • Altri componenti al di fuori di VxRail Manager, come vCenter Server Appliance (vCSA), NSX e così via, devono essere gestiti separatamente e non sono inclusi in questo script.
  • Inoltre, lo script non corregge eventuali applicazioni o servizi in esecuzione all'interno delle macchine virtuali che potrebbero essere esposti alla vulnerabilità. Dell EMC consiglia a tutti i clienti di verificare con i propri fornitori di applicazioni o software i servizi in esecuzione nelle macchine virtuali, per assicurarsi che non siano interessati dal problema.

I link ai prodotti VMware interessati e alle potenziali soluzioni alternative sono descritti in dettaglio nel seguente articolo VMware VMSA:

VMware fornisce uno script per automatizzare la correzione in vCenter Server Appliance nel seguente articolo:

Il file fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip allegato a questo articolo contiene lo script solo per VxRail Manager.
 

Versioni di VxRail con correzione inclusa

Questo problema è stato risolto nelle seguenti versioni del software VxRail:

  • VxRail Package Software 7.0.320
  • VxRail Appliance Software 4.7.541
  • VxRail Appliance Software 4.5.471

Si consiglia di eseguire l'aggiornamento a una versione del software VxRail che include la correzione.
Lo script è consigliato per i clienti che non riescono a eseguire immediatamente l'aggiornamento.

Nota: se il cluster VxRail 7.0.xxx è gestito da un'istanza di vCenter gestita dal cliente, fare riferimento al seguente articolo per ulteriori considerazioni potenzialmente valide:

 

Procedura di correzione

Per risolvere il problema, attenersi alla seguente procedura:
  1. Scaricare il file fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip allegato a questo articolo.
  2. Eseguire l'upload del file .zip in VxRail Manager utilizzando un utente mystic su SCP (WinSCP è un esempio di client SCP che può essere utilizzato).
  3. Accedere alla console della macchina virtuale VxRail Manager oppure tramite SSH utilizzando l'utente mystic. 
  4. Passare alla directory in cui è stato eseguito l'upload del file .zip ed estrarlo utilizzando il comando 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. Rendere eseguibile lo script utilizzando il comando chmod:
    mystic@vxrm:~> chmod +x fixlog4j-CVE-2021-44228-CVE-2021-45046.sh
  6. Accedere come utente root di VxRail Manager utilizzando il comando su:
    mystic@vxrm:~> su -
    Password:
  7. Assicurarsi di essere nella stessa directory in cui è stato decompresso il pacchetto dello script:
    vxrm:~ # cd /home/mystic
    vxrm:/home/mystic #
  8. Eseguire lo script:
    vxrm:/home/mystic # ./fixlog4j-CVE-2021-44228-CVE-2021-45046.sh

    Esempio di output dello 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

Nota: la correzione di tutti i file e l'avvio dei servizi di VxRail Manager possono richiedere da 5 a 10 minuti.

Attendere almeno 10 minuti se si prevede di eseguire uno dei passaggi di convalida manuale riportati di seguito.

Esistono diverse versioni della libreria lib4j-core a seconda della versione di VxRail Manager.

Lo script è stato progettato per correggere VxRail Manager indipendentemente dalla versione di lib4j-core inclusa con la versione specifica di VxRail Manager.

L'output di cui sopra derivante dall'esecuzione dello script può mostrare l'aggiornamento di diversi file a seconda della versione di lib4j-core inclusa.

Nota: Se si esegue un aggiornamento di VxRail a un'altra build di VxRail che non contiene una correzione, questo script deve essere eseguito una seconda volta per applicare nuovamente la correzione.
 

 NOTA: la mitigazione completa per VxRail richiede l'implementazione della soluzione alternativa di VMware per vCenter Server Appliance (vCSA) e della correzione su VxRail Manager eseguita da questo script.


I link agli articoli VMware che illustrano soluzioni alternative per i loro prodotti e correzioni si trovano in VxRail: informazioni sugli ambienti Log4Shell (CVE-2021-44228) e VxRail (in inglese).
 

Passaggi di convalida

Per risolvere il problema, lo script rimuove il file JndiLookup.class dai file JAR lib4j-core-*.

Un file JAR è un formato di compressione Java per includere più classi, metadati e altri programmi Java in un unico file. Il concetto è simile a quello di un file ZIP e si basa sul formato ZIP. L'esecuzione dello script verifica che ogni file JAR sia stato aggiornato correttamente.

Per eseguire una convalida manuale del funzionamento dello script, è possibile verificare se i file JAR log4j-core-* presenti in VxRail Manager contengono ancora il file JndiLookup.class interessato. Se lo script funziona, non viene visualizzato alcun output per i comandi riportati di seguito, a conferma del fatto che il file JndiLookup.class interessato non è più presente nel file JAR.
 

Convalida con comando automatizzato

È possibile utilizzare il comando seguente su VxRail Manager per eseguire la scansione di tutti i file log4j-core-xxxx.jar presenti in VxRail Manager e verificare se contengono il file JndiLookup.class interessato:

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

Output di esempio (sistema aggiornato):
/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


Nel precedente esempio, il file JndiLookup.class non è presente nel file JAR, quindi lo script funziona e la verifica ha esito positivo.

Di seguito è riportato l'output di esempio di un sistema interessato che deve essere aggiornato:
/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

Nell'esempio precedente, il file JndiLookup.class interessato è ancora presente nel file JAR log4j-core-2.13.3.jar.
 

Convalida con controllo manuale di ciascun file

Per identificare rapidamente ciascun file log4j-core-xxxx.jar presente in VxRail Manager, eseguire il comando seguente (l'output viene formattato in un comando utilizzabile):
vxrm:/home/mystic # find / -name log4j-core*jar -print |grep -v log4jbak | awk '{print("unzip -l " $1 "|grep JndiLookup.class")}'

Sample output:
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


Dall'output di esempio riportato sopra, eseguire ciascun comando manualmente per verificare se viene rilevato il file JndiLookup.class interessato:
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 #


Nell'esempio precedente, il file JndiLookup.class non è presente nel file JAR, quindi lo script funziona e la verifica ha esito positivo.

Nota: i nomi dei file JAR nell'output di esempio riportato sopra possono variare a seconda della versione di VxRail Manager in uso. Utilizzare l'output di esempio ricevuto dal comando find precedente. 

Esempio di output per un file JAR ancora interessato e contenente il file 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

Nell'esempio precedente, il file JndiLookup.class interessato è ancora presente nel file JAR log4j-core-2.4.1.jar.

 

 NOTA: ricordare sempre che la mitigazione completa per VxRail richiede l'implementazione della soluzione alternativa di VMware per vCenter Server Appliance (vCSA) e della correzione su VxRail Manager eseguita da questo 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