개인 저장용 블로그

[보안취약] WebLogic Log4j 보안 조치 본문

Oracle Fusion Middleware/WebLogic

[보안취약] WebLogic Log4j 보안 조치

우엉잇 2022. 10. 12. 13:46

22년 초에 큰 이슈였던 Log4j 관련 보안 조치에 대해서 작성해보고자 한다. 

 

H사에서 EOS 된 제품에 대해서 Log4j에 대한 workround를 제공하라고 하는데 파트너 업체에서 제품에 대한 workround를 제공하기엔 책임소지에 관한 문제가 있어 확답을 하기가 어려웠다... 

 

1. 오라클 공식  답변 

 

오라클 공식 답변은 WebLogic에서는 설치와구성(install and configuration)에 Log4j를 사용하지 않아서 해당 보안취약에 상관 없다는 입장이다. 

 

---- 여기서부터 개인 주관 --- 

log4j에 발생된 보안취약의 클래스를 사용하지 않기 때문에 상관이 없다는 건지는 잘 모르겠지만, weblogic console을 기동 할 때 ${WL_HOME}/lib/consoleapp/APP-INF/lib 하위의 log4j를 사용하기 때문에 log4j를 사용하지 않는다라는 대답은 좀.. 정확하지 않다고 할 수 있다. 

 

2. EOS Product 

 

12cR1 이하 버전 제품들은 EOS 된 제품이기 때문에 Log4j 관련되어 새로운 패치가 제공 되지 않는다. 

이에 따라 보안취약 관련 Class들을 log4j 파일에서 직접적으로 지워주는 방식으로 진행 하기로 하였다. 

 

크게 세개의 위치에 log4j 파일이 위치하게 된다. 

${WL_HOME}/lib/consoleapp/APP-INF/lib   

${ORACLE_HOME}/oracle_common/modules/thirdparty

${ORACLE_HOME}/.patch_storage

 

2.1. WL_HOME/lib 하위 log4j 파일 

WL_HOME/lib 밑의 log4j 파일은 weblogic console에서 이용하기 때문에 삭제하면 안되고 class를 제거해주는 방식으로 진행 되어야 한다. class 제거 후 weblogic의 주요 기능을 테스트 해봤을 땐 특이사항이 없었다. 

 

아래 방식으로 class 확인이 가능하다. 

-rw-r----- 1 oracle was  489883 Sep  1 03:07 log4j-1.2.17.jar
 
jar -tvf log4j-1.2.17.jar | egrep "chaisaw|JDBCAppender|JMSSink|JMSAppender|JndiLookup"
  5653 Sun May 06 13:00:34 EDT 2012 org/apache/log4j/jdbc/JDBCAppender.class
  8047 Sun May 06 13:00:34 EDT 2012 org/apache/log4j/net/JMSAppender.class
  5619 Sun May 06 13:00:34 EDT 2012 org/apache/log4j/net/JMSSink.class

아래 방식으로 class 제거를 하면된다. 

zip -q -d log4j-*.jar org/apache/log4j/net/JMSAppender.class
zip -q -d log4j-*.jar org/apache/log4j/chainsaw/*
zip -q -d log4j-*.jar org/apache/log4j/net/JMSSink.class
zip -q -d log4j-*.jar org/apache/log4j/jdbc/JDBCAppender.class

 

2.2. ORACLE_HOME/oracle_common 하위 log4j 파일 

ORACLE_HOME/oracle_common 밑의 log4j 파일 thirdparty 용이기 때문에 해당 파일을 AP에서 사용하지 않는다면 삭제 해줘도 상관없다. 

 

2.3. .patch_storage 하위 log4j 파일 

.patch_storage 하위 디렉토리의 log4j 파일들 이전 패치 파일들을 보관하면 스토리지다. 

해당 디렉토리안에 있는 파일들을 삭제하는것은 오라클에서 권장하고 있지 않기 때문에 class 제거 방식으로 진행하였다. 

 

WebLogic 12.2.1.3 이상 Version 제품들은 22년 3월 이후 패치를 적용하면 된다. 

(* 참고  OHS 제품을 설치 할 경우 같은 버전인 WLS도 설치되기 때문에 WLS 패치를 해야된다. )