
Log4j-Mitigationsarbeit
Diese Ansible-Rolle stellt ein Python-basiertes Skript bereit, um die Log4Shell-Schwachstelle (CVE-2021-44228) programmatisch zu entschärfen, indem die verwundbare JndiLookup-Klasse aus betroffenen Log4j-JAR-Dateien entfernt wird.
Sie ist dafür ausgelegt, über Ansible ausgeführt zu werden, aber Sie können das Skript bei Bedarf auch manuell ausführen.
Weitere Informationen zur Log4Shell-Schwachstelle finden Sie hier:
JndiLookup.class vorhanden istJndiLookup.class aus der JAR-Dateizip und zipinfo auf den Zielsystemen installiertPyYAML auf den Zielsystemen installiert (pip install pyyaml)Das Skript wird über eine YAML-Datei konfiguriert, die von der Rolle automatisch als Vorlage erstellt wird.
Beispiel config.yaml:
app_directories:
- /opt/apps
backup_directory: /opt/backups
log_file: /var/log/log4j_mitigation.log
app_directories: Liste der Verzeichnisse, die nach JAR-Dateien durchsucht werden sollenbackup_directory: Speicherort für die Sicherungskopien der Original-JAR-Dateienlog_file: Pfad zu einer Protokolldatei zur Verfolgung der VorgängeFügen Sie diese Rolle Ihrem Playbook hinzu:
- name: Mitigate Log4Shell CVE-2021-44228
hosts: all
become: true
roles:
- log4shell_mitigation
Wenn Sie das Skript manuell ausführen möchten, können Sie das tun:
Kopieren Sie das Skript auf Ihre Zielmaschine:
files/log4shell_mitigator.py
Erstellen Sie Ihre eigene config.yaml im selben Verzeichnis.
Führen Sie es aus:
python3 log4shell_mitigator.py
/var/log/log4j_mitigation.log), um zu sehen, welche JAR-Dateien gepatcht wurdenMIT
PRs und Verbesserungen sind willkommen -> bitte forken Sie das Repository und reichen Sie einen Merge-Request ein.
Diese Software und die begleitende Ansible-Rolle werden „wie besehen“ und ohne jegliche Gewährleistung, weder ausdrücklich noch stillschweigend, bereitgestellt. Sie sind allein dafür verantwortlich, die Eignung, Sicherheit und Wirksamkeit dieses Codes zu bewerten und zu testen, bevor Sie ihn in einer Umgebung einsetzen. AxisOps Ltd (GB08681761) lehnt ausdrücklich jede Haftung für Schäden, Datenverlust, Dienstunterbrechungen oder sonstige Beeinträchtigungen ab, die aus der Verwendung oder dem Missbrauch dieses Codes entstehen.
Nutzung auf eigene Gefahr. Prüfen, testen und validieren Sie den Code immer in einer kontrollierten Umgebung, bevor Sie ihn in der Produktion einsetzen.
SysOps-Team @ AxisOps