log4jail 🛡️一个用于阻止 Log4J(Log4Shell,又名 CVE-2021-44228)攻击的快速防火墙反向代理,支持 TLS(HTTPS)和 swarm。
log4jail 是一个快速但粗暴的解决方案,通过充当反向代理扫描完整的请求体(包括所有请求头和请求参数)中的 log4shell 载荷来阻止 Log4Shell 漏洞利用尝试。
💡 您可以通过在配置文件中按端口和目标映射来同时运行多个实例。
该防火墙遵循 Google Cloud 的缓解策略。
从 Releases 下载适用于您操作系统的二进制文件,或者使用 cargo 安装:
$ cargo install --git https://github.com/mufeedvh/log4jail.git
先决条件:
$ git clone https://github.com/mufeedvh/log4jail.git
$ cd log4jail/
$ cargo build --release
第一条命令将此仓库克隆到您的本地计算机,后两条命令进入目录并以发布模式构建源码。
只需运行该命令,工作目录下就会生成一个名为 log4jail.json 的样板配置文件。
$ log4jail
配置文件内容如下:
{
"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/"
}
}
根据您的环境配置相关值,然后再次运行该命令即可启动代理!
log4jail 在启用 WAF 绕过模式下阻止了来自 log4j-scan 的所有攻击向量:
$ python3 log4j-scan.py -u http://127.0.0.1:1337/ --run-all-tests --waf-bypass

如果您发现了任何可以绕过此防火墙的有效 Log4Shell 载荷,请提交一个 issue。
只需在任何端口上运行 log4jail,并在 HTTP 请求中包含该载荷即可进行模糊测试。