Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
kubernetes-log4j-cve-2021-44228-node-agent — Ein Kubernetes DaemonSet, das einen JVM-Level-Hotpatch bereitstellt, um Log4j2 CVE-2021-44228 zu entschärfen, indem es JNDI-Lookups in allen Containern und Host-JVMs deaktiviert. | Kitploit
Tools/GitHubGitHub/aws-samples/kubernetes-log4j-cve-2021-44228-node-agent
SchwachstellenscannerContainer-SicherheitSchwachstellenanalyseCloud-SicherheitDevSecOpsIncident ResponseArchived
GitHubaws-samples/kubernetes-log4j-cve-2021-44228-node-agent

kubernetes-log4j-cve-2021-44228-node-agent

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Ein Kubernetes DaemonSet, das einen JVM-Level-Hotpatch bereitstellt, um Log4j2 CVE-2021-44228 zu entschärfen, indem es JNDI-Lookups in allen Containern und Host-JVMs deaktiviert.

Repository anzeigen
216vor 3 JahrenNoch nicht geprüft

!!!! VERALTUNGSHINWEIS !!!!

Dieses Projekt wird wie unten beschrieben eingestellt.

  • 2023-01-01 - Dieses Repository wird nicht mehr aktualisiert
  • 2023-04-01 - Dieses Repository wird dauerhaft eingestellt

Das Projekt wird ab dem 01.01.2023 keine Issues mehr akzeptieren und nicht mehr aktualisiert. Nach diesem Datum wird dieses Projekt nicht mehr unterstützt und es werden keine neuen Releases oder mit diesem Projekt verbundene Artefakte mehr erstellt.

Das Projekt-Repository wird am 01.04.2023 dauerhaft archiviert (schreibgeschützt gemacht).

Wie in der ursprünglichen Projektdokumentation vermerkt, war dies immer als vorübergehende Maßnahme zur Unterstützung von Kubernetes-Nutzern gedacht und bot nur eine teilweise Abschwächung der Sicherheitsrisiken von Log4j2 CVE-2021-44228 und CVE-2021-45046. Es wird dringend empfohlen, dass alle Log4j-Benutzer auf eine gepatchte Version des Projekts aktualisieren, um alle mit diesen CVEs verbundenen Risiken vollständig zu mindern.

Was ist, wenn ich dies trotzdem verwenden möchte?

Die Release-Artefakte, die mit der neuesten Version verbunden sind, bleiben für Verbraucher dieses Projekts, die es weiterhin in ihren Kubernetes-Umgebungen bereitstellen, dauerhaft verfügbar. Insbesondere das DaemonSet-Manifest und das ECR Public Container-Image bleiben nach der Einstellung verfügbar, werden aber nicht mehr unterstützt oder aktualisiert.

Apache Log4j2 CVE-2021-44228 node agent

AWS hat ein RPM entwickelt, das einen Hot-Patch auf JVM-Ebene durchführt, der JNDI-Lookups aus der Log4j2-Bibliothek deaktiviert und so Log4j2 CVE-2021-44228 und CVE-2021-45046 entschärft.

Der Apache Log4j2 CVE-2021-44228 node agent ist ein Open-Source-Projekt, das vom Kubernetes-Team bei AWS entwickelt wurde. Es ist als DaemonSet konzipiert, um die Auswirkungen von Log4j2 CVE-2021-44228 zu mildern, der Anwendungen betrifft, die Apache Log4j2 Versionen < 2.15.0 ausführen, wenn Eingaben aus nicht vertrauenswürdigen Quellen verarbeitet werden. Die Ausführung dieses DaemonSets patcht JVMs, die sowohl in Containern als auch auf dem Host laufen.

Was es tut: Auf jedem Worker-Node wird ein Cron-Eintrag installiert, der einen Prozess ausführt, der nach laufenden JVMs sucht und einen Agenten injiziert, der den Log4j2-CVE entschärft. Alle JVMs, einschließlich derer in Containern, werden auf diese Weise gehotpatcht. Der Hot-Patch-Prozess ist derzeit so konfiguriert, dass er alle 30 Minuten mit einer 15-minütigen Jitter ausgeführt wird. Das effektive Zeitfenster kann zwischen 15 und 45 Minuten zwischen den Durchläufen liegen.

Hinweis: Weitere Informationen zur Log4j2-Sicherheitslücke und AWS-Reaktion finden Sie im AWS Security Bulletin.

Hinweis: Am 20.04.22 wurde das Image (v0.0.16) mit dem neuesten Patch für Amazon Linux 1 und 2 aktualisiert. Wenn Sie eine vorherige Version dieses DaemonSets installiert haben und es noch ausgeführt wird, sollten Sie die Datei daemonset.yaml erneut anwenden, um das neueste RPM zu installieren. Wenn Sie den Log4j-Patch nicht mehr benötigen, sollten Sie das DaemonSet löschen und das RPM deinstallieren, da ältere Versionen des RPM (< 1.1-16) eine Sicherheitslücke aufwiesen, die es einem Angreifer ermöglichen könnte, aus einem Container auszubrechen und Zugriff auf den zugrunde liegenden Host zu erhalten.

Hinweis: Version 1.3-5 adressiert ALAS2-2022-1806 und ALAS-2022-1601. Weitere Informationen finden Sie unter Amazon Linux "log4j hotpatch" <1.3-5 local privilege escalation to root.

Installationsanweisungen

  1. Wenden Sie das Manifest an:
root@kitploit:~
kubectl apply -f https://raw.githubusercontent.com/aws-samples/kubernetes-log4j-cve-2021-44228-node-agent/main/daemonset.yaml
  1. Überprüfen Sie die Logs eines oder mehrerer Ihrer DaemonSet-Pods.

Stichprobenartig einen einzelnen Pod überprüfen:

root@kitploit:~
kubectl get pods -l job=node-patch-installer -n node-configuration-daemonset
root@kitploit:~
kubectl logs <pod-name> -c node-patch-installer -n node-configuration-daemonset

oder Bestätigung für jeden Node erhalten:

root@kitploit:~
kubectl logs -l job=node-patch-installer -c node-patch-installer -n node-configuration-daemonset | grep 'installed'

Wenn die Installation erfolgreich war, lautet die letzte Zeile in der Logdatei installed and verified, andernfalls wird ein Fehler protokolliert.

Überlegungen

  • Dieses Projekt dient als vorübergehende, bestmögliche Abschwächung, bis Sie die Log4j2-Abhängigkeit in allen Ihren Java-basierten Kubernetes-Anwendungen auf mindestens Log4j Version 2.15.0 aktualisieren können. Verlassen Sie sich nicht auf diesen Agenten als langfristige Lösung. Dieses Tool kann Ihnen helfen, das Risiko zu mindern, wenn eine Aktualisierung der Abhängigkeiten nicht sofort möglich ist.
  • Das DaemonSet wird auf Amazon Linux (AL), Amazon Linux 2 (AL2) und Debian-basierten Linux-Distributionen wie Ubuntu unterstützt. Bottlerocket wird nicht unterstützt, da es keine Shell oder keinen Paketmanager enthält. Wenn Sie Log4j auf Bottlerocket ausführen, wird der CVE von Hotdog adressiert.
  • Da DaemonSets nicht auf AWS Fargate ausgeführt werden, werden Pods, die auf Fargate in Amazon EKS-Clustern laufen, von diesem Agenten nicht gepatcht.
  • Mit der Standard-Laufzeitfrequenz von 30 Minuten ist der Agent besser für langlebige Container geeignet.
  • Das RPM funktioniert nur mit den folgenden Java-Distributionen:
    • Credo
    • Corretto
    • OpenJDK
  • Wenn sich Ihre Worker-Nodes in einer Sandbox-Umgebung ohne Internetverbindung befinden, können Sie das Image aus ECR abrufen und in ein privates Repository übertragen. Alternativ können Sie das Makefile im Image-Verzeichnis ändern, um das resultierende Image zu bauen und in Ihr privates Repository zu übertragen. Bearbeiten Sie den Eintrag DaemonSet spec.template.spec.initContainers.image in der Datei daemonset.yaml, um die neue URI:Tag des Images widerzuspiegeln, und wenden Sie dann das Manifest auf Ihren Cluster an.

Über CVE-2021-44228

Apache Log4j2 < 2.15.0 JNDI-Funktionen, die in Konfigurationen, Logmeldungen und Parametern verwendet werden, schützen nicht vor Angreifer-kontrollierten LDAP- und anderen JNDI-bezogenen Endpunkten. Ein Angreifer, der Logmeldungen oder Logmeldungsparameter kontrollieren kann, kann beliebigen Code ausführen, der von LDAP-Servern geladen wird, wenn die Nachrichten-Lookup-Substitution aktiviert ist. Ab Log4j2 Versionen < 2.15.0 ist dieses Verhalten standardmäßig deaktiviert. Vollständige Details finden Sie im CVE-Bulletin.

Weitere Informationen zur Log4j2-Sicherheitslücke finden Sie im AWS Security Bulletin.

Wie dies funktioniert

AWS hat ein RPM entwickelt, das einen Hot-Patch auf JVM-Ebene durchführt, der JNDI-Lookups aus der Log4j2-Bibliothek deaktiviert und so das Log4j2-Problem für JVMs auf dem Host sowie für JVMs in Containern entschärft. Dieses Projekt verpackt das RPM als Kubernetes DaemonSet.

Bei der Installation wird auf jedem Worker-Node ein Prozess ausgeführt, der nach laufenden JVMs sucht und einen Agenten in die JVM injiziert, um die Log4j2-Sicherheitslücke zu entschärfen. Der Agent versucht, die lookup()-Methode aller geladenen org.apache.logging.log4j.core.lookup.JndiLookup-Instanzen zu patchen, um bedingungslos den String Patched JndiLookup::lookup() zurückzugeben. Dies soll die CVE-2021-44228 Schwachstelle zur Codeausführung aus der Ferne in Log4j2 beheben, ohne den Java-Prozess neu starten zu müssen.

Dieser Prozess ist standardmäßig so konfiguriert, dass er alle 30 Minuten läuft, und bietet eine zusätzliche Schutzschicht in Clustern, in denen Anwendungen noch nicht mit einer aktualisierten Log4j2-Abhängigkeit gepatcht wurden.

Weitere Details zum Hotpatch finden Sie im AWS Open Source Blog.

Das Container-Image wird im aws-containers ECR Public Repository gehostet.

Tool herunterladen