Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
kubernetes-log4j-cve-2021-44228-node-agent — DaemonSet Kubernetes che applica patch a caldo alle JVM per mitigare le vulnerabilità Log4j2 (CVE-2021-44228, CVE-2021-45046) disabilitando le ricerche JNDI, fornendo protezione temporanea fino all'aggiornamento delle dipendenze. | Kitploit
Strumenti/GitHubGitHub/aws-samples/kubernetes-log4j-cve-2021-44228-node-agent
Scanner di VulnerabilitàSicurezza dei ContenitoriAnalisi delle VulnerabilitàSicurezza CloudDevSecOpsRisposta agli IncidentiArchived
GitHubaws-samples/kubernetes-log4j-cve-2021-44228-node-agent

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

DaemonSet Kubernetes che applica patch a caldo alle JVM per mitigare le vulnerabilità Log4j2 (CVE-2021-44228, CVE-2021-45046) disabilitando le ricerche JNDI, fornendo protezione temporanea fino all'aggiornamento delle dipendenze.

Vedi Repository
21684 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

!!!! AVVISO DI DEPRECAZIONE !!!!

Questo progetto è in fase di deprecazione come descritto di seguito.

  • 2023-01-01 - Questo repository non verrà più aggiornato
  • 2023-04-01 - Questo repository verrà permanentemente deprecato

Il progetto smetterà di accettare segnalazioni e non sarà aggiornato a partire dal 2023-01-01. Dopo questa data, questo progetto non sarà supportato e non verranno generati nuovi rilasci o artefatti associati ad esso.

Il repository del progetto sarà permanentemente archiviato (reso di sola lettura) a partire dal 2023-04-01.

Come indicato nella documentazione originale del progetto, questo è sempre stato inteso come una misura temporanea per aiutare gli utenti di Kubernetes, e ha fornito solo una mitigazione parziale dell'esposizione di sicurezza da Log4j2 CVE-2021-44228 e CVE-2021-45046. Si raccomanda vivamente a tutti gli utenti di Log4j di aggiornare a una versione corretta del progetto per mitigare completamente qualsiasi rischio associato a queste CVE.

Cosa succede se voglio ancora usarlo?

Gli artefatti di rilascio associati all'ultima versione rimarranno permanentemente disponibili per i consumatori di questo progetto che continuano a distribuirlo nei loro ambienti Kubernetes. In particolare, il manifesto DaemonSet e l'immagine container di ECR Public rimarranno disponibili dopo la deprecazione, ma non saranno più supportati o aggiornati.

Agente per nodo Apache Log4j2 CVE-2021-44228

AWS ha sviluppato un RPM che esegue una hot-patch a livello JVM che disabilita le ricerche JNDI dalla libreria Log4j2, mitigando Log4j2 CVE-2021-44228 e CVE-2021-45046.

L'agente per nodo Apache Log4j2 CVE-2021-44228 è un progetto open source creato dal team Kubernetes di AWS. È progettato per funzionare come DaemonSet e mitigare l'impatto di Log4j2 CVE-2021-44228, che riguarda le applicazioni che eseguono versioni di Apache Log4j2 < 2.15.0 quando elaborano input da fonti non attendibili. Eseguendo questo DaemonSet verranno corretti a caldo (hot-patched) i JVM in esecuzione nei container così come nell'host.

Cosa fa: Verrà installata una voce cron su ogni nodo worker che esegue un processo che cerca JVM in esecuzione e inietta un agente che mitiga la CVE Log4J2. Tutti i JVM, inclusi quelli in esecuzione nei container, verranno corretti a caldo in questo modo. Attualmente, il processo di hot-patch è configurato per essere eseguito ogni 30 minuti con un jitter di 15 minuti. La finestra effettiva può variare da 15 a 45 minuti tra le esecuzioni.

Nota: Puoi trovare informazioni aggiuntive sulla vulnerabilità Log4j2 e la risposta di AWS nel AWS Security Bulletin.

Nota: Il 20/04/22, l'immagine (v0.0.16) è stata aggiornata con la patch più recente per Amazon Linux 1 e 2. Se hai installato una versione precedente di questo DaemonSet ed è ancora in esecuzione, dovresti riapplicare il file daemonset.yaml per installare l'ultimo RPM. Se non hai più bisogno della patch per log4j, dovresti eliminare il DaemonSet e disinstallare l'RPM poiché le versioni precedenti dell'RPM (< 1.1-16) avevano una vulnerabilità che poteva consentire a un attaccante di uscire da un container e ottenere accesso all'host sottostante.

Nota: la versione 1.3-5 affronta ALAS2-2022-1806 e ALAS-2022-1601. Vedi Amazon Linux "log4j hotpatch" <1.3-5 local privilege escalation to root per ulteriori informazioni.

Istruzioni di installazione

  1. Applicare il manifesto:
root@kitploit:~
kubectl apply -f https://raw.githubusercontent.com/aws-samples/kubernetes-log4j-cve-2021-44228-node-agent/main/daemonset.yaml
  1. Controllare i log per uno o più dei vostri pod DaemonSet.

Controllo a campione di un singolo pod:

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

oppure ottenere conferma per ogni nodo:

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

Se l'installazione ha avuto successo, l'ultima riga nel file di log riporterà installed and verified altrimenti verrà registrato un errore.

Considerazioni

  • Questo progetto è inteso come una mitigazione temporanea e di massimo sforzo fino a quando non sarà possibile aggiornare la dipendenza Log4j2 in tutte le applicazioni Kubernetes basate su Java ad almeno la versione 2.15.0 di Log4j. Non fare affidamento su questo agente come mitigazione a lungo termine. Questo strumento può aiutare a mitigare il rischio quando non è possibile aggiornare immediatamente le dipendenze.
  • Il DaemonSet è supportato su Amazon Linux (AL), Amazon Linux 2 (AL2) e distribuzioni Debian Linux come Ubuntu. Bottlerocket non è supportato poiché non include una shell o un gestore di pacchetti. Se stai eseguendo log4j su Bottlerocket, la CVE sarà affrontata da Hotdog.
  • Poiché i DaemonSet non vengono eseguiti su AWS Fargate, qualsiasi pod in esecuzione su Fargate nei cluster Amazon EKS non verrà patchato da questo agente.
  • Con la frequenza di esecuzione predefinita di 30 minuti, l'agente è più adatto per container a lunga esecuzione.
  • L'RPM funziona solo con le seguenti distribuzioni Java:
    • Credo
    • Corretto
    • OpenJDK
  • Se i tuoi nodi worker si trovano in un ambiente sandbox senza connettività Internet, puoi estrarre l'immagine da ECR e inviarla a un registro privato. In alternativa, puoi modificare il makefile nella directory dell'immagine per creare e inviare l'immagine risultante al tuo registro privato. Modifica il campo spec.template.spec.initContainers.image nel file daemonset.yaml per riflettere il nuovo URI:tag dell'immagine, quindi applica il manifesto al tuo cluster.

Informazioni su CVE-2021-44228

Le funzionalità JNDI di Apache Log4j2 < 2.15.0 utilizzate nella configurazione, nei messaggi di log e nei parametri non proteggono da LDAP controllato dall'attaccante e altri endpoint correlati a JNDI. Un attaccante che può controllare i messaggi di log o i parametri dei messaggi può eseguire codice arbitrario caricato da server LDAP quando la sostituzione dei messaggi è abilitata. Dalle versioni di Log4j2 < 2.15.0, questo comportamento è stato disabilitato per impostazione predefinita. I dettagli completi si trovano nel bollettino CVE.

Puoi trovare informazioni aggiuntive sulla vulnerabilità Log4j2 nel AWS Security Bulletin.

Come funziona

AWS ha sviluppato un RPM che esegue una hotpatch a livello JVM disabilitando le ricerche JNDI dalla libreria Log4j2, mitigando il problema Log4j2 che si applica ai JVM sull'host così come ai JVM in esecuzione nei container. Questo progetto impacchetta l'RPM come DaemonSet Kubernetes.

Una volta installato, un processo verrà eseguito su ogni nodo worker che cerca JVM in esecuzione e inietta un agente nel JVM per mitigare la vulnerabilità Log4j2. L'agente tenta di patchare il metodo lookup() di tutte le istanze caricate di org.apache.logging.log4j.core.lookup.JndiLookup per restituire incondizionatamente la stringa Patched JndiLookup::lookup(). Questo è progettato per affrontare la vulnerabilità di esecuzione remota di codice CVE-2021-44228 in Log4j2 senza riavviare il processo Java.

Questo processo per impostazione predefinita è configurato per essere eseguito ogni 30 minuti e aggiungerà un livello di protezione nei cluster in cui le applicazioni non sono ancora state patchate con una dipendenza Log4j2 aggiornata.

Puoi trovare maggiori dettagli sulla hotpatch nel blog AWS open source.

L'immagine container è ospitata nel repository pubblico ECR di aws-containers.

Scarica lo strumento