[전자정부프레임워크] Log4J 이슈 대응 (Spring 포함)

    최근 Log4J 버전에 해킹 이슈들이 터지면서 KISA에서는 기업들에게 경고 메세지를 주고 있고, 우리 회사의 경우 ISMS를 인증하였기 때문에 Log4J 대응으로 업무가 터져버릴 지경이다.

     

    난리도 아닌 log4j 상황

     

    전자정부 프레임워크에서의 취약점 긴급 사항

    □ 주요 내용
     o Apache Log4j 2에서 발생하는 원격코드 실행 취약점(CVE-2021-44228)[2]
     o Apache Log4j 2에서 발생하는 서비스 거부 취약점(CVE-2021-45046)[6]
     o Apache Log4j 2에서 발생하는 서비스 거부 취약점(CVE-2021-45105)[8]
     o Apache Log4j 1.2에서 발생하는 원격코드 실행 취약점(CVE-2021-4104)[7]

        ※ Log4j : 프로그램 작성 중 로그를 남기기 위해 사용되는 자바 기반의 오픈소스 유틸리티

    □ 영향을 받는 버전 :
    - apache log4j 2.0-beta9 ~ 2.16.0 모든버전 (Log4j 2.12.3 제외)
    * 표준프레임워크에서 각 버전별 최초 배포되는 log4j의 버전은 다음과 같습니다.
    ----------------------------
    1.0 : Log4j 1.3 (JMSAppender를 사용하는 경우)
    2.0 : Log4j 1.3 (JMSAppender를 사용하는 경우)
    2.5 : Log4j 1.3 (JMSAppender를 사용하는 경우)
    2.6 : Log4j 1.3 (JMSAppender를 사용하는 경우)
    2.7 : Log4j 1.3 (JMSAppender를 사용하는 경우)
    3.0 : Log4j 2.0
    3.1 : Log4j 2.0
    3.5 : Log4j 2.1
    3.6 : Log4j 2.5
    3.7 : Log4j 2.8.2
    3.8 : Log4j 2.10.0
    3.9 : Log4j 2.11.2
    3.10 : Log4j 2.12.1
    4.0(베타) : : Log4j 2.14.0
    ----------------------------

    □ 대응방안
    o JDK8 사용시
     - Log4j 2.17.0으로 업데이트
    o JDK7 사용시
     - Log4j 2.12.3으로 업데이트
    o JDK6 사용시
     - Log4j 2.3.1으로 업데이트

    https://www.egovframe.go.kr/home/ntt/nttRead.do?menuNo=74&bbsId=6&nttId=1838

     

    내가 근무하는 팀의 경우 마이크로 아키텍쳐(micro architecture)로 인해서 수많은 API들이 띄워져 있는데 그 중 전자정부프레임워크(eGovFramework) 기반으로 띄워진 API도 꽤 된다. 

     

    전자정부프레임워크를 사용하는 사람들이 간과하는 것이 있는데 Log4J를 안쓰고 있다고 착각을 하는 것이다. 전자정부프레임워크의 기본 Log 설정은 log4j를 호출하기 때문에 이번 Log4j 이슈에 꼭 대응해줘야 한다.

     

    대응방법

    pom.xml에서 아래와 같은 dependency를 추가한다 (2021.12.29일 권고사항으로 2.17.0 -> 2.17.1로 변경)

    <!-- log4j 대응 -->
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>2.17.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>2.17.1</version>
            </dependency>

    위의 디펜던시를 추가하면, 기존의 log4j의 버전이 업데이트 된다. 위의 내용은 스프링(Spring) 및 스프링부트(Spring-boot)에서도 동일하게 적용할 수 있으니 참고하자 다만 log4j-slf4j-impl의 경우에는 slf4j를 사용하지 않는다면 전자정부프레임워크 이외에는 적용할 필요는 없을 것이다.

     

    2021.12.29일 추가 권고사항

    https://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36397 

     

    KISA 인터넷 보호나라&KrCERT

    KISA 인터넷 보호나라&KrCERT

    www.boho.or.kr

     

    참고자료

    전자정부프레임워크 - [긴급] Log4J 보안 업데이트 긴급공지

    반응형

    댓글

    Designed by JB FACTORY