티스토리 뷰

최근 이슈가 되고 있는 log 관련 보안 이슈들은 많은 개발자들을 괴롭히고 있다. 치명적인 취약점이다 보니 빠른 조치가 이루어져야 하고 보안 종사자들이 빠르게 대응을 해서 이제 어떻게 조치를 해야 하는지 대략적인 윤곽이 나왔다. 필자도 log4j, log4j2, logback에 대한 조치내용을 전달받아 다음과 같이 조치를 하였다. 


log4j

그냥 log4j라고 하면 log4j 관련 라이브러리가 1.x 버전을 뜻한다.

log4j는 JMSAppender를 사용하는가 안하는가가 관건이다.

JMSAppender를 사용한다면 사용을 중지하거나 안전한 log4j2로 migration을 해야 한다.

JMSAppender는 보통 log4j.xml에서 설정을 하지만 web.xml 같은 곳에서 log파일의 위치나 이름을 변경할 수 있으므로 이를 찾아서 조치해야 한다. 조치라 함은 해당 appender 부분을 주석처리하면 된다. (물론 주석처리함에 따라 다른 방법으로 JMS에 대한 logging은 처리가 되야한다.)

JMSAppender를 사용하지 않는다면 1.x 버전에서는 현재까지는 보안취약점은 발견되지 않는다고 한다. 


log4j2

log4j2는 log4j 관련 라이브러리가 2.x 버전을 뜻한다. 

log4j2에서 이슈가 되는 버전은 java8 버전 이상은 log4j 2.0-beta9 ~ 2.14.1 버전 (Log4j 2.12.2 제외) 이다.

위 버전에 해당되는 버전을 사용중이라면 버전을 2.17.0 으로 변경을 해야 한다. 

변경을 하는 방법은 springboot, maven을 사용한다면 pom.xml에서 properties 설정으로 할 수 있다. 

<log4j2.version>2.17.0</log4j2.version> 

이렇게 한줄만 추가하면 라이브러리 버전 업그레이드를 할 수 있다. 


logback

logback은 springboot의 기본 logging framework이다. 따라서 springboot를 사용하는 곳이라면 거의 다 logback을 사용하고 있다고 봐도 무방하다. 원래는 logback은 이번 사태를 비껴간것처럼 보였지만 최근 조치해야 한다는 내용이 나왔다. logback의 버전이 1.2.9 보다 낮다면 조치 대상이고 거의 모두 해당된다고 보면 된다. 

변경을 하는 방법은 log4j2와 마찬가지로 pom.xml에서 properties 설정으로 할 수 있다. 

<logback.version>1.2.9</logback.version>

이렇게 조치를 하면 dependency가 변경이 된 것을 확인할 수 있을 것이다. 

logback 1.2.9

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31