페이지 트리

이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

« 이전 버전 5 다음 »


이 문서는 CVE-2021-44228 취약점에 대한 제조사별 대처 방안을 공유하기 위해 작성되었다.



Apache Log4j 2 보안 업데이트 권고



개요

  • Apache 소프트웨어 재단은 자사의 Log4j 2에서 발생하는 취약점을 해결한 보안 업데이트 권고[1]

  • 공격자는 해당 취약점을 이용하여 악성코드 감염 등의 피해를 발생시킬수 있으므로, 최신 버전으로 업데이트 권고


주요 내용

  • Apache Log4j 2*에서 발생하는 원격코드 실행 취약점(CVE-2021-44228)[2]
    * 프로그램 작성 중 로그를 남기기 위해 사용되는 자바 기반의 오픈소스 유틸리티


영향을 받는 버전

  • Apache Log4j 2
    • 2.0-beta9 ~ 2.14.1 모든버전


  • Apache Log4j 2를 사용하는 제품
     ※ 참고 사이트 [4]를 확인하여 해당 제품을 이용 중일 경우, 해당 제조사의 권고에 따라 패치 또는 대응 방안 적용

 
해결방안[1]

  • 제조사 홈페이지를 통해 최신버전(2.15.0)으로 업데이트 적용[3]
    ※ log4j 1.x버전 사용자의 경우 추가적인 업그레이드 지원 중지로 인해 다른 보안위협에 노출될 가능성이 높아 최신버전 업데이트 적용 권고


  • 최신버전으로 업데이트가 어려운 경우 사용중인 버전확인 후 버전별 조치 적용
    • (버전확인방법)
      1. log4j가 설치된 경로의 "pom.xml"파일을 열어 "log4j"로 검색
      2. 검색결과 "사용버전(version)" 확인가능


    • (조치방법) 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로 설정


참고 URL


위 내용 출저



솔루션별 대처 방안


Atlassian Server & Data Center 제품군

취약여부

  • Atlassian 제품군에서는 기본적으로 영향 받지 않으나, Log4J 설정(log4j.properties)을 커스터마이징하여 JMS Appender(org.apache.log4j.JMSAppender) 기능을 사용할 경우,  Bitbucket을 제외한 모든 제품에서 위 보안 이슈에 취약함
  • 제품별 다음 경로의 log4.properties 파일을 확인하여 JMS Appender 사용여부를 확인 필요

    ProductDefault Path
    Jira Server & Data Center<install-directory>/atlassian-jira/WEB-INF/classes/log4.properties
    Confluence Server & Data Center<install-directory>/confluence/WEB-INF/classes/log4j.properties
    Bamboo Server & Data Center<install-directory>/atlassian-bamboo/WEB-INF/classes/log4j.properties
    Fisheye / Crucible<install-directory>/log4j.xml
    Crowd<install-directory>/crowd-webapp/WEB-INF/classes/log4j.properties <install-directory>/crowd-openidclient-webapp/WEB-INF/classes/log4j.properties <install-directory>/crowd-openidserver-webapp/WEB-INF/classes/log4j.properties

조치방안

  • Log4J 설정을 커스터마이징 하지 않았을 경우 아래 Bitbucket ElasticSearch 항목 제외 조치 불필요
  • Log4J 설정을 커스터마이징하여 JMS Appender을 사용할 경우, log4j.properties 파일에서 JMS Appender(org.apache.log4j.JMSAppender) 관련 라인을 모두 주석 처리 후 솔루션 재기동


공식답변


Bitbucket Embedded ElasticSearch 조치

  • Atlassian에서 공식 답변은 아직까지 없으나, 내장된 ElasticSearch(이하 ES)에서 log4j를 사용하므로 해당 부분 취약할 수 있음


  • 내장된 log4j 라이브러리 버전에 따라 다음과 같이 조치 필요
    • Log4J 라이브러리 위치에서 Log4J 버전 확인
      <bitbucket-install-directory>/elasticsearch/lib/log4j-core-버전.jar


  • (조치방법) 2.0-beta9 ~ 2.10.0
    1) 라이브러리 위치로 이동

    2) 다음 명령어 수행하여  JndiLookup 클래스 제거
       $ zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

    3) 솔루션 재기동


  • (조치방법) 2.10 ~ 2.14.1 (Bitbucket 6.7.1 ~ 7.17 버전 기준 내장된 ES는 log4j 2.11.1 버전 사용)
    1) 다음 경로의 jvm.options 파일 편집
      <bitbucket-data-directory>/shared/search/jvm.options

    2) 다음 환경변수 추가
       -Dlog4j2.formatMsgNoLookups=true

       ex) jvm.options

    jvm.options
    .
    .
    -Xms4g
    -Xmx4g
    
    (아래 내용 추가)
    ## Log4j vulnerability(CVE-2021-44228)
    -Dlog4j2.formatMsgNoLookups=true
    .
    .

    3) 솔루션 재기동




SonarSource SonarQube

취약여부

  • SonarQube 솔루션 자체는 Log4J에 의존하지 않기 때문에 SonarQube LTS 8.9.x 및 SonarQube 9.2.1 버전은 위 보안 이슈에 영향받지 않음
    • 공식 답변에서 SonarQube 솔루션 자체는 Log4J에 의존하지 않는다면서, 8.9.x 및 9.2.1 버전을 굳이 명시적으로 표시한것에 대해, 그외 버전 및 하위 버전은 다른 것인지에 대해 아직까지 공식 답변은 없음


  • 다만 위 Bitbucket 처럼 Sonarqube도 Embedded된 ElasticSearch에서 log4j를 포함하므로 해당 부분 취약할 수 있음

조치방안

  • Embedded된 ElasticSearch에서 log4j를 포함하므로 다음과 같이 조치 필요


  • Log4J 라이브러리 위치에서 Log4J 버전 확인
    <sonarqube-install-directory>/elasticsearch/lib/log4j-core-버전.jar


  • (조치방법) 2.0-beta9 ~ 2.10.0
    1) 라이브러리 위치로 이동

    2) 다음 명령어 수행하여  JndiLookup 클래스 제거
       $ zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

    3) 솔루션 재기동


  • (조치방법) 2.10 ~ 2.14.1 (SonarQube 8.9.2 OSS 버전 기준 내장된 ES는 log4j 2.11.1 버전 사용)
    1) 다음 경로의 sonar.properties 파일 편집
      <sonarqube-install-directory>/conf/sonar.properties

    2) sonar.search.javaAdditionalOpts 항목 주석 해제 후 다음  환경변수 추가
       sonar.search.javaAdditionalOpts=-Dlog4j2.formatMsgNoLookups=true

    3) 솔루션 재기동


공식답변




Jfrog Artifactory

취약여부

  • JFrog Security 팀 내부 조사 및 검증 결과 JFrog 제품들은 위 보안 이슈에 영향받지 않음


조치방안

  • 조치 불필요

공식답변




Sonatype Nexus

취약여부

  • Sonatype 솔루션은 log4j 대신 logback을 사용하여 위 보안 이슈에 영향받지 않음


조치방안

  • 조치 불필요


공식답변






  • 레이블 없음