Apache Log4j 취약점(CVE-2021-44228 등)이 IBM WebSphere Application Server(WAS)에 미치는 영향을 분석합니다. WAS 9.0의 관리 콘솔 도움말(kc.war)과 전 버전의 UDDI 레지스트리(uddi.ear)에 포함된 취약한 라이브러리를 제거하는 임시 조치(Mitigation) 방법을 정리합니다.
1. 영향받는 제품 및 버전 (Affected Products)
사실상 현재 운영 중인 대부분의 WebSphere 버전이 직간접적인 영향권에 있습니다.
| 제품 (Product) | 영향 버전 (Versions) |
|---|---|
| WebSphere Application Server (Traditional) | 9.0, 8.5, 8.0, 7.0 |
| WebSphere Liberty | Continuous Delivery (All) |
2. 취약점 상세 및 조치 가이드 (Remediation)
WAS 엔진 자체보다는 번들로 제공되는 특정 애플리케이션 내의 라이브러리가 문제입니다. 사용하지 않는 기능이라면 과감하게 삭제하는 것이 가장 확실한 방법입니다.
Case A: WAS 9.0 - kc.war (관리 콘솔 도움말)
WAS 9.0 관리 콘솔의 '도움말(Knowledge Center)' 기능에 Log4j 2.x 취약 버전이 포함되어 있습니다.
- 대상: WAS 9.0 사용자
- 조치 방법: 해당 라이브러리 파일 삭제
# 1. 배포된 디렉토리에서 라이브러리 제거
rm -f [WAS_HOME]/systemApps/isclite.ear/kc.war/WEB-INF/lib/log4j*.jar
# 2. 설치 가능 앱 디렉토리에서 원본 앱 제거 (재설치 방지)
rm -rf [WAS_HOME]/installableApps/kc.war
# 3. 서버 재기동
./stopServer.sh server1 && ./startServer.sh server1
주의: 향후 9.0.5.11 이전의 픽스팩을 적용하면 삭제한 파일이 복구될 수 있으므로, 패치 후 다시 확인해야 합니다.
Case B: 전 버전 - uddi.ear (UDDI 레지스트리)
UDDI(Universal Description, Discovery, and Integration) 서비스에 Log4j 라이브러리가 포함되어 있습니다. 대부분의 최신 환경에서는 사용하지 않는 기능입니다.
- 대상: WAS 7.0 ~ 9.0 전체
- 조치 방법: 사용하지 않는다면 파일 삭제
# 미사용 시 (권장)
rm -f [WAS_HOME]/installableApps/uddi.ear
# 사용 중일 경우 (라이브러리만 교체/삭제 후 재배포 필요)
# uddi.ear 압축 해제 -> log4j*.jar 삭제 -> 다시 압축 -> Redeploy
3. Log4j 1.x 관련 추가 조치 (CVE-2021-4104)
Log4j 1.x 버전은 Log4Shell(RCE) 취약점의 직접적인 대상은 아니지만, JMSAppender를 사용할 경우 유사한 공격이 가능합니다. (WAS 기본 설정에는 JMSAppender가 없으나, 애플리케이션에서 사용할 수 있음)
조치 방법 (JMSAppender 제거)
Log4j 1.x는 더 이상 보안 패치가 나오지 않으므로(EOL), 취약한 클래스 파일만 강제로 삭제하는 것이 유일한 방법입니다.
# 시스템 전체에서 log4j-1.2.x.jar 파일을 찾아 JMSAppender 클래스 제거
zip -q -d log4j-1.2.17.jar org/apache/log4j/net/JMSAppender.class
4. 참고 자료 (Reference)
Summary:
WAS 운영팀은
WAS 운영팀은
kc.war와 uddi.ear 내의 log4j 파일을 삭제하고, 개발팀은 배포하는 애플리케이션(WAR/EAR) 내에 취약한 Log4j 버전이 포함되지 않도록 빌드 의존성을 점검해야 합니다.