Log4j 취약점 (CVE-2021-44228) 을 막는 5가지 방법

https://www.govcert.ch/blog/zero-day-exploit-targeting-popular-java-library-log4j/assets/log4j_attack.png
출처 : https://www.govcert.ch/blog/zero-day-exploit-targeting-popular-java-library-log4j/

스위스 정부에서 깔끔하게 정리해서 포스팅한 글을 참조 하였습니다.

거두절미 하고 Log4j 2.x 의 이슈 CVE-2021-44228 설명은 생략 하겠습니다.

  1. Message formatting 을 통한 lookup 동작을 위해 ${protocol:~~~} 의 패턴을 갖습니다. WAF 에 룰을 설정하여 차단합니다.
  2. Log4j2 의 message lookup 을 disable 합니다. (2.10 <= current < 2.15.0)
    JAVA 환경변수 -Dlog4j2.formatMsgNoLookups=true 또는
    시스템 환경 변수 LOG4J_FORMAT_MSG_NO_LOOKUPS=true 설정 합니다.
  3. Log4j2 를 2.15.0 이상 으로 업그레이드 합니다.
  4. JNDI Lookup 을 disable 합니다. log4j-core artifact 에서 JndiLookup 클래스를 제거 하거나 Log4j2 를 2.16.0 으로 업그레이드 합니다. (Disable JNDI by default)
  5. Remote codebase 를 disable 합니다.
    1. RMI 기반 설정은 com.sun.jndi.rmi.object.trustURLCodebasecom.sun.jndi.cosnaming.object.trustURLCodebase 를 false 로 셋팅 합니다.
      8u121 부터 false 가 default 로 변경 되었습니다.
      (https://www.oracle.com/java/technologies/javase/8u121-relnotes.html)
    2. LDAP 기반 설정은 com.sun.jndi.ldap.object.trustURLCodebase 를 false 로 셋팅 합니다.
      6u211, 7u201, 8u191, and 11.0.1 이상부터 false 가 default 입니다.

 

모두 안전하게 조치하여 보안 가득한 인프라 라이프가 되었으면 합니다.

5 2 votes
Article Rating
Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

0 Comments
Inline Feedbacks
View all comments
Scroll to top
0
Would love your thoughts, please comment.x
()
x