일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- jquery
- 날짜
- 스크립트
- html
- php
- 이클립스
- MYSQL
- exception
- 호환성
- switch
- null
- 웹 플랫폼 설치 관리자
- DB
- HTML5
- @RequestBody
- Oracle
- SSL
- 오라클
- json
- RADIO
- 톰캣
- spring form tag
- JSTL
- maven
- 네이버스마트 에디터
- 전자정부 표준프레임워크
- checbox
- 문자열
- 한글
- java
- Today
- Total
개인적인 정리
Apache Log4j 2 보안취약점 조치 본문
Apache Log4j 2*에서 발생하는 원격코드 실행 취약점(CVE-2021-44228)[2] 과 관련한 내용을 남겨놓는다.
조치방법으로는 아래 URL을 참조할 수 있다.
https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36389
https://egovframe.go.kr/home/ntt/nttRead.do?menuNo=74&bbsId=6&nttId=1838
조치 방법 이전에 궁금한 것들이 있을 수있는데 아래 URL에 잘 정리되어 있는 것 같다.
위 URL에 정리되어 있는 내용을 그래도 복사해봤다.
아마도 나를 비롯해서 가장 궁금한 내용이 아닐까 싶은데.
내 경우에는 1.2 버전이라 따로 조치는 하지 않고 넘어가는 중이다.
1. Log4j2 패치를 해야하는 대상인지 잘 모르겠어요.
* 개발환경에서 확인
이클립스 개발환경에서는 pom.xml파일을 오픈한후
Dependency Hierarchy 탭을 오픈한후 목록에서 log4j-core : 2.X.X가 있는지 확인합니다.
최종적으로 적용되는 버전은 "Resolved Dependency"목록에서 확인 가능합니다.
또는 이클립스 개발환경에서 Maven Dependency 항목의 목록에서
log4j-core-2.X.X.jar 파일이 있는지 확인 합니다.
* 아래 이미지처럼 확인 가능, 이번에 처음 사용해 봄 ^^;;;; 자바 개발한지 오래됐는데...
* 운영환경에서 확인
WAS 서버에서 웹프로젝트가 배포된 디렉토리에서
WEB-INF/lib 디렉토리에서 log4j-core-2.X.X.jar 파일이 있는지 확인 합니다.
2. Log4j 1.x를 사용하는데 패치를 해야 하나요?
apache log4j 2.0-beta9 ~ 2.14.1 모든버전이 해당되며
1.x버전은 해당사항이 없습니다.
3. Log4j2 2.15.0을 pom.xml에 적용하는 방법은 어떻게 되나요?
pom.xml에 다음을 추가합니다.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.15.0</version>
</dependency>
배포시 대상서버에 WEB-INF/lib 디렉토리에
log4j-core-2.15.0.jar파일이 배포되었는지 확인합니다.
4. Java 8 이상으로 업그레이드 후 Log4j 2.15.0을 패치하는 것이 가장 권장되는 방법인데, 저희 시스템은 Java 8으로 업그레이드할 수 있는 상황이 아니예요. 어떻게 해야할까요?
다음 Apache Log4j 버전별로 조치 합니다.
o Log4j 2.0-beta9 ~ 2.10.0
- JndiLookup 클래스를 경로에서 제거 : zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
o Log4j 2.10 ~ 2.14.1
- JVM 환경변수에서 다음을 추가 합니다.
-Dlog4j2.formatMsgNoLookups=true
- OS 환경변수에서 다음을 추가 합니다.
LOG4J_FORMAT_MSG_NO_LOOKUPS 환경변수를 true로 설정
5. 표준프레임워크를 적용하고 있지 않은 JVM기반 웹서비스인데 대상이 되나요?
Java 기반 JVM 환경을 사용하는 모든 서비스에서
Apache Log4j2를 사용하는 시스템은 모두 조치 대상입니다.
6. 개발환경에서 테스트 없이 운영서버에 바로 반영해도 문제가 없나요?
개발시 다양한 라이브러리가 추가로 적용되어 있을수 있으므로
반드시 개발환경이나 테스트베드환경에서 확인후 운영서버에 반영해야 합니다.
'전자정부표준프레임워크' 카테고리의 다른 글
api로 데이타 전송(GET) (0) | 2022.04.14 |
---|---|
api 로 데이타 전송(post) (0) | 2022.04.14 |
api 파일 전송 (0) | 2022.04.14 |
JSTL 체크박스에 체크하는 예제 하나 (0) | 2021.12.14 |
JSTL 날짜에 요일 출력하기 (0) | 2021.11.30 |
JSTL 날짜 계산 (0) | 2021.11.30 |
JSTL 오늘 날짜 (0) | 2021.11.27 |
log4j의 level (0) | 2021.09.08 |