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: Ruční náprava chyb zabezpečení protokolu Apache Log4j ve skriptu Windows PowerShell (CVE-2021-44228, CVE-2021-45046)

Zusammenfassung: Tento článek obsahuje pokyny k ruční nápravě problémů s agentem DPA spuštěným na uzlu Microsoft Windows, který vykazuje chyby zabezpečení Apache Log4j (CVE-2021-44228 a CVE-2021-45046). ...

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

Weisungen

Tato náprava zahrnuje použití skriptu Windows PowerShell, který používá nativní příkazy skriptování systému Windows.

Tyto pokyny lze použít pro libovolný typ instalace DPA systému Windows, včetně aplikace DPA, datového úložiště DPA a samostatného agenta DPA (nainstalovaného samostatně na server nebo na jiný typ aplikačního serveru).

Další informace o chybách zabezpečení protokolu Apache Log4j naleznete v níže uvedených bezpečnostních doporučeních společnosti Dell:

Odpovědi na otázky nebo pomoc s těmito pokyny vám poskytne technická podpora společnosti Dell.

Postup ruční nápravy:

Poznámka:

  • Tyto pokyny vyžadují, aby instalace systému Windows nainstalovala prostředí PowerShell a byla k dispozici (výchozí nastavení).
  • Jsou vyžadována oprávnění a přístup správce systému Windows.

 

  1. Stáhněte si textový soubor log4j_jndiremoval.txt připojený k tomuto článku znalostní databáze.

Poznámka: Na konci těchto pokynů je případně k dispozici celý text souboru log4j_jndiremoval.txt, který lze zkopírovat a vložit do textového souboru.

  1. Zkopírujte nebo přesuňte textový soubor do dotčeného uzlu Windows.
  2. Změňte příponu textového souboru z .txt na .ps1. Poznámka: Před přejmenováním souboru může být nutné přejít do možností složky v Průzkumníkovi Windows a na kartě Zobrazení zaškrtnout políčko „Přípony názvů souborů“.
  3. Otevřete okno Windows PowerShell. V nabídce klikněte na položku Hledat a zadejte výraz PowerShell. Měla by se zobrazit položka „Windows PowerShell“. Pravým tlačítkem myši klikněte na položku Windows PowerShell a vyberte možnost „Spustit jako správce“.

pic_01.JPG

 

  1. Zastavte službu agenta DPA. To proveďte pomocí modulu snap-in služeb systému Windows nebo z příkazového řádku pomocí prostředí Windows PowerShell.

Pokud se jedná o instalaci agenta v aplikaci DPA nebo datovém úložišti DPA, v okně Windows PowerShell použijte příkaz:

dpa agent stop

Pokud se jedná o samostatnou instalaci agenta DPA, v okně Windows PowerShell zadejte příkaz:

\dpa stop

Příklad:   
C:\Program Files\EMC\DPA\agent\etc\dpa stop

  1. V okně Windows PowerShell změňte adresáře na adresář se souborem skriptu.

pic_03.JPG

 

  1. Pomocí možnosti verify spusťte v okně PowerShell skript, který vyhledá a ověří dotčené soubory. Příkaz zní:    
.\log4j_jndiremoval.ps1 -verify

pic_04.JPG

  1. Po stisknutí klávesy Enter se skript spustí a poté požádá o zadání cesty k instalaci DPA. Zadejte úplnou cestu k instalaci DPA.

pic_06.JPG

 

  1. Po stisknutí klávesy Enter se skript spustí a identifikuje všechny zranitelné soubory.

pic_07.JPG

 

  1. Znovu spusťte skript v okně PowerShell a vynechte možnost verify. V tomto režimu skript vyhledá a opraví všechny dotčené soubory. Příkaz zní:   
.\log4j_jndiremoval.ps1

Poznámka: Je nutné znovu zadat cestu k instalaci DPA.

pic_09.JPG

 

  1. Po stisknutí klávesy Enter skript vyhledá a opraví všechny nalezené zranitelné soubory.

pic_10.JPG

 

  1. V tomto okamžiku je náprava dokončena.
  2. Volitelně můžete provést kontrolu opětovným spuštěním skriptu. Pomocí možnosti verify spusťte v okně PowerShell skript, který vyhledá a ověří dotčené soubory. Příkaz zní:
.\log4j_jndiremoval.ps1 -verify

pic_14.JPG

 

  1. Spusťte službu agenta DPA. To lze provést pomocí modulu snap-in služeb systému Windows nebo z příkazového řádku pomocí prostředí Windows PowerShell.

Pokud se jedná o instalaci agenta v aplikaci DPA nebo datovém úložišti DPA, v okně Windows PowerShell použijte příkaz:

dpa agent start

Pokud se jedná o samostatnou instalaci agenta DPA, v okně Windows PowerShell zadejte příkaz:

\dpa start

Příklad:   
C:\Program Files\EMC\DPA\agent\etc\dpa start

 

Dodatek:
Níže je uveden kompletní text skriptu PowerShell. Pokud nelze otevřít soubor přiložený k tomuto článku znalostní databáze, můžete tento text zkopírovat, vložit do textového souboru (.txt) a použít ve výše uvedených krocích.

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

 



Odpověď na dotazy nebo pomoc s těmito pokyny vám poskytne technická podpora společnosti 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.