Search

Log4j 정보

개요

첫 시작은 트위터 게시글이었다
Alibaba Cloud’s Security의 @P0rZ9가 ‘Apache Log4j jndi RCE’라는 메시지와 함께 올린 게시글 (2021년 12월 9일)
Log4Shell 이라고도 불림, CVSS 10.0(CRITICAL) 로 Apache Log4j의 JNDI Injection 취약점
Apache 의 오픈소스 로깅 라이브러리인 Log4j(log for java)는 콘솔 및 파일출력 형태의 로깅을 지원하고 XML, Properties로 환경구성이 가능해 다수의 소프트웨어에서 활용하고 있다.
Log4j 이외에도 로깅 관련 프레임워크는 LOGBACK, Log4j2 등이 있다.
2015년 EOS 된 Log4j 이후에는 Log4j 기반으로 개발되어 사용법이나 설정방법이 유사한 LOGBACK 이나 Log4j2가 Log4j의 자리를 대체하고 있다.
LOGBACK - Spring Boot 환경에 기본 적용되어 Log4j에 비해 향상된 성능과 필터링 및 자동 리로드 기능 등을 지원하고 있다.
Log4j2 - LOGBACK 기능 이외에도 멀티스레드 환경에서 비동기 로거(Async Logger) 시 Log4j 나 LOGBACK 에 비해 짧은 대기시간 및 높은 처리량을 제공
이러한 로깅의 기반에는 일정한 코드 유지 및 타 프레임워크로의 전화 등을 지원하는 추상화 계층인 slf4j(Simple Logging Facade For Java)를 통해 구현되게 된다
JNDI - 자바에서 디렉토리를 이용하여 데이터를 호출할 수 있게 해주는 디렉토리 서비스