Data Protection Advisor: Apache Log4j -haavoittuvuuksien manuaalinen korjaus Windows PowerShell -komentosarjassa (CVE-2021-44228, CVE-2021-45046)

Samenvatting: Tämä artikkeli sisältää ohjeet DPA-agentin manuaaliseen korjautumiseen, kun käytössä on Microsoft Windows -solmu, johon Apache Log4j -haavoittuvuus vaikuttaa (CVE-2021-44228 ja CVE-2021-45046). ...

Dit artikel is van toepassing op Dit artikel is niet van toepassing op Dit artikel is niet gebonden aan een specifiek product. Niet alle productversies worden in dit artikel vermeld.

Instructies

Tämä korjaus tehdään käyttämällä Windows PowerShell -komentosarjaa, joka käyttää Windowsin alkuperäisiä komentosarjakomentoja.

Näitä ohjeita voidaan soveltaa mihin tahansa Windows DPA -asennukseen, mukaan lukien DPA-sovellus, DPA-tietosäilö ja erillinen DPA-agentti (asennettu yksin palvelimeen tai johonkin toiseen sovelluspalvelimeen).

Lisätietoja Apache Log4j -haavoittuvuuksista on seuraavassa Dellin tietoturvatiedotteessa:

Jos sinulla on kysyttävää näistä ohjeista, ota yhteys Dellin tekniseen tukeen.

Manuaalisen korjautuksen vaiheet:

Huomautus:

  • Nämä ohjeet edellyttävät, että Windows-asennukseen on asennettu PowerShell ja että se on käytettävissä (oletus).
  • Windows-järjestelmänvalvojan oikeudet ja käyttöoikeudet tarvitaan.

 

  1. Lataa tähän tietämyskannan artikkeliin log4j_jndiremoval.txt liitetty tekstitiedosto.

Huomautus: Vaihtoehtoisesti log4j_jndiremoval.txt-tiedoston koko teksti toimitetaan näiden ohjeiden lopussa, ja se voidaan kopioida ja liittää tekstitiedostoon.

  1. Kopioi tai siirrä tekstitiedosto Windows-solmuun, jota ongelma koskee.
  2. Nimeä tekstitiedosto uudelleen ja vaihda sen tiedostotunniste muotoon .txt muotoon .ps1. Huomautus: Sinun tarvitsee ehkä siirtyä Resurssienhallinnan kansion asetuksiin ja näyttää tiedostotunnisteet valitsemalla valintaruutu ennen tiedoston uudelleennimeämistä.
  3. Avaa Windows PowerShell -ikkuna. Valitse valikosta Haku ja kirjoita PowerShell. Windows PowerShellin pitäisi avautua. Napsauta Windows PowerShelliä hiiren kakkospainikkeella ja valitse Suorita järjestelmänvalvojana.

pic_01.JPG

 

  1. Pysäytä DPA-agentin palvelu. Tee se Windows-palvelujen laajennuksen tai komentorivin kautta Windows PowerShellin avulla.

Jos tämä on agentin asennus DPA-sovellukseen tai DPA-tietosäilön Windows PowerShell -ikkunassa, komento on:

dpa-agentin pysäytys

Jos kyseessä on Windows PowerShell -ikkunan erillinen DPA Agent -asennus, komento on:

\dpa stop

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

  1. Vaihda Windows PowerShell -ikkunassa hakemisto hakemistoon komentosarjatiedoston avulla.

pic_03.JPG

 

  1. Suorita komentosarja PowerShell-ikkunassa tarkistustoiminnolla, joka tarkistaa ja tarkistaa tiedostot, joita ongelma koskee. Komento on:    
.\log4j_jndiremoval.ps1 -verify

pic_04.JPG

  1. Kun painat Enter-näppäintä, komentosarja käynnistyy ja kehottaa antamaan polun DPA-asennukseen. Anna DPA-asennuksen koko polku.

pic_06.JPG

 

  1. Kun painat Enter-näppäintä, komentosarja suoritetaan ja se tunnistaa mahdollisesti haavoittuvat tiedostot.

pic_07.JPG

 

  1. Suorita komentosarja uudelleen PowerShell-ikkunassa ilman Verify (Tarkista) -vaihtoehtoa. Tässä tilassa komentosarja etsii ja korjaa kaikki tiedostot, joita ongelma koskee. Komento on:   
.\log4j_jndiremoval.ps1

Huomautus: DPA-asennuspolku on annettava uudelleen.

pic_09.JPG

 

  1. Kun painat Enter-näppäintä, komentosarja etsii ja korjaa mahdolliset haavoittuvaiset tiedostot.

pic_10.JPG

 

  1. Tässä vaiheessa korjaus on valmis.
  2. Vaihtoehtoisesti voit tehdä uudelleentarkistuksen suorittamalla komentosarjan uudelleen. Suorita komentosarja PowerShell-ikkunassa Verify-toiminnolla, joka tarkistaa ja tarkistaa tiedostot, joita ongelma koskee. Komento on:
.\log4j_jndiremoval.ps1 -verify

pic_14.JPG

 

  1. Käynnistä DPA Agent -palvelu. Tämä voidaan tehdä Windows-palvelujen laajennuksella tai komentoriviltä Windows PowerShellissä.

Jos tämä on agentin asennus DPA-sovellukseen tai DPA-tietosäilön Windows PowerShell -ikkunassa, komento on:

dpa-agentin käynnistys

Jos kyseessä on Windows PowerShell -ikkunan erillinen DPA Agent -asennus, komento on:

\dpa start

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

 

Lisäys:
PowerShell-komentosarjan koko teksti on jäljempänä. Jos tähän tietämyskantaan liitettyä tiedostoa ei voi käyttää, tämän tekstin voi kopioida ja liittää tekstitiedostoon (.txt) edellä olevien ohjeiden mukaisesti.

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

 



Jos sinulla on kysyttävää näistä ohjeista, ota yhteys Dellin tekniseen tukeen.

Artikeleigenschappen
Artikelnummer: 000194869
Artikeltype: How To
Laatst aangepast: 18 aug. 2022
Versie:  4
Vind antwoorden op uw vragen via andere Dell gebruikers
Support Services
Controleer of uw apparaat wordt gedekt door Support Services.