Zu den Hauptinhalten
  • Bestellungen schnell und einfach aufgeben
  • Bestellungen anzeigen und den Versandstatus verfolgen
  • Profitieren Sie von exklusiven Prämien und Rabatten für Mitglieder
  • Erstellen Sie eine Liste Ihrer Produkte, auf die Sie jederzeit zugreifen können.
  • Verwalten Sie mit der Unternehmensverwaltung Ihre Dell EMC Seiten, Produkte und produktspezifischen Kontakte.

Data Protection Advisor: Corrección manual del script de Windows PowerShell con vulnerabilidades de Apache Log4j (CVE-2021-44228, CVE-2021-45046)

Zusammenfassung: En este artículo, se proporcionan instrucciones para una corrección manual de un agente de DPA en ejecución en un nodo de Microsoft Windows afectado por las vulnerabilidades de Apache Log4j (CVE-2021-44228 y CVE-2021-45046). ...

Dieser Artikel gilt für   Dieser Artikel gilt nicht für 

Weisungen

Esta corrección implica el uso de un script de Windows PowerShell que utiliza comandos nativos de scripts de Windows.

Estas instrucciones se pueden aplicar a cualquier tipo de instalación de Windows DPA, incluida la aplicación de DPA, el almacén de datos de DPA y el agente de DPA independiente (instalado solo en un servidor o en otro tipo de servidor de aplicaciones).

Consulte la siguiente asesoría de seguridad de Dell para obtener más información sobre las vulnerabilidades de Apache Log4j:

Si tiene preguntas o necesita asistencia con estas instrucciones, comuníquese con el soporte técnico de Dell.

Pasos para realizar una corrección manual:

Nota:

  • Estas instrucciones requieren que la instalación de Windows tenga PowerShell instalado y que esté disponible (valor predeterminado).
  • Es necesario contar con acceso y privilegios de administrador de Windows.

 

  1. Descargue el archivo de texto adjunto a este artículo de la base de conocimientos, log4j_jndiremoval.txt.

Nota: Como alternativa, puede encontrar el texto completo del archivo log4j_jndiremoval.txt al final de estas instrucciones, las cuales se pueden copiar y pegar en un archivo de texto.

  1. Copie o mueva el archivo de texto al nodo de Windows afectado.
  2. Cambie el nombre del archivo de texto y cambie la extensión de archivo de .txt a .ps1. Nota: Es posible que deba acceder a las opciones de la carpeta del Explorador de Windows, utilizar la opción Ver y marcar la casilla para mostrar "extensiones de nombre de archivo" antes de cambiar el nombre del archivo.
  3. Abra una ventana de Windows PowerShell. En el menú, haga clic en Buscar y escriba PowerShell. Debería aparecer "Windows PowerShell". Haga clic con el botón secundario en Windows PowerShell y seleccione "Ejecutar como administrador".

pic_01.JPG

 

  1. Detenga el servicio de agente de DPA. Haga esto mediante el complemento de servicios de Windows o en la línea de comandos mediante Windows PowerShell.

En la ventana de Windows PowerShell, si se trata de una instalación de agente en la aplicación de DPA o en el almacén de datos de DPA, el comando es:

dpa agent stop

En la ventana de Windows PowerShell, si se trata de una instalación independiente del agente de DPA, el comando es:

\dpa stop

Ejemplo:   
C:\Program Files\EMC\DPA\agent\etc\dpa stop

  1. En la ventana de Windows PowerShell, cambie al directorio con el archivo del script.

pic_03.JPG

 

  1. Ejecute el script en la ventana de PowerShell mediante la opción de verificación, con la cual se buscan y verifican los archivos afectados. El comando es:    
.\log4j_jndiremoval.ps1 -verify

pic_04.JPG

  1. Tras presionar Intro, el script se ejecuta y, a continuación, se solicita la ruta a la instalación de DPA. Ingrese la ruta completa a la instalación de DPA.

pic_06.JPG

 

  1. Tras presionar Intro, el script se ejecuta e identifica todos los archivos vulnerables.

pic_07.JPG

 

  1. Vuelva a ejecutar el script en la ventana de PowerShell omitiendo la opción Verificar. En este modo, el script busca y repara cualquiera de los archivos afectados. El comando es:   
.\log4j_jndiremoval.ps1

Nota: Se debe volver a ingresar la ruta de instalación de DPA.

pic_09.JPG

 

  1. Tras presionar Intro, el script busca y repara los archivos vulnerables encontrados.

pic_10.JPG

 

  1. En este punto, la corrección está completa.
  2. Como paso opcional, vuelva a realizar la comprobación mediante la ejecución del script. Ejecute el script en la ventana de PowerShell mediante la opción Verify, con la cual se buscan y verifican los archivos afectados. El comando es:
.\log4j_jndiremoval.ps1 -verify

pic_14.JPG

 

  1. Inicie el servicio de agente de DPA. Esto se puede hacer mediante el complemento de servicios de Windows o en la línea de comandos mediante Windows PowerShell.

En la ventana de Windows PowerShell, si se trata de una instalación de agente en la aplicación de DPA o en el almacén de datos de DPA, el comando es:

dpa agent start

En la ventana de Windows PowerShell, si se trata de una instalación independiente del agente de DPA, el comando es:

\dpa start

Ejemplo:   
C:\Program Files\EMC\DPA\agent\etc\dpa start

 

Apéndice:
a continuación, se muestra el texto completo del script de PowerShell. Si no se puede acceder al archivo adjunto a esta base de conocimientos, este texto se puede copiar y pegar textualmente en un archivo de texto (.txt) para su uso en los pasos anteriores.

param ( [switch]$verify ) '--------------------------------------------------------------------------' '--------------------------------------------------------------------------' ' Data Protection Advisor CVE-2021-44228, CVE-2021-45046 Patcher 1.1 ' ' Developer : Pankaj Pande(p.pande@dell.com) ' ' Release : 29 Dec 2021 ' '--------------------------------------------------------------------------' 'Welcome to CVE-2021-44228, CVE-2021-45046 Patching Tool.' 'This utility will assist you in patching Data Protection Advisor for CVE-2021-44228 and CVE-2021-45046 on a Windows system.' "Special Note : The tool automates remediation steps for all internal components. Following remediation, validation checks are also run. While this tool remediates these vulnerabilities, all available information from Apache on log4j continues to be monitored. If new CVEs are discovered, Dell Technologies' Engineering teams will clarify impact and new remediation steps where necessary. If needed this tool will be updated to include the new remediation steps." '---------------------------------------------------------------------------' function List-JndiLookup { Param ( [string[]]$JarFiles, [string] $FilenameToRemove ) #initiate the .net namespace add-type -AssemblyName 'System.IO.Compression.filesystem' "The number of files to be processed is : $($JarFiles.Count)" #list the files we are processing # them later foreach ($JarFile in $JarFiles) { "$JarFile" } $processedFiles = 0; $skippedFiles = 0; foreach ($JarFile in $JarFiles) { # Open the jar for updating (.jar files are just .zip files) try { $ProcessJarFile = [io.compression.zipfile]::Open($JarFile,'Update') } catch { # Error Handling } "Checking $JarFile for $FilenameToRemove" $totalFilesInJar = ($ProcessJarFile.Entries | Where FullName -Match $FilenameToRemove).Count if($totalFilesInJar -gt 0){ $processedFiles++ } #close Zip try { $ProcessJarFile.Dispose() } catch { # Error Handling } } if ( $processedFiles -gt 0) { Write-Host "$processedFiles file(s) found vulnerable" -fore red Write-Host "Finished...Please make sure to run the patching on this sytem" -fore red } else { Write-Host "$processedFiles file(s) found vulnerable" -fore green Write-Host "Finished...No Action needed" -fore green } } function Remove-JndiLookup { Param ( [string[]]$JarFiles, [string] $FilenameToRemove ) #initiate the .net namespace add-type -AssemblyName 'System.IO.Compression.filesystem' "The number of files to be processed is : $($JarFiles.Count)" #list the files we are processing # them later foreach ($JarFile in $JarFiles) { "$JarFile" } "Starting patching/Removel Process" $processedFiles = 0; $skippedFiles = 0; foreach ($JarFile in $JarFiles) { # Open the jar for updating (.jar files are just .zip files) try { $ProcessJarFile = [io.compression.zipfile]::Open($JarFile,'Update') } catch { # Error Handling } "Checking $JarFile for $FilenameToRemove" $totalFilesInJar = ($ProcessJarFile.Entries | Where FullName -Match $FilenameToRemove).Count if($totalFilesInJar -gt 0){ "Deleting unwanted file $FilenameToRemove from $JarFile" ($ProcessJarFile.Entries | Where FullName -Match $FilenameToRemove).Delete() $processedFiles++ } else { "File $FilenameToRemove not found inside $JarFile, this may have already been deleted." $skippedFiles++ } # Clean up / close the zip try { $ProcessJarFile.Dispose() } catch { # Error Handling } } "$processedFiles file(s) processed`n$skippedFiles file(s) skipped" Write-Host "Finished..." -fore green } if ( $verify ) { Write-Host "Running in dry-run mode. Will not process any files" -fore green } else { Write-Host "Running in fix mode. Will patch files that are found affected" -fore red } $dpa_path = Read-Host "Enter the DPA location " Write-Host "Running in : '$dpa_path' " -fore green if ($verify) { List-JndiLookup -JarFiles (Get-ChildItem -Exclude 'tmp' -Recurse -Path "$dpa_path" -Filter 'dpa*.jar' | ? { $_.FullName -inotmatch 'tmp' }).FullName -FilenameToRemove 'JndiLookup.class' } else { Remove-JndiLookup -JarFiles (Get-ChildItem -Exclude 'tmp' -Recurse -Path "$dpa_path" -Filter 'dpa*.jar' | ? { $_.FullName -inotmatch 'tmp' }).FullName -FilenameToRemove 'JndiLookup.class' }

 



Si tiene preguntas o necesita asistencia con estas instrucciones, comuníquese con el soporte técnico de Dell.

Artikeleigenschaften
Artikelnummer: 000194869
Artikeltyp: How To
Zuletzt geändert: 18 Aug. 2022
Version:  4
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.
Artikeleigenschaften
Artikelnummer: 000194869
Artikeltyp: How To
Zuletzt geändert: 18 Aug. 2022
Version:  4
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.