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: Solução temporária do VxRail Manager para corrigir a vulnerabilidade do Apache Log4Shell (CVE-2021-44228, CVE-2021-45046 e CVE-2021-4104)

Summary: Este artigo descreve um script que pode ser executado no VxRail Manager para corrigir a vulnerabilidade do Apache Log4Shell, descrita no CVE-2021-44228, CVE-2021-45046 e CVE-2021-4104 (artigo da Dell DSN-2021-007, artigo da 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

O Apache Software Foundation publicou informações sobre um problema crítico de vulnerabilidade de execução remota de código da biblioteca Apache Log4j, conhecido como Log4Shell, de acordo com o GitHub Advisory Database (também detalhado no CVE-2021-44228, CVE-2021-45046 e CVE-2021-4104). O VxRail Manager está exposto ao problema descrito na vulnerabilidade.

Nota: Dois CVEs adicionais, CVE-2021-45046 e CVE-2021-4104, indicam que a recomendação original para corrigir o problema descrito no CVE-2021-44228 (Log4j 2.x) não é uma correção completa.

Para obter mais informações sobre esses CVEs, consulte os seguintes artigos:

Nota: O script deste artigo foi atualizado para a versão 1.1.2, que inclui as correções recomendadas para todos os três CVEs, CVE-2021-44228, CVE-2021-45046 e CVE-2021-4104.

Um problema adicional foi detectado no script anterior, o que pode resultar em um arquivo afetado ser restaurado no VxRail Manager a partir de um arquivo do sistema. Esse problema também foi resolvido nessa versão.

Se você usou algum script anterior fornecido com este artigo, faça download do script mais recente (1.1.2) e execute-o no VxRail Manager para garantir que você tenha a correção completa.

 

Requisitos e escopo

O escopo do que está coberto pelas etapas de correção neste artigo são:

  • Este artigo se aplica ao VxRail Manager nas versões VxRail 4.5.x, 4.7.x e 7.0.x juntamente com o VxRail Manager nas versões VCF 3.x e 4.x.
  • O script e as etapas de correção fornecidos corrigem a vulnerabilidade apenas na VM do equipamento VxRail Manager.
  • Outros componentes além do VxRail Manager, como vCenter Server Appliance (vCSA), NSX e assim por diante, devem ser reduzidos separadamente e não estão neste script.
  • Além disso, o script não corrige nenhum aplicativo ou serviço executado dentro de VMs que possam estar expostas à vulnerabilidade. A Dell EMC recomenda que todos os clientes verifiquem com seus fornecedores de aplicativos ou software os serviços executados nas VMs para garantir que não sejam afetadas.

Os links para os produtos VMware afetados e as possíveis soluções temporárias estão detalhados no seguinte artigo do VMSA da VMware:

A VMware fornece um script para automatizar a correção do vCenter Server Appliance no seguinte artigo:

Anexado a este artigo está o arquivo fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip que contém o script somente para o VxRail Manager.
 

Versões do VxRail com correção incluída

Esse problema foi resolvido nas seguintes versões do software VxRail:

  • Software do pacote VxRail 7.0.320
  • Software do VxRail Appliance 4.7.541
  • Software do VxRail Appliance 4.5.471

É recomendável fazer upgrade para versões de software do VxRail que incluem a correção.
O script é recomendado para clientes que não conseguem fazer upgrade imediatamente.

Nota: Se o cluster 7.0.xxx VxRail for gerenciado por um vCenter gerenciado pelo cliente, consulte o seguinte artigo para obter considerações adicionais que podem ser aplicadas:

 

Etapas de correção

A correção contra o problema executa as seguintes etapas:
  1. Faça download do arquivo fixlog4j-CVE-2021-44228-CVE-2021-45046-v-1-1-2.zip anexado a este artigo.
  2. Carregue o arquivo.zip no VxRail Manager usando um usuário mystic pelo SCP (o WinSCP é um exemplo de um client SCP que pode ser usado).
  3. Faça login no console do VxRail Manager da VM ou no SSH usando o usuário mystic. 
  4. Altere o diretório no qual você carregou o arquivo.zip e extraia-o usando o 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. Torne o script executável usando o comando chmod:
    mystic@vxrm:~> chmod +x fixlog4j-CVE-2021-44228-CVE-2021-45046.sh
  6. Faça login como usuário root do VxRail Manager usando o comando su:
    mystic@vxrm:~> su -
    Password:
  7. Certifique-se de que você esteja no mesmo diretório em que descompactou o pacote do script:
    vxrm:~ # cd /home/mystic
    vxrm:/home/mystic #
  8. Execute o script:
    vxrm:/home/mystic # ./fixlog4j-CVE-2021-44228-CVE-2021-45046.sh

    Exemplo de saída de script:
    Interrompa os serviços MARVIN e runjars antes de aplicar patches ao sistema

    /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...

    Sempre aplique uma reinicialização nos serviços MARVIN e runjars
    restart MARVIN
    MARVIN restart successfully
    restart runjars
    runjars restart successfully

Nota: Pode levar de 5 a 10 minutos para que todos os arquivos sejam corrigidos e para que os serviços do VxRail Manager sejam iniciados.

Aguarde pelo menos 10 minutos se você planeja realizar qualquer uma das etapas de validação manual abaixo.

Existem várias versões diferentes da biblioteca lib4j-core, dependendo da versão do VxRail Manager.

O script foi projetado para corrigir corretamente o VxRail Manager, independentemente da versão do lib4j-core, que está incluída nessa versão do VxRail Manager.

A saída da execução do script acima pode mostrar arquivos diferentes sendo atualizados, dependendo da versão do lib4j-core incluída.

Nota: Se você realizar um upgrade do VxRail para outra compilação do VxRail que não contenha uma correção, esse script deverá ser executado uma segunda vez para reaplicar a correção.
 

 NOTA: A redução completa do VxRail exige que a solução temporária do vCenter Server Appliance (vCSA) da VMware e a correção no VxRail Manager realizada por esse script sejam implementadas.


Os links para os artigos da VMware que abordam as soluções temporárias de seus produtos e as correções encontram-se em VxRail: Informações sobre ambientes Log4Shell (CVE-2021-44228) e VxRail.
 

Etapas de validação

Para corrigir o problema, o script remove o arquivo JndiLookup.class dos arquivos jar lib4j-core-*.

Um arquivo jar é um formato de empacotamento Java para incluir várias classes, metadados e outros programas Java em um só arquivo. Ele é semelhante em conceito a um arquivo .zip e é baseado no formato .zip. A execução do script valida que cada arquivo jar foi atualizado com sucesso.

Para realizar uma validação manual de que o script funcionou, é possível verificar se os arquivos jar log4j-core-* presentes no VxRail Manager ainda contêm o arquivo JndiLookup.class afetado. Se tiver funcionado, você não verá saída para os comandos abaixo, o que confirma que o arquivo JndiLookup.class afetado não está mais presente no arquivo jar.
 

Validação com comando automatizado

O seguinte comando pode ser executado no VxRail Manager para procurar todos os arquivos log4j-core-xxxx.jar presentes no VxRail Manager e verificar se eles contêm o arquivo JndiLookup.class afetado:

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

Exemplo de saída (sistema atualizado):
/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


No exemplo acima, o arquivo JndiLookup.class não está presente no jar, portanto, o script funcionou e a verificação foi bem-sucedida.

Abaixo está o exemplo de resultado de um sistema afetado que deve ser atualizado:
/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

No exemplo acima, o arquivo JndiLookup.class afetado ainda está presente no arquivo jar log4j-core-2.13.3.jar.
 

Validação com verificação manual de cada arquivo

Para identificar rapidamente todos os arquivos log4j-core-xxxx.jar presentes no VxRail Manager, execute o seguinte comando (isso também formatará a saída em um comando utilizável):
vxrm:/home/mystic # find / -name log4j-core*jar -print |grep -v log4jbak | awk '{print("unzip -l " $1 "|grep JndiLookup.class")}'

Exemplo de resultado:
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


De acordo com o exemplo de saída acima, execute cada comando manualmente para ver se eles detectam o arquivo JndiLookup.class afetado:
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 #


No exemplo acima, o arquivo JndiLookup.class não está presente no jar, assim, o script funcionou e a verificação foi bem-sucedida.

Nota: Os nomes de arquivo jar do exemplo de saída acima podem ser diferentes, dependendo de sua versão do VxRail Manager. Use o exemplo de saída recebido do comando find acima. 

Um exemplo do saída de um arquivo jar que ainda é afetado e contém o arquivo JndiLookup.class afetado:

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

No exemplo acima, o arquivo JndiLookup.class afetado ainda está presente no arquivo log4j-core-2.4.1.jar.

 

 NOTA: Outro lembrete é de que a redução completa do VxRail exige que a solução temporária do vCenter Server Appliance (vCSA) da VMware e a correção no VxRail Manager realizada por esse script sejam implementadas.

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