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: Manuelle Korrektur für Apache Log4j Sicherheitslücken mit Windows PowerShell-Skript (CVE-2021-44228, CVE-2021-45046)

Zusammenfassung: Dieser Artikel enthält Weisungen für eine manuelle Korrektur eines DPA-Agent, der auf einem Microsoft Windows-Node ausgeführt wird, der von den Apache Log4j-Sicherheitslücken (CVE-2021-44228 und CVE-2021-45046) betroffen ist. ...

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

Weisungen

Diese Korrektur umfasst die Verwendung eines Windows PowerShell-Skripts, das native Windows-Skriptbefehle verwendet.

Diese Weisungen können auf jede Art von Windows DPA-Installation angewendet werden, einschließlich DPA Application, DPA Datastore und Standalone DPA Agent (allein auf einem Server oder auf einem anderen Anwendungsservertyp installiert).

Weitere Informationen zu den Sicherheitslücken in Apache Log4j finden Sie in der folgenden Dell Sicherheitsempfehlung:

Wenn sie Fragen zu diesen Weisungen haben oder Unterstützung benötigen, wenden Sie sich an den technischen Support von Dell.

Schritte für die manuelle Korrektur:

Hinweis:

  • Diese Weisungen erfordern, dass auf der Windows-Installation PowerShell installiert und verfügbar ist (Standard).
  • Windows-Administratorrechte und -Zugriff sind erforderlich.

 

  1. Laden Sie die an diesen Wissendatenbank-Artikel angehängte Textdatei log4j_jndiremoval.txt herunter.

Hinweis: Alternativ dazu wird am Ende dieser Weisungen der Volltext der Datei log4j_jndiremoval.txt bereitgestellt, der kopiert und in eine Textdatei eingefügt werden kann.

  1. Kopieren oder verschieben Sie die Textdatei auf den betroffenen Windows-Node.
  2. Benennen Sie die Textdatei um und ändern Sie die Dateierweiterung von .txt in .ps1. Hinweis: Möglicherweise müssen Sie die Windows Explorer-Ordneroptionen aufrufen zu Anzeige wechseln und das Kontrollkästchen bei „Dateierweiterungen anzeigen“ aktivieren, bevor Sie die Datei umbenennen können.
  3. Öffnen Sie ein Windows PowerShell-Fenster Klicken Sie im Menü auf Suchen und geben Sie PowerShell ein. „Windows PowerShell“ sollte angezeigt werden. Klicken Sie mit der rechten Maustaste auf Windows PowerShell und wählen Sie „Als Administrator ausführen“ aus.

pic_01.JPG

 

  1. Stoppen Sie den DPA-Agent-Dienst. Verwenden Sie dazu das Windows-Dienste-Snap-in oder die Befehlszeile mithilfe der Windows PowerShell.

Wenn es sich im Windows PowerShell-Fenster um eine Agent-Installation auf DPA Application oder DPA Datastore handelt, lautet der Befehl wie folgt:

dpa agent stop

Wenn es sich im Windows PowerShell-Fenster um eine Standalone DPA-Agent-Installation handelt, lautet der Befehl wie folgt:

\dpa stop

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

  1. Wechseln Sie im Windows PowerShell-Fenster in das Verzeichnis mit der Skriptdatei.

pic_03.JPG

 

  1. Führen Sie das Skript im PowerShell-Fenster mit der Option „verify“ aus, die nach den betroffenen Dateien sucht und diese überprüft. Der Befehl lautet:    
.\log4j_jndiremoval.ps1 -verify

pic_04.JPG

  1. Wenn Sie die Eingabetaste drücken, wird das Skript ausgeführt und fordert sie dann zur Eingabe des Pfads zur DPA-Installation auf. Geben Sie den vollständigen Pfad zur DPA-Installation ein.

pic_06.JPG

 

  1. Nach dem Drücken der Eingabetaste wird das Skript ausgeführt und identifiziert alle anfälligen Dateien.

pic_07.JPG

 

  1. Führen Sie das Skript im PowerShell-Fenster erneut aus und lassen Sie die Option „verify“ weg. In diesem Modus sucht das Skript nach den betroffenen Dateien und repariert sie. Der Befehl lautet:   
.\log4j_jndiremoval.ps1

Hinweis: Der DPA-Installationspfad muss erneut eingegeben werden.

pic_09.JPG

 

  1. Nach dem Drücken der Eingabetaste sucht das Skript nach gefährdeten Dateien und repariert alle, die gefunden wurden.

pic_10.JPG

 

  1. An diesem Punkt ist die Korrektur abgeschlossen.
  2. Überprüfen Sie als optionalen Schritt alles erneut, indem Sie das Skript nochmal ausführen. Führen Sie das Skript im PowerShell-Fenster mit der Option „verify“ aus, die nach den betroffenen Dateien sucht und diese überprüft. Der Befehl lautet:
.\log4j_jndiremoval.ps1 -verify

pic_14.JPG

 

  1. Starten Sie den DPA-Agent-Dienst. Dies kann über das Windows-Dienste-Snap-in oder über die Befehlszeile der Windows PowerShell erfolgen.

Wenn es sich im Windows PowerShell-Fenster um eine Agent-Installation auf DPA Application oder DPA Datastore handelt, lautet der Befehl wie folgt:

dpa agent start

Wenn es sich im Windows PowerShell-Fenster um eine Standalone DPA-Agent-Installation handelt, lautet der Befehl wie folgt:

\dpa start

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

 

Nachtrag:
Unten finden Sie den vollständigen Text des PowerShell-Skripts. Wenn auf die an diesen Wissensdatenbank-Artikel angehängte Datei nicht zugegriffen werden kann, kann dieser Text kopiert und in eine Textdatei (.txt) eingefügt werden, die in den obigen Schritten verwendet werden kann.

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' }

 



Wenn sie Fragen zu diesen Weisungen haben oder Unterstützung benötigen, wenden Sie sich an den technischen Support von 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.