
Log4J(Log4Shell、別名CVE-2021-44228)攻撃を防止するためのファイアウォールリバースプロキシ。
log4jail 🛡️Log4J(Log4Shell、別名CVE-2021-44228)攻撃を防ぐための、TLS(HTTPS)とスウォーム対応の高速ファイアウォールリバースプロキシ。
log4jailは、リクエスト本文全体(すべてのヘッダーとリクエストパラメータを含む)をスキャンしてlog4shellペイロードを検出するリバースプロキシとして機能することで、Log4Shellのエクスプロイト試行をブロックするための簡易的なソリューションです。
💡 設定ファイルでポートとターゲットをマッピングすることで、複数のインスタンスを同時に実行できます。
このファイアウォールは、Google Cloudの緩和戦略に従っています。
お使いのOS用のバイナリをリリースからダウンロードするか、cargoでインストールしてください:
$ cargo install --git https://github.com/mufeedvh/log4jail.git
前提条件:
$ git clone https://github.com/mufeedvh/log4jail.git
$ cd log4jail/
$ cargo build --release
最初のコマンドでこのリポジトリをローカルマシンにクローンし、残りの2つのコマンドでディレクトリに移動してリリースモードでソースをビルドします。
コマンドを実行するだけで、同じ作業ディレクトリに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は、log4j-scanのWAFバイパスモードを有効にしたすべての攻撃ベクトルをブロックします:
$ python3 log4j-scan.py -u http://127.0.0.1:1337/ --run-all-tests --waf-bypass

このファイアウォールをバイパスできる動作するLog4Shellペイロードを見つけた場合は、イシューを開いてください。
任意のポートでlog4jailを実行し、ファズテストのためにHTTPリクエストにペイロードを含めてください。