본문 바로가기
JAVA

심각한수준의 아파치 원격제어‘로그4j’ 취약점, 어떻게 패치하나요?

by helloissue 2021. 12. 13.

오늘 날짜로 과기정통부에서, 아파치 '로그4j' 2 웹서비스 긴급 보안패치 권고가 올라왔다. 해당 내용은 심각한 수준이었다.  보통 서버를 관리하기 위해 자동화된 로그4j를 대부분 사용하는데, 이 모듈의 취약점이 발견되었는데 그 취약 (CVE-2021-44228)은 서버 관리자 권한으로 대상 서버의 브라우저를 열고 특정 URL을 오픈하는 등, 서버 전체를 조정할 수 있는 원격제어 수준인 것으로 밝혀졌다. 어떻게 하면 이 취약점을 벗어나고 패치하는지 알아보겠습니다.

 

원격제어수준의취약점-log4j
원격제어수준의취약점-log4j


1. 해결방법 

 

대한민국에서 운영하고 있는 보호나라 사이트에 방문하면, 어떠한 조치를 통해 해당 취약점을 벗어날 수 있는지에 대해 나와있습니다. 엉뚱한 사이트를 방문하지 말고 신뢰성 있는 보호나라를 통해 방문하여 해당 모듈을 업데이트함으로써 벗어날 수 있습니다.

2021년 12월 11일 자의 보안공지를 클릭하시면 됩니다.

https://www.boho.or.kr/main.do

 

KISA 인터넷 보호나라&KrCERT

KISA 인터넷 보호나라&KrCERT

www.boho.or.kr

 

보호나라에 따르면 하단의 3가지 방법으로 취약점을 방어할 수 있습니다. 필자가 추천하는 방법은 제조사 홈페이지를 통한 원소스의 업데이트를 추천합니다.

 

o 2.0-beta9 ~ 2.10.0
   - JndiLookup 클래스를 경로에서 제거 : zip -q -d log4j-core-

   *.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
 o 2.10 ~ 2.14.1
   - log4j2.formatMsgNoLookups 또는 LOG4J_FORMAT_MSG_NO_LOOKUPS 환경변수를 true로 설정
 o 제조사 홈페이지를 통해 최신 버전(2.15.0) 이상으로 업데이트 적용 

 

 

https://logging.apache.org/log4j/2.x/download.html

 

Log4j – Download Apache Log4j 2

<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apa

logging.apache.org

<dependency>
   <groupId>org.apache.logging.log4j</groupId>
   <artifactId>log4j-core</artifactId> 
   <version>2.15.0</version>
</dependency>

Java Spring Framework Maven 사용 시 log4j가 설치된 경로의 pom.xml 파일을 열어 “log4 j-core”로 검색 > 필자처럼 버전 2.15로 바꾸어 적어서 업그레이드를 하시면 됩니다. 따로 관리한다면 직접 다운로드하시어 기존 log4j.jar 있는 곳에 교체하세요

 

 

 

2. 취약한 log4 j 를 사용하고 있는지 어떻게 확인하나요?

 

log4j를 사용하는 제품에 관한 정보는 아래 링크에서 확인할 수 있습니다. 

상용제품 사용 중인 경우 아래 링크에 접속하여 해당 제조사를 찾아 제조사가 안내하는 방법으로 확인하시면 됩니다.
 * https://gist.github.com/SwitHak/b66db3a06c2955a9cb71a8718970c592

 

log4 j 설치 여부, 버젼확인방법은 하단의 명령어를 사용하시면 됩니다.

dpkg –l | grep log4j 

find / -name ‘log4j*’

log4j 설치 여부 확인
log4j 설치 여부 확인

윈도의 경우 window explorer의 검색 기능 (log4 j 검색)을 이용하시면 해당 서버에서 log4j를 사용하시는지 체크가 가능합니다.

 

3. 버전에 따라 어떻게 조치해야 하나요?

 

2.15 이상으로 업데이트가 가능한 환경이라면 업데이트를 추천드리며, 업데이트를 할 수 없는 상황이라면  log4 j 버전에 따른 해결 방안은 아래와 같습니다.

- 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로 설정

 

4. 보안 적용 또는 업데이트를 안 하게 되면 어떻게 되나요?

해당 취약점이 공개된 이상, 초등학생이든 해커가 되었든 간에 가장 손쉽게 해당 서버에 관리자 계정으로 파일을 업로드 또는 실행이 가능합니다. 즉 누구든 그 서버를 해킹할 수 있다는 소리입니다. 뭘 어떻게 되긴요. 수 많은 예비해커들의 손쉬운 사냥감이 되어 해커실습소가 될것입니다.

 

 

 

 

 

이상으로 마칩니다. 긴급하게 적용하시길 바랍니다. 취약점으로 뚫린 구멍은 시간이 지남에 따라, 점점 막을 수 없는 수준으로 번져나가기에 지체 없이 수정 하기길 바랍니다. 

[관련 자료]

Apache Log4j 2 원격코드 실행(RCE) 취약점 주의! [CVE-2021-44228]
https://blog.alyac.co.kr/4341

 

[긴급] Apache Log4j 2 원격코드 실행(RCE) 취약점 주의! [CVE-2021-44228]

안녕하세요? 이스트시큐리티 ESRC(시큐리티대응센터) 입니다. Apache Log4j 2 에서 발생하는 취약점(CVE-2021-44228)을 통해 악성코드 감염 등의 피해가 발생할 수 있어 최신 버전으로 긴급 업데이트가 필

blog.alyac.co.kr

 

Another Apache Log4j Vulnerability Is Actively Exploited in the Wild (CVE-2021-44228)

https://unit42.paloaltonetworks.com/apache-log4j-vulnerability-cve-2021-44228/

 

Apache log4j Vulnerability CVE-2021-4428: Analysis and Mitigations

We provide background and a root cause analysis of CVE-2021-44228, a vulnerability in Apache log4j, and we recommend mitigations.

unit42.paloaltonetworks.com

 

Log4j2 Vulnerability “Log4Shell” (CVE-2021-44228)

https://www.crowdstrike.com/blog/log4j2-vulnerability-analysis-and-mitigation-recommendations/

 

Log4j2 Vulnerability: How to Mitigate CVE-2021-44228 | CrowdStrike

CrowdStrike Falcon OverWatch analyzes CVE-2021-44228 (Log4Shell) and the ongoing attempts to exploit the Log4j2 vulnerability, and offers mitigation recommendations.

www.crowdstrike.com

 

 

댓글