Рейтинг:4

У меня есть log4j на моем Ubuntu 18.04.6?

флаг in

Меня явно беспокоит эта уязвимость, но интересно, есть ли эта библиотека вообще на моей машине?

Машина представляет собой веб-сервер, на котором запущено несколько узел Expressjs рамки над нгинкс, плюс геосервер

Я пропатчил машину сегодня с помощью обновление sudo apt && обновление sudo apt: ubuntu-преимущество-инструменты, openssl и libssl1.1 были модернизированы.

Моя версия Java: версия openjdk "1.8.0_292" Среда выполнения OpenJDK (сборка 1.8.0_292-8u292-b10-0ubuntu1~18.04-b10) 64-разрядная виртуальная машина сервера OpenJDK (сборка 25.292-b10, смешанный режим)

геосервер это v2.13.0, которую я считаю единственной программой, которая может использовать log4j. Мой геосервер — это независимая от платформы бинарная версия (не версия Tomcat), которая использует пристань как его веб-сервер, я думаю.

Как я могу узнать, есть ли у меня версия log4j и какая у меня?

muru avatar
флаг us
Выводит ли `pgrep -fa log4j` или `locate log4j` что-нибудь?
флаг in
Да! `найти log4j` дает: `/usr/local/geoserver-2.13.0/lib/log4j-1.2.17.jar /usr/local/geoserver-2.13.0/resources/log4j.properties /usr/local/geoserver-2.13.0/webapps/geoserver/WEB-INF/lib/log4j-1.2.17.jar /usr/local/geoserver-2.13.0/webapps/geoserver/WEB-INF/lib/slf4j-log4j12-1.6.4.jar`, похоже, мой геосервер использует его. Спасибо. Хм, что делать?
флаг in
Я нашел параметр в Geoserver «Количество символов для регистрации входящих запросов POST (0 для отключения)» и изменил его на 0. Я понятия не имею, поможет ли это что-нибудь?
Soren A avatar
флаг mx
Какая уязвимость?
флаг in
Смотрите здесь https://www.wired.com/story/log4j-flaw-hacking-internet/
user535733 avatar
флаг cn
См. https://ubuntu.com/security/CVE-2021-44228.
Рейтинг:6
флаг in

Вы можете проверить, установлен ли он в apt:

список подходящих --установлен | grep -i log4j

Но вам все равно нужно также проверить это, чтобы найти возможные файлы, которые могут где-то работать:

найти log4j

Кроме того, полезно проверить, используете ли вы среду выполнения Java на сервере:

Java-версия

Если вы даже не используете среду выполнения Java, log4j может не иметь значения на этом сервере, поскольку это библиотека Java.

Возможно, есть и другие места для проверки.

Рейтинг:2
флаг at

ОБНОВЛЕНИЕ: 2021-12-18...

Не забывайте всегда проверять последнюю информацию из ресурсов, перечисленных ниже.

CVE-2021-45105... 2.16.0 и 2.12.2 больше не являются действительными исправлениями! Текущие версии исправления: 2.17.0 (Java 8) и 2.12.3 (Java 7). Во всех других версиях Java необходимо использовать временный подход (удаление/удаление файла JndiLookup.class из JAR-файла log4j-core.
Я обновил свое сообщение ниже соответственно.


Прямо отвечая на вопрос:
Перейти к Ветка Reddit: log4j_0day_being_exploited и Ctrl+ф за .class и .jar рекурсивный охотник. Запустите программу там, и если она что-нибудь найдет, исправьте.

Затем перейдите на тот же сайт и Ctrl+ф за Консультации поставщиков. Выполните поиск в этих списках, чтобы узнать, используете ли вы какое-либо из уязвимых программ. Если да и обновление доступно, обновите.


Исправление:
CVE-2021-45046 ... CVE-2021-44228 ... CVE-2021-45105
Хотя большинство людей, которым нужно знать, вероятно, уже знают достаточно, чтобы делать то, что им нужно, я подумал, что все же на всякий случай поместил бы это...

  • Следуйте инструкциям в этих ресурсах... они могут измениться, но

По состоянию на 18 декабря 2021 г.

Это в основном

  • Удалите JAR-файлы log4j-core, если это возможно.
    • С обеих работающих машин для немедленного исправления И
    • в вашем исходном коде / файлах управления исходным кодом, чтобы будущие сборки / выпуски / развертывания не перезаписывали изменения
  • Если это невозможно (из-за зависимости), обновите их
    • Если вы используете Java 8, вы можете перейти на log4j 2.17.0+.
    • Если вы используете Java 7, вы можете перейти на log4j 2.12.3.
    • Если вы используете более старую версию Java, вам необходимо выполнить обновление до новейшей версии Java, а затем использовать новейшую версию Log4J.
    • Опять же, эти изменения должны происходить как на работающей машине, так и в коде.
  • Если ни один из них невозможен по какой-либо причине... тогда существует зазор без исправления, заключающийся в удалении файла JndiLookup.class из JAR-файлов log4j-core.
    • В Linux есть однострочный вариант остановки разрыва с использованием молния Команда, которая по умолчанию входит в состав большинства дистрибутивов Linux.
      • zip -q -d "$LOG4J_JAR_PATH" org/apache/logging/log4j/core/lookup/JndiLookup.class
    • На момент написания в большинстве онлайн-руководств по опции Stop Gap в Windows говорится, что нужно сделать следующее (опять же... при условии, что вы не можете выполнить один из указанных выше вариантов удаления JAR или обновления):
      • Установите что-то вроде 7-zip
      • Найдите все ваши JAR-файлы log4j-core и для каждого из них выполните следующие действия...
      • Переименуйте JAR, чтобы изменить расширение на .zip
      • Используйте 7-zip, чтобы разархивировать JAR (который теперь имеет .zip расширение)
      • Найдите и удалите файл JndiLookup.class из разархивированной папки.
        • Путь \path\to\unzippedFolder\org\apache\logging\log4j\core\lookup\JndiLookup.class
      • Удалите старый файл JAR (который теперь имеет расширение .zip)
      • Используйте 7-zip, чтобы повторно заархивировать папку
      • Переименуйте новую папку .zip, чтобы изменить расширение на .банка
    • Есть также несколько вариантов использования Power Shell.

Это нормально, если у вас есть только 1 или 2 JAR-файла, и вы не возражаете против установки 7-zip или у вас есть PowerShell для этого. Однако, если у вас много JAR-файлов или вы не хотите устанавливать 7-zip и не имеете доступа к Power Shell, я создал сценарий VBS с открытым исходным кодом, который сделает это за вас без необходимости установки любое дополнительное программное обеспечение. https://github.com/CrazyKidJack/Windowslog4jClassRemover

Прочтите README и примечания к выпуску https://github.com/CrazyKidJack/Windowslog4jClassRemover/релизы/последние

Jackson Pfeffer avatar
флаг at
@muru Спасибо за редактирование форматирования. Ничего, если я снова сделаю часть «ОБНОВЛЕНИЕ» заголовком?
muru avatar
флаг us
Конечно, но я лично считаю, что эта первая строка ничего не добавляет в качестве заголовка (она как бы констатирует очевидное).
Jackson Pfeffer avatar
флаг at
Спасибо :) Я только что сделал часть «ОБНОВЛЕНИЕ» заголовком, потому что я хочу, чтобы люди ее видели... особенно люди, которые возвращаются к этому во второй раз и в противном случае могли бы быстро прокрутить до конкретной части, на которую они хотят сослаться. ... Я хочу убедиться, что они заметили, что это изменилось
Рейтинг:0
флаг de

Имейте в виду, что эта уязвимость есть только в log4j v2. Эта уязвимость не затрагивает старую версию log4j v1.

Важно, вы не найдете его в своем списке подходящих (как описано в принятом ответе), поскольку обычно он не устанавливается как отдельное приложение или служба. log4j — это библиотека ведения журналов Java, используемая приложениями, поэтому она будет установлена ​​вместе с другим (Java) приложением.

Вам нужно будет найти файл с именем log4jv2*.jar в любом месте на диске, чтобы быть уверенным. найти сделает это, если установлено другое sudo find / -iname log4j2*.jar.

Обратите внимание, что некоторые приложения также переименовывают JAR-файлы log4j2.

Также имейте в виду, что на сегодняшний день (2021-DEC-19) в Log4J v2 была обнаружена еще одна уязвимость, которая может сделать возможным удаленный отказ в обслуживании, и все, кто установил исправление до версии 2.16, теперь должны установить исправление до версии 2.17.

https://logging.apache.org/log4j/2.x/security.html#CVE-2021-45105

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.