
Log4J(Log4Shell, 일명 CVE-2021-44228) 공격을 방지하기 위한 방화벽 리버스 프록시입니다.
log4jail 🛡️Log4J(Log4Shell, 일명 CVE-2021-44228) 공격을 방지하기 위한 TLS(HTTPS) 및 swarm 지원이 포함된 빠른 방화벽 리버스 프록시입니다.
log4jail은 리버스 프록시 역할을 하여 모든 헤더와 요청 매개변수를 포함한 전체 요청 본문을 스캔하여 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
첫 번째 명령은 이 리포지토리를 로컬 머신에 복제하고, 마지막 두 명령은 디렉토리로 이동하여 릴리즈 모드로 소스를 빌드합니다.
명령을 실행하면 동일한 작업 디렉토리에 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 페이로드를 발견하셨다면 이슈를 열어 주세요.
임의의 포트에서 log4jail을 실행하고 HTTP 요청에 페이로드를 포함하여 퍼즈 테스트를 수행하세요.