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. Исправление уязвимостей Apache Log4j вручную с помощью сценария Windows PowerShell (CVE-2021-44228, CVE-2021-45046)

Zusammenfassung: В этой статье приведены инструкции по устранению уязвимости агента DPA, который работает на узле Microsoft Windows, подверженном уязвимостям Apache Log4j (CVE-2021-44228 и CVE-2021-45046). ...

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

Weisungen

Это исправление включает применение сценария Windows PowerShell, который использует встроенные команды сценариев Windows.

Эти инструкции могут применяться к любым типам установки Windows DPA, включая приложение DPA, хранилище данных DPA и автономный агент DPA (устанавливается отдельно на сервере или на сервере приложений другого типа).

Дополнительные сведения об уязвимостях Apache Log4j см. в следующих рекомендациях по безопасности Dell:

По вопросам, связанным с данными инструкциями, обращайтесь в службу технической поддержки Dell.

Действия по исправлению вручную:

Примечание.

  • Для выполнения этих инструкций требуется, чтобы в установку Windows была включена среда PowerShell и чтобы она была доступна (по умолчанию).
  • Требуются привилегии администратора Windows и доступ.

 

  1. Скачайте текстовый файл log4j_jndiremoval.txt, прикрепленный к этой статье базы знаний.

Примечание. В качестве альтернативы, в конце данных инструкций предоставляется полный текст файла log4j_jndiremoval.txt, который можно скопировать и вставить в текстовый файл.

  1. Скопируйте или переместите текстовый файл на затронутый узел Windows.
  2. Переименуйте текстовый файл и измените расширение файла с .txt на .ps1. Примечание. Перед переименованием файла может потребоваться перейти к параметрам папки Проводника Windows, открыть вкладку «Вид» и установить флажок «Расширения имен файлов».
  3. Откройте окно Windows PowerShell. В меню нажмите Поиск и введите PowerShell. Должно отобразиться «Windows PowerShell». Нажмите правой кнопкой мыши на Windows PowerShell и в открывшемся меню выберите пункт «Запуск от имени администратора».

pic_01.jpg

 

  1. Остановите работу службы агента DPA. Для этого используйте модуль служб Windows или командную строку через Windows PowerShell.

В окне Windows PowerShell, если это установка агента в приложении DPA или хранилище данных DPA, команда выглядит следующим образом:

dpa agent stop

В окне Windows PowerShell, если это установка автономного агента DPA, команда выглядит следующим образом:

\dpa stop

Пример.   
C:\Program Files\EMC\DPA\agent\etc\dpa stop

  1. В окне Windows PowerShell измените каталоги на каталог с файлом сценария.

pic_03.jpg

 

  1. Запустите сценарий в окне PowerShell с помощью параметра verify, который сканирует и проверяет затронутые файлы. Команда выглядит следующим образом:    
.\log4j_jndiremoval.ps1 -verify

pic_04.jpg

  1. При нажатии клавиши ENTER запускается сценарий, а затем появляется запрос на путь к установке DPA. Введите полный путь к установке DPA.

pic_06.jpg

 

  1. После нажатия клавиши Enter, сценарий запускается и идентифицирует все уязвимые файлы.

pic_07.jpg

 

  1. Повторно запустите сценарий в окне PowerShell, опустив параметр Verify. В этом режиме сценарий сканирует и исправляет любые затронутые файлы. Команда выглядит следующим образом:   
.\log4j_jndiremoval.ps1

Примечание. Путь установки DPA необходимо ввести повторно.

pic_09.jpg

 

  1. После нажатия клавиши Enter сценарий выполняет поиск и исправление обнаруженных уязвимых файлов.

pic_10.jpg

 

  1. На этом этапе восстановление завершено.
  2. В качестве дополнительного шага повторите проверку, повторно запустив сценарий. Запустите сценарий в окне PowerShell с параметром Verify, который сканирует и проверяет затронутые файлы. Команда выглядит следующим образом:
.\log4j_jndiremoval.ps1 -verify

pic_14.jpg

 

  1. Запустите службу агента DPA. Это можно сделать с помощью модуля служб Windows или командной строки через Windows PowerShell.

В окне Windows PowerShell, если это установка агента в приложении DPA или хранилище данных DPA, команда выглядит следующим образом:

dpa agent start

В окне Windows PowerShell, если это установка автономного агента DPA, команда выглядит следующим образом:

\dpa start

Пример.   
C:\Program Files\EMC\DPA\agent\etc\dpa start

 

Дополнение.
Ниже приведен полный текст сценария PowerShell. Если доступ к файлу, прикрепленному к этой статье базы знаний, невозможен, этот текст можно скопировать и вставить как есть в текстовый файл (.txt) для использования в указанных выше этапах.

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

 



По вопросам, связанным с данными инструкциями, обращайтесь в службу технической поддержки 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.