
Ein Reverse-Proxy-Firewall zur Verhinderung von Log4J (Log4Shell alias CVE-2021-44228)-Angriffen.
log4jail 🛡️Ein schneller Firewall-Reverse-Proxy mit TLS (HTTPS) und Swarm-Unterstützung zur Verhinderung von Log4J (Log4Shell aka CVE-2021-44228) Angriffen.
log4jail ist eine schnelle und einfache Lösung, um Log4Shell-Exploit-Versuche zu blockieren, indem es als Reverse-Proxy fungiert und den gesamten Request-Body einschließlich aller Header und Request-Parameter auf Log4Shell-Payloads scannt.
💡 Sie können mehrere Instanzen gleichzeitig ausführen, indem Sie sie in der Konfigurationsdatei nach Port und Ziel zuordnen.
Die Firewall folgt den Strategien zur Schadensbegrenzung von Google Cloud.
Laden Sie die Binärdatei für Ihr Betriebssystem von Releases herunter ODER installieren Sie es mit cargo:
$ cargo install --git https://github.com/mufeedvh/log4jail.git
Voraussetzungen:
$ git clone https://github.com/mufeedvh/log4jail.git
$ cd log4jail/
$ cargo build --release
Der erste Befehl klont dieses Repository auf Ihren lokalen Rechner, und die letzten beiden Befehle wechseln in das Verzeichnis und erstellen den Quellcode im Release-Modus.
Führen Sie einfach den Befehl aus, und es wird eine Vorlagen-Konfigurationsdatei mit dem Namen log4jail.json im selben Arbeitsverzeichnis erstellt.
$ log4jail
Die Konfigurationsdatei sieht wie folgt aus:
{
"host": "127.0.0.1",
"enable_https": false,
"tls_cert_path": "cert.pem",
"tls_key_path": "key.rsa",
"reject_response_status": 403,
"reject_response_body": "This request has been blocked.",
"proxy_mapping": {
"1337": "http://127.0.0.1:8080/",
"6969": "http://127.0.0.1:9000/"
}
}
Konfigurieren Sie die Werte für Ihre Umgebung und führen Sie den Befehl erneut aus, um den Proxy zu starten!
log4jail blockiert alle Angriffsvektoren von log4j-scan mit aktiviertem WAF-Bypass-Modus:
$ python3 log4j-scan.py -u http://127.0.0.1:1337/ --run-all-tests --waf-bypass

Wenn Sie funktionierende Log4Shell-Payloads gefunden haben, die diese Firewall umgehen können, eröffnen Sie bitte ein Issue.
Führen Sie einfach log4jail auf einem beliebigen Port aus und fügen Sie den Payload für Fuzz-Tests in die HTTP-Anfrage ein.