claranet.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.log4shell