IT/WEBWAS

log4j 보안취약점 대응 방안

동구멍폴로 2021. 12. 18. 00:20
반응형

Log4j 는, 자바 기반 로깅 유틸리티로, 주로 디버깅용 도구로 사용되는 모듈이다.

어플리케이션 라이브러리(lib)로 추가되어 있는 경우가 많다.

 

1. 취약점 리스트 및 영향버전 

CVE-2021-44228 : 2.0beta9 ~ 2.14.1(2.12.2 제외)

CVE-2021-45046 : 2.0beta9 ~ 2.12.1, 2.13.0~.2.15.0

CVE-2021-4104 : 1.0 대 버전 

 

2. log4j 버전 확인방법 

- 위에서 얘기한 대로, log4j 모듈은 일반적으로 어플리케이션이 참조하는 lib 경로에 존재한다.

아래 방법으로 리눅스/윈도우 환경에서 명령어를 실행하여, 어플리케이션이 사용하는 log4j 모듈의 존재 여부/버전 정보를 확인한다.

 

출처 : https://redcoder.tistory.com/263

 

Log4j 버전을 확인하자 (Log4j 버전 확인)

🚀  들어가며... 최근에 발생한 log4j으로 인해 버전 확인하는 방법을 정리하여 공유 📑 내용 취약점 대상인 log4j-core의 버전을 확인하자. > log4j-core- .jar Maven 의존성으로 찾기 Window ./mvnw dependen..

redcoder.tistory.com

 

3. 대응 방안 

취약점 중 가장 위험한 것이 원격실행에 대한 문제점이다.

해당 취약점을 이용해 계정/패스워드가 없이 원격으로 프로그램을 구성/실행할 수 있으므로, Apache에서 배포하는 최신 모듈을 사용할 수 있도록 어플리케이션을 업데이트 하고, 상위버전으로 적용이 완료된 이후에는 마이너 버전까지도 최신 log4j 모듈을 구성하도록 하자. 

(21.12.28 현재 2.17.1 버전까지 배포완료됨, Java8 대상, 링크 : https://logging.apache.org/log4j/2.x/)

 

- Java 버전에 따라 아래의 버전으로 메이저 버전 업데이트를 1차로 수행 후 추가 마이너 버전 모듈 업데이트를 실행하는 것이 안정적이다. (Java 7의 경우는 취약점이 발견된 2.12.1을 Skip 하기위해 2.12.2 반영 우선)

Java7 log4j 2.12.2 /  Java 8 : log4j 2.17.0  

- Java 7 하위 버전 혹은 1.xx 버전의 log4j 모듈을 사용하는 경우, JMSAppender 사용 여부 확인 후 해당 코드를 삭제한다.

- 모듈 교체/업데이트에 시간이 소요될 수 있으므로, 먼저 log4j 관련한 방화벽 Rule을 적용하는 것도 필요하다.

 

알약시큐리티의 가이드를 참고하여 조치한다.

출처 : https://blog.alyac.co.kr/4341

 

반응형