Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2021-44228 — log4j 완화 작업 | Kitploit
도구/GitHubGitHub/axisops/cve-2021-44228
Vulnerability ScannersVulnerability AnalysisScripting & AutomationConfiguration AuditingDevSecOpsMisconfiguration
GitHubaxisops/cve-2021-44228

CVE-2021-44228

log4j 완화 작업

저장소 보기
21년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Log4Shell CVE-2021-44228 완화 Ansible Role

이 Ansible Role은 영향을 받는 Log4j JAR 파일에서 취약한 JndiLookup 클래스를 제거하여 Log4Shell 취약점(CVE-2021-44228)을 프로그래밍 방식으로 완화하는 Python 기반 스크립트를 배포합니다.

Ansible을 통해 실행되도록 설계되었지만, 원한다면 스크립트를 수동으로 실행할 수도 있습니다.

Log4Shell 취약점에 대해 자세히 알아보려면 여기를 참조하세요:

  • Wikipedia
  • NVD CVE-2021-44228
  • 우리의 Twitter 스레드

기능

  • 지정된 애플리케이션 디렉터리에서 Log4j JAR 검색
  • JndiLookup.class 존재 여부 확인
  • 수정 전 원본 JAR 백업
  • JAR에서 JndiLookup.class 제거
  • 모든 작업을 로그 파일에 기록
  • YAML 파일을 통해 구성 가능
  • 여러 시스템에 자동 배포하기 위한 Ansible Role로 패키징

요구 사항

  • Python 3.6+
  • 대상 시스템에 zip 및 zipinfo 설치
  • 대상 시스템에 PyYAML 설치 (pip install pyyaml)
도구 다운로드

구성

스크립트는 Role에 의해 자동으로 템플릿화되는 YAML 파일을 통해 구성됩니다.

예제 config.yaml:

root@kitploit:~
app_directories:
  - /opt/apps
backup_directory: /opt/backups
log_file: /var/log/log4j_mitigation.log
  • app_directories: JAR 파일을 검색할 디렉터리 목록
  • backup_directory: 원본 JAR 백업을 저장할 위치
  • log_file: 작업 추적을 위한 로그 파일 경로

Ansible Role로 사용하기

이 Role을 플레이북에 추가하세요:

root@kitploit:~
- name: Mitigate Log4Shell CVE-2021-44228
  hosts: all
  become: true
  roles:
    - log4shell_mitigation

직접 사용

스크립트를 수동으로 실행하려면 다음과 같이 하세요:

  1. 스크립트를 대상 머신에 복사하세요:

    root@kitploit:~
    files/log4shell_mitigator.py
    
  2. 같은 디렉터리에 자신만의 config.yaml을 생성하세요.

  3. 실행하세요:

    root@kitploit:~
    python3 log4shell_mitigator.py
    

검증

  • 구성된 로그 파일(기본값: /var/log/log4j_mitigation.log)을 확인하여 어떤 JAR가 패치되었는지 확인하세요.
  • 클래스 제거 후에도 애플리케이션이 정상적으로 시작되는지 확인하세요.
  • 이상적으로는 프로덕션 배포 전에 스테이징 환경에서 테스트하세요.

참고 사항

  • 이 방법은 Log4j를 업그레이드하지 않고 취약한 클래스를 제거하여 악용 경로를 차단합니다.
  • 장기적인 해결책으로 여전히 Log4j를 업그레이드해야 합니다.
  • 널리 배포하기 전에 항상 철저히 테스트하세요.

라이선스

MIT

기여

PR 및 개선 사항을 환영합니다 -> 포크한 후 머지 리퀘스트를 제출해 주세요.


면책 조항

이 소프트웨어와 함께 제공되는 Ansible Role은 명시적이거나 묵시적인 어떠한 종류의 보증도 없이 “있는 그대로” 제공됩니다. 이 코드를 어떤 환경에 적용하기 전에 적합성, 안전성, 효율성을 평가하고 테스트할 책임은 전적으로 사용자에게 있습니다. AxisOps Ltd (GB08681761)는 이 코드의 사용 또는 오용으로 인해 발생하는 손해, 데이터 손실, 서비스 중단 또는 기타 피해에 대해 명시적으로 책임을 부인합니다.

사용에 따른 위험은 전적으로 사용자에게 있습니다. 프로덕션 배포 전에 항상 통제된 환경에서 코드를 감사하고 테스트하고 검증하세요.


SysOps Team @ AxisOps