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.

Data Protection Advisor: Manuell utbedring for Apache Log4j-sikkerhetsproblemer med Windows PowerShell-skript (CVE-2021-44228, CVE-2021-45046)

Summary: Denne artikkelen inneholder instruksjoner for manuell utbedring av en DPA-agent som kjører på en Microsoft Windows-node som er berørt av Apache Log4j-sikkerhetsproblemer (CVE-2021-44228 og CVE-2021-45046). ...

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

Denne utbedringen innebærer bruk av et Windows PowerShell-skript som bruker innebygde Windows-skriptkommandoer.

Disse instruksjonene kan brukes på alle typer Windows DPA-installasjon, inkludert DPA-applikasjonen, DPA-datalageret og frittstående DPA-agent (installert alene på en server eller på en annen type applikasjonsserver).

Se Dells sikkerhetsveiledning nedenfor hvis du vil ha mer informasjon om sikkerhetsproblemene med Apache Log4j:

Hvis du vil ha spørsmål eller hjelp med disse instruksjonene, kan du kontakte Dells tekniske kundestøtte.

Fremgangsmåte for manuell utbedring:

Merk:

  • Disse instruksjonene krever at Windows-installasjonen har PowerShell installert, og at den er tilgjengelig (standard).
  • Windows Administrator-rettigheter og -tilgang kreves.

 

  1. Last ned tekstfilen som er koblet til denne KB-artikkelen, log4j_jndiremoval.txt.

Merk: Alternativt kan hele teksten i log4j_jndiremoval.txt-filen vises på slutten av disse instruksjonene, som kan kopieres og limes inn i en tekstfil.

  1. Kopier eller flytt tekstfilen til den berørte Windows-noden.
  2. Gi tekstfilen et nytt navn, og endre filtypen fra .txt til .ps1. Merk: Du må kanskje gå til mappealternativene i Windows Utforsker, vise og merke av i boksen for å vise filtyper før du endrer navn på filen.
  3. Åpne et Windows PowerShell-vindu. I menyen klikker du på Søk og skriver inn PowerShell. Windows PowerShell skal vises. Høyreklikk på Windows PowerShell, og velg Kjør som administrator.

pic_01.JPG

 

  1. Stopp DPA Agent-tjenesten. Gjør dette ved hjelp av snapin-modulen for Windows-tjenester eller fra kommandolinjen ved hjelp av Windows PowerShell.

Hvis dette er en agentinstallasjon på DPA-applikasjonen eller DPA-datalageret i Windows PowerShell-vinduet, er kommandoen:

dpa-agentstopp

Hvis dette er en frittstående DPA-agentinstallasjon i Windows PowerShell-vinduet, er kommandoen:

installasjonsbane for \dpa

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

  1. I Windows PowerShell-vinduet endrer du kataloger til katalogen med skriptfilen.

pic_03.JPG

 

  1. Kjør skriptet i PowerShell-vinduet ved hjelp av kontrollalternativet, som søker etter og verifiserer de berørte filene. Kommandoen er:    
.\log4j_jndiremoval.ps1 – kontroller

pic_04.JPG

  1. Når du trykker på Enter, kjøres skriptet og ber deretter om banen til DPA-installasjonen. Angi hele banen til DPA-installasjonen.

pic_06.JPG

 

  1. Når du har trykket på Enter, kjøres skriptet og identifiserer eventuelle sårbare filer.

pic_07.JPG

 

  1. Kjør skriptet på nytt i PowerShell-vinduet, og utelate alternativet Verify (Bekreft). I denne modusen søker skriptet etter og reparerer alle de berørte filene. Kommandoen er:   
.\log4j_jndiremoval.ps1

Merk: DPA-installasjonsbanen må angis på nytt.

pic_09.JPG

 

  1. Når du har trykket på Enter, søker skriptet etter og reparerer eventuelle sårbare filer som er funnet.

pic_10.JPG

 

  1. På dette tidspunktet er utbedringen fullført.
  2. Som et valgfritt trinn kan du kontrollere på nytt ved å kjøre skriptet på nytt. Kjør skriptet i PowerShell-vinduet ved hjelp av alternativet Verify (Kontroller), som søker etter og verifiserer de berørte filene. Kommandoen er:
.\log4j_jndiremoval.ps1 – kontroller

pic_14.JPG

 

  1. Start DPA Agent-tjenesten. Dette kan gjøres ved hjelp av snapin-modulen for Windows-tjenester eller fra kommandolinjen ved hjelp av Windows PowerShell.

Hvis dette er en agentinstallasjon på DPA-applikasjonen eller DPA-datalageret i Windows PowerShell-vinduet, er kommandoen:

start av dpa-agent

Hvis dette er en frittstående DPA-agentinstallasjon i Windows PowerShell-vinduet, er kommandoen:

installasjonsbane for \dpa

Eksempel:   
C:\ProgramFiler\EMC\DPA\agent\etc\dpa start

 

Tillegg:
Nedenfor finner du hele teksten i PowerShell-skriptet. Hvis du ikke får tilgang til filen som er koblet til denne kb-en, kan denne teksten kopieres og limes inn i en tekstfil (.txt) for bruk i trinnene ovenfor.

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

 



Hvis du vil ha spørsmål eller hjelp med disse instruksjonene, kan du kontakte Dells tekniske kundestøtte.

Article Properties


Last Published Date

18 Aug 2022

Version

4

Article Type

How To