Все попытки здесь устранить уязвимости в log4j терпят неудачу. Вы не можете полагаться на найти
команда, так как она просматривает только набор настроенных путей (/etc/updatedb.conf
на Дебиан).
Программное обеспечение может устанавливаться в местах, не настроенных в обновленный b.conf
и быть полностью пропущенным заданием cron, которое обновляет базу данных locate.
Кроме того, выясняется, что поставщики программного обеспечения (например, Эластичный) переупаковали уязвимый JndiLookup.class (например: elasticsearch-sql-cli-7.16.1.jar
) в местах, которые ранее не были известны, что оставляет незавершенными решения, основанные на известных хэшах файлов, именах или путях.
@shodanshok здесь на правильном пути, но вместо того, чтобы явно искать log4j, необходимо просмотреть каждый «.jar» в системе.
Это более полное, требуется zip-пакет. и расширение ответа shodanshok. Это просто покажет места, где JndiLookup.класс
код найден. Можно было бы добавить еще одну строку для устранения этих уязвимостей, но я бы предпочел оставить это на усмотрение администратора. Эластичная ссылка выше показывает, как:
для jar в $(find / -name '*.jar'); делать
распаковать -l "$jar" | grep 'JndiLookup.class' &>/dev/null && echo "Найдена уязвимость в $jar"
сделано
Пример:
# для jar в $(find / -name '*.jar'); делать
> распаковать -l "$jar" | grep 'JndiLookup.class' &>/dev/null && echo "Найдена уязвимость в $jar"
> сделано
Найдена уязвимость в /usr/lib/unifi/lib/log4j-core-2.13.3.jar
Найдена уязвимость в файле /home/minecraft/.m2/repository/org/spigotmc/minecraft-server/1.15.2-SNAPSHOT/minecraft-server-1.15.2-SNAPSHOT.jar.
Найдена уязвимость в файле /home/minecraft/.m2/repository/org/spigotmc/minecraft-server/1.15.1-SNAPSHOT/minecraft-server-1.15.1-SNAPSHOT.jar.
...
Будьте осторожны при запуске этого в системе с смонтированными сетевыми файловыми системами, так как это может повлиять на производительность. В таких случаях вам нужно запускать команды на самом файловом сервере.