상세 컨텐츠

본문 제목

Apache Log4j 2 보안 업데이트 쉽게하는 방법

개발이야기

by 꾸데따 2021. 12. 13. 15:56

본문

주말 동안 Apache Log4j 2에 보안 취약점이 발견되어 시끄러웠습니다.

Log4j 2는 자바 로깅 프레임워크로 정말 많이 쓰이는 라이브러리인만큼 파급력이 강력한데요.

빠른 조치가 필요해보입니다.

 

KISA에서도 [보안공지]를 통해 12월 11일 바로 업데이트 권고를 한 상태이구요.

위의 링크에서 자세한 내용을 확인할 수 있습니다.

 

간단하게 정리해보면 2.0-beta9 ~ 2.14.1 버전의 Log4j 2를 사용할 경우 악성코드 감염으로 원격 제어가 가능하게 된다는 것입니다.

인터넷에 흔히 권장하는 방법은 아래와 같습니다. 

□ 조치방법

 

1. 사용하는 버전이2.0-beta9 ~ 2.10.0 일 경우
 ※ JndiLookup 클래스를 경로에서 제거 : zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

2. 사용하는 버전이 2.10 ~ 2.14.1일 경우

※ log4j2.formatMsgNoLookups 또는 LOG4J_FORMAT_MSG_NO_LOOKUPS 환경변수를 true로 설정

 

뭔 말인지 바로 와 닿지 않습니다.

zip명령어를 흔하게 사용하는 것도 아니고.. 실제 수행해보면 오류가 나기도 하구요.

 

 

□ 해결책

 

[ 유지보수가 필요한 현장의 경우 ] (긴급조치)

1. 사용하는 버전이2.0-beta9 ~ 2.10.0 일 경우
  JDK 1.8 이상의 환경일 경우 최신버전(2.15)으로 업데이트 : 기능테스트 필요 
 ※ 업데이트가 어려울경우
 log4j-core-*.jar 파일에서 org/apache/logging/log4j/core/lookup/JndiLookup.class 파일 제거
 => 제거 방법은 압축을 푼 후 위 경로의 위치로 찾아가 삭제하고 다시 압축 
      >java cvf log4j-core-*.jar ./
 => 받디집과 같은 프로그램 실행 후 jar파일을열고 해당 위치 찾아가 삭제  

 

2. 사용하는 버전이 2.10 ~ 2.14.1일 경우

※ log4j2.formatMsgNoLookups 또는 LOG4J_FORMAT_MSG_NO_LOOKUPS 환경변수를 true로 설정

 => java -Dlog4j2.formatMsgNoLookups=true -jar log4j-core-2.11.1.jar 명령을 통해 설정값 변경

 

 


 

현장에서 위와같이 빠르게 조치한 후 문제가 해결된 버전이 자동 배포되도록 조치하면 될 듯 합니다.

관련글 더보기