log4shell
Ansible роль - log4shell
:star: Оцените нас на GitHub — это сильно мотивирует!
Найдите уязвимость Log4Shell CVE-2021-44228 на вашей системе
Эта роль пытается найти JAR и WAR файлы в файловой системе и открытых файлах (lsof).
:warning: Ваша система может работать медленно во время сканирования из-за команды find
на /
и процесса извлечения внутри JAR/WAR файлов.
Эта роль заполняет переменную log4shell_analyze_versions
словарем, похожим на этот:
{
"/tmp/rundeck.war": {
"version": "2.13.2",
"type": "war",
"jndilookup": false
},
"/tmp/apache-log4j-2.12.1-bin/log4j-core-2.12.1.jar": {
"version": "2.12.1",
"type": "jar",
"jndilookup": true
},
"/tmp/apache-log4j-2.12.1-bin/log4j-core-2.12.1-tests.jar": {
"version": "2.12.1",
"type": "jar",
"jndilookup": false
}
}
Ключ — это путь, по которому роль нашла библиотеку log4j.
Значение — это словарь, содержащий версию log4j в version
, тип файла в type
(war/jar) и ключ jndilookup
, который указывает, присутствует ли файл org/apache/logging/log4j/core/lookup/JndiLookup.class
в JAR файле.
JAR файл без JndiLookup.class не уязвим по данным https://www.kb.cert.org/vuls/id/930724.
:warning: Требования
Ansible >= 4
:zap: Установка
ansible-galaxy install claranet.log4shell
:gear: Переменные роли
Переменная | Значение по умолчанию | Описание |
---|---|---|
log4shell_scan_path | / | Путь к файловой системе для сканирования |
:arrows_counterclockwise: Зависимости
Нет
:pencil2: Пример Playbook
---
- hosts: all
roles:
- role: claranet.log4shell
log4shell_scan_path: /opt
:closed_lock_with_key: Ужесточение
:heart_eyes_cat: Вклад
:copyright: Лицензия
Finding Log4Shell CVE-2021-44228 on your system
ansible-galaxy install claranet/ansible-role-log4shell