
Travaux de mitigation log4j
Ce rôle Ansible déploie un script basé sur Python pour atténuer programmatiquement la vulnérabilité Log4Shell (CVE-2021-44228) en supprimant la classe vulnérable JndiLookup des fichiers JAR Log4j concernés.
Il est conçu pour être exécuté via Ansible, mais vous pouvez également exécuter le script manuellement si vous le souhaitez.
En savoir plus sur la vulnérabilité Log4Shell ici :
JndiLookup.class est présentJndiLookup.class du JARzip et zipinfo installés sur les systèmes ciblesPyYAML installé sur les systèmes cibles (pip install pyyaml)Le script est configuré via un fichier YAML, modélisé automatiquement par le rôle.
Exemple de config.yaml :
app_directories:
- /opt/apps
backup_directory: /opt/backups
log_file: /var/log/log4j_mitigation.log
app_directories : liste des répertoires à analyser pour les fichiers JARbackup_directory : emplacement où stocker les sauvegardes des JAR originauxlog_file : chemin vers un fichier journal pour le suivi des opérationsAjoutez ce rôle à votre playbook :
- name: Mitigate Log4Shell CVE-2021-44228
hosts: all
become: true
roles:
- log4shell_mitigation
Si vous souhaitez exécuter le script manuellement, vous pouvez le faire :
Copiez le script sur votre machine cible :
files/log4shell_mitigator.py
Créez votre propre config.yaml dans le même répertoire.
Exécutez-le :
python3 log4shell_mitigator.py
/var/log/log4j_mitigation.log) pour voir quels JAR ont été corrigésMIT
Les PRs et les améliorations sont les bienvenues -> veuillez forker et soumettre une merge request.
Ce logiciel et le rôle Ansible qui l'accompagne sont fournis « tels quels » et sans garanties d'aucune sorte, expresses ou implicites. Vous êtes seul responsable de l'évaluation et des tests de la pertinence, de la sécurité et de l'efficacité de ce code avant de l'appliquer à tout environnement. AxisOps Ltd (GB08681761) décline expressément toute responsabilité pour les dommages, pertes de données, interruptions de service ou autres préjudices résultant de l'utilisation ou de la mauvaise utilisation de ce code.
Utilisez à vos propres risques. Auditez, testez et validez toujours le code dans un environnement contrôlé avant le déploiement en production.
SysOps Team @ AxisOps