Как я могу установить Dlog4j2.formatMsgNoLookups=true в JVM?

#java #jvm-hotspot #jvm-arguments

#java #jvm-точка доступа #jvm-аргументы

Вопрос:

На одном из моих компьютеров есть JRE 1.8.0_45, а на другом компьютере есть OpenJDK.

Я хочу установить флаг JVM Dlog4j2.formatMsgNoLookups=true, но где я могу записать эту часть конфигурации?

Комментарии:

1. Предполагая, что вы обеспокоены уязвимостью log4shell, я бы посоветовал поискать уязвимые JAR-файлы log4j2 и обновить их до версии 2.15 (или более поздней).

2. (И, серьезно 1.8.0_45 ?? Это много, много исправлений безопасности позади. Это тоже исправьте.)

3. вы также можете добавить -Dlog4j2.formatMsgNoLookups=true переменную среды JAVA_TOOL_OPTIONS .

4. Последняя версия Java 8 не уязвима. Но последняя версия — 1.8.0_311. Java 8 обновляет таблицу в en.wikipedia.org/wiki/Java_version_history обобщает выпуски исправлений, которые включают исправления безопасности. В принципе… их много.

5. Я использую jdk 1.8.0_262 / 64 бит — есть ли какой-нибудь способ воспроизвести эту проблему в локальном? или как мне убедиться, что исправление Dlog4j2.formatMsgNoLookups=true работает или нет?

Ответ №1:

Если возможно, обновитесь до Log4j версии 2.15.0.

Если обновление невозможно, убедитесь, что установлено системное свойство -Dlog4j2.formatMsgNoLookups=true . Используйте эту команду:

 java -Dlog4j2.formatMsgNoLookups=true -jar myapp.jar
 

Также стоит прочитать о смягчении последствий: