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.

Data Protection Advisor: Manuell reparation av säkerhetsproblem med Apache Log4j i Windows PowerShell-skriptet (CVE-2021-44228, CVE-2021-45046)

Zusammenfassung: Den här artikeln innehåller instruktioner för manuell reparation av en DPA-agent som körs på en Microsoft Windows-nod som påverkas av säkerhetsproblemen i Apache Log4j (CVE-2021-44228 och CVE-2021-45046). ...

Dieser Artikel gilt für Dieser Artikel gilt nicht für Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden. In diesem Artikel werden nicht alle Produktversionen aufgeführt.

Weisungen

Åtgärden innebär att du använder ett Windows PowerShell-skript som använder inbyggda Windows-skriptkommandon.

De här anvisningarna kan tillämpas på vilken typ av Windows DPA-installation som helst, inklusive DPA-programmet, DPA-datalagret och den fristående DPA-agenten (installerad ensam på en server eller på en annan typ av programserver).

Mer information om Apache Log4j-säkerhetsproblem finns i Dells säkerhetsrekommendation nedan:

Kontakta Dells tekniska support om du har frågor eller hjälp med dessa anvisningar.

Steg för manuell reparation:

Obs!

  • De här anvisningarna kräver att Windows-installationen har PowerShell installerat och att det är tillgängligt (standard).
  • Windows-administratörsbehörigheter och -åtkomst krävs.

 

  1. Ladda ner textfilen som är bifogad den här KB-artikeln, log4j_jndiremoval.txt.

Obs! Du kan också se den fullständiga texten för filen log4j_jndiremoval.txt i slutet av anvisningarna, som kan kopieras och klistras in i en textfil.

  1. Kopiera eller flytta textfilen till den berörda Windows-noden.
  2. Byt namn på textfilen och ändra filnamnstillägget från .txt till .ps1. Obs! Du kan behöva gå till mappalternativen i Utforskaren, Visa och markera rutan för att visa filnamnstillägg innan du byter namn på filen.
  3. Öppna ett Windows PowerShell-fönster. Klicka på Sök i menyn och skriv in PowerShell. "Windows PowerShell" bör visas. Högerklicka på Windows PowerShell och välj Kör som administratör.

pic_01 JPG

 

  1. Stoppa DPA Agent Service. Gör detta genom att använda snapin-modulen för Windows-tjänster eller från kommandoraden med Windows PowerShell.

I Windows PowerShell-fönstret, om det här är en agentinstallation på DPA-programmet eller DPA-datalagret, är kommandot:

Stoppa DPA-agenten

I Windows PowerShell-fönstret, om det här är en fristående DPA-agentinstallation, är kommandot:

installationssökväg för \dpa stop

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

  1. I fönstret Windows PowerShell ändrar du kataloger till katalogen med skriptfilen.

pic_03.JPG

 

  1. Kör skriptet i PowerShell-fönstret med hjälp av verifieringsalternativet, som söker efter och verifierar de filer som påverkas. Kommandot är:    
.\log4j_jndiremoval.ps1 -verify

pic_04 JPG

  1. När du trycker på Retur körs skriptet och frågar sedan efter sökvägen till DPA-installationen. Ange den fullständiga sökvägen till DPA-installationen.

pic_06 JPG

 

  1. När du har klickat på Retur körs skriptet och identifierar alla sårbara filer.

pic_07 JPG

 

  1. Kör skriptet igen i PowerShell-fönstret om du inte väljer alternativet Verifiera. I det här läget söker skriptet efter och korrigerar alla filer som påverkas. Kommandot är:   
.\log4j_jndiremoval.ps1

Obs! DPA-installationssökvägen måste anges igen.

pic_09.JPG

 

  1. När du har klickat på Retur söker skriptet efter och åtgärdar alla sårbara filer som hittats.

pic_10.JPG

 

  1. I det här läget är reparationen slutförd.
  2. Som ett valfritt steg kan du kontrollera igen genom att köra skriptet igen. Kör skriptet i PowerShell-fönstret med alternativet Verifiera, som söker efter och verifierar de filer som påverkas. Kommandot är:
.\log4j_jndiremoval.ps1 -verify

pic_14.JPG

 

  1. Starta DPA Agent Service. Detta kan göras med snapin-modulen för Windows-tjänster eller från kommandoraden med Windows PowerShell.

I Windows PowerShell-fönstret, om det här är en agentinstallation på DPA-programmet eller DPA-datalagret, är kommandot:

dpa-agenten startar

I Windows PowerShell-fönstret, om det här är en fristående DPA-agentinstallation, är kommandot:

installationssökväg för \dpa start

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

 

Tillägg:
Nedan finns den fullständiga texten i PowerShell-skriptet. Om den fil som bifogas till denna KB inte kan nås kan den här texten kopieras och klistras in som en textfil (.txt) för användning i ovanstående steg.

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

 



Kontakta Dells tekniska support om du har frågor eller hjälp med dessa anvisningar.

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.