
log4j mitigation work
Este role Ansible implanta um script baseado em Python para mitigar programaticamente a vulnerabilidade Log4Shell (CVE-2021-44228) removendo a classe vulnerável JndiLookup dos arquivos JAR do Log4j afetados.
Ele foi projetado para ser executado via Ansible, mas você também pode executar o script manualmente, se desejar.
Leia mais sobre a vulnerabilidade Log4Shell aqui:
JndiLookup.class está presenteJndiLookup.class do JARzip e zipinfo instalados nos sistemas de destinoPyYAML instalado nos sistemas de destino (pip install pyyaml)O script é configurado via um arquivo YAML, modelado automaticamente pelo role.
Exemplo config.yaml:
app_directories:
- /opt/apps
backup_directory: /opt/backups
log_file: /var/log/log4j_mitigation.log
app_directories: lista de diretórios para escanear em busca de arquivos JARbackup_directory: onde armazenar os backups dos JARs originaislog_file: caminho para um arquivo de log para rastreamento de operaçõesAdicione este role ao seu playbook:
- name: Mitigate Log4Shell CVE-2021-44228
hosts: all
become: true
roles:
- log4shell_mitigation
Se desejar executar o script manualmente, você pode fazer o seguinte:
Copie o script para sua máquina de destino:
files/log4shell_mitigator.py
Crie seu próprio config.yaml no mesmo diretório.
Execute:
python3 log4shell_mitigator.py
/var/log/log4j_mitigation.log) para ver quais JARs foram corrigidosMIT
PRs e melhorias são bem-vindos -> por favor, faça um fork e envie uma solicitação de merge.
Este software e o role Ansible acompanhante são fornecidos “como estão” e sem garantias de qualquer tipo, expressas ou implícitas. Você é o único responsável por avaliar e testar a adequação, segurança e eficácia deste código antes de aplicá-lo a qualquer ambiente. A AxisOps Ltd (GB08681761) isenta-se expressamente de qualquer responsabilidade por danos, perda de dados, interrupção de serviço ou outros danos resultantes do uso ou uso indevido deste código.
Use por sua conta e risco. Sempre audite, teste e valide o código em um ambiente controlado antes da implantação em produção.
Equipe SysOps @ AxisOps