Log4j 취약점 (CVE-2021-44228)

아침7시개발·2022년 6월 17일
0

보안

목록 보기
1/1

Log4j 취약점 (CVE-2021-44228)

대응 방안

  • 2.0-beta9 ~ 2.10.0
    • JndiLookup 클래스를 경로에서 제거 : zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
  • 2.10 ~ 2.14.1
    • log4j2.formatMsgNoLookups 또는 LOG4J_FORMAT_MSG_NO_LOOKUPS 환경변수를 true로 설정
  • 2021년 12월 14일을 기준으로 Apache log4j 2.15.0 버전이 일부 앱에서 잠재적인 취약점이 존재하는 것으로 확인됨 (CVE-2021-45046)
  • 최신버전으로 업데이트 적용 권고

대응 방법

  1. Message formatting 을 통한 lookup 동작을 위해 ${protocol:~~~} 의 패턴을 갖는다. WAF(web application firewall) 에 룰을 설정하여 차단한다.
  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.trustURLCodebase 와
    com.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 이다.

출처

Zero-Day Exploit Targeting Popular Java Library Log4j
오픈 인프라 엔지니어 그룹
한국정보보호교육센터
sans

profile
쉬엄쉬엄하는 개발자

0개의 댓글