스마트웹앱콘텐츠전문가/보안

[긴급]log4j취약점대응하기

9D4U 2021. 12. 15. 16:33
728x90
반응형

 

12월 14일

 

log4j 취약점 관련 기사들이 보도되면서,

 

IT 기업들이 진땀을 흘리고 있습니다.

 

자,

 

그러면 이번 사태에 대한 정보 및 취약점 대응 방법에

 

대해 알아보겠습니다.

 

log4j는 아파치에서 제공하는 오픈소스 프로그램이며,

 

어플리케이션 로깅 시 사용되는 모듈 중 하나입니다.

 

log4j 버전1은 2015년 이후 업데이트가 종료되어,

사용되는 곳이 거의 없을 것으로 생각됩니다.

로깅 모듈을 log4j로 사용하는 대부분의 기업에서는

현재 log4j 버전2를 사용 중 입니다.

 

취약점의 중심에는 log4j-core.jar에 결함이 있습니다.

(JNDI 파싱 기능이 원격 코드 실행 취약점을

불러일으키기 때문)

 

취약점에 노출 될 경우,

악성코드가 유포되거나 중요 데이터 탈취,

임의의 파일 다운로드 된 후 실행 등의

심각한 피해가 발생할 수 있습니다.

 

그러면, 서비스에서 log4j를 사용하고 있는지 확인

하는 방법은 다음과 같습니다.

 

○ 리눅스에서 :

# dpkg –l | grep log4j - find / -name ‘log4j*’
 

 

○ 윈도우에서 :

 

윈도우 탐색기에서 검색 기능 (log4j 검색)을 이용

 

log4j가 사용 중이라면, log4j 버전에 따른 대응 방법

은 다음과 같습니다.

 

가장 안전한 방법은 log4j를 2.15.0 버전 이상으로 올리는 것입니다.(전제 조건으로 Java 버전이 8이상 필요)

 

 log4j 2.10.0 이상 사용시, 다음의 방법 중

한 가지 이상의 방법을 사용합니다.

- java 실행 인자(Args)에 시스템 속성을 추가

( -Dlog4j2.formatMsgNoLookups=true)

- java 실행 계정의 환경 변수 혹은 시스템 변수로

LOG4J_FORMAT_MSG_NO_LOOKUPS=true

를 설정

 

 log4j 2.7.0 이상 사용시 log4j 설정

(log4j.xml 등의 설정 파일)에

PatternLayout 속성에 있는 %m 부분을

%m{nolookups} 으로 교체

(2.16.0 이상에서는 %m이 자동으로

nolookups로 처리됨)

 

○ 이외의 버전일 경우, JndiLookup 클래스와

JndiManager 클래스를 읽지 못하도록

조치해야 합니다.

KISA에서 쉽게 대응할 수 있는 방안을 제공하니 반드

시 열람 필수!

 

 log4j 외에 다른 로깅 모듈로 교체합니다.

(logback 등)

 

추가로,

 

 2.15.0 버전 이상에서도 설정에 따라 취약점에 노출

될 수 있는 데, 이 부분을 꼭 확인해보도록 합니다.

설정 중

-Dlog4j2.formatMsgNoLookups=false

-LOG4J_FORMAT_MSG_NO_LOOKUPS=false

명시된 설정은 모두 제거해야 합니다.

 

 2.16.0 버전 이상에서는 log4j.enableJndi 설정이

기본값 false로 추가되어 있습니다.

따라서, 다음 설정도 제거해야 합니다.

-Dlog4j.enableJndi=true

 

 

※ SPRING 공식 사이트에서 제공하는 log4j 취약점

관련 내용 링크:

 

 

Log4J2 Vulnerability and Spring Boot

<blockquote> <p><strong>Update</strong>: Since this blog post has been published, a <a href="https://logback.qos.ch/news.html">new logback 1.2.8 version has been published</a>. While this fixes a security issue, prerequisites for exploits are very differen

spring.io

 

 

※ 보다 상세한 정보를 원하시면 KISA 에서 제공하는

'QnA 형식으로 알아보는 Apache log4j 취약점 대응 가이드'를 참고하시면 됩니다. (하단 링크 참조)

 

 

728x90