claranet.log4shell
Rol de Ansible - log4shell
:star: ¡Dános una estrella en GitHub — nos motiva mucho!
Encuentra Log4Shell CVE-2021-44228 en tu sistema
Este rol intenta encontrar JAR y WAR en el sistema de archivos y en archivos abiertos (lsof).
:warning: Tu sistema puede funcionar lentamente durante el escaneo debido a una búsqueda en / y al proceso de descompresión para buscar dentro de los JAR/WAR.
Este rol llena la variable log4shell_analyze_versions con un diccionario como este:
{
"/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
}
}
La clave es la ruta donde el rol ha encontrado la biblioteca log4j.
El valor es un diccionario que contiene la versión de log4j en version, el tipo de archivo en type (war/jar) y la clave jndilookup que indica si el archivo org/apache/logging/log4j/core/lookup/JndiLookup.class está presente en un JAR.
Un JAR sin JndiLookup.class no es vulnerable según https://www.kb.cert.org/vuls/id/930724.
:warning: Requisitos
Ansible >= 4
:zap: Instalación
ansible-galaxy install claranet.log4shell
:gear: Variables del rol
| Variable | Valor por defecto | Descripción |
|---|---|---|
| log4shell_scan_path | / | Ruta del sistema de archivos a escanear |
:arrows_counterclockwise: Dependencias
N/A
:pencil2: Ejemplo de Playbook
---
- hosts: all
roles:
- role: claranet.log4shell
log4shell_scan_path: /opt
:closed_lock_with_key: Fortalecimiento
:heart_eyes_cat: Contribuciones
:copyright: Licencia
Finding Log4Shell CVE-2021-44228 on your system
ansible-galaxy install claranet.log4shell