보안 아파치 톰캣 AJP 프로토콜에 '고스트캣(GhostCat)' 취약점
2020.04.06 20:30
□ 개요
o 최근 Apache Tomcat의 원격코드실행 취약점(CVE-2020-1938)을
악용할 수 있는 개념증명코드(Proof of concept code, PoC)가 인터넷상에 공개되어 사용자의 보안 강화 필요
※ 개념증명코드 : 취약점을 증명/검증할 수 있는 프로그램 또는 소스코드
□ 설명
o Tomcat이 AJP request 메시지를 처리할 때, 메시지에 대한 처리가 미흡하여 발생하는 원격코드실행 취약점(CVE-2020-1938)
※ AJP(Apache JServ Protocol) : 웹서버와 어플리케이션 서버 간 연결 요청을 8009포트를 사용하여 전달하는 프로토콜(모니터링 기능 지원)
□ 영향을 받는 버전
o Apache Tomcat
- 9.0.0.M1 ~ 9.0.30
- 8.5.0 ~ 8.5.50
- 7.0.0 ~ 7.0.99
※ 상기 버전은 AJP 커넥터가 기본으로 활성화되어 취약점에 영향 받음
□ 해결 방안
o 각 버전에 해당되는 페이지를 참고하여 최신 버전으로 업데이트 적용
- 7.0.103 이상 버전 [2]
- 8.5.53 이상 버전 [3]
- 9.0.33 이상 버전 [4]
#1. Apache Tomcat 최신 버전 업데이트
- https://github.com/apache/tomcat/releases
#2. 설정 파일 수정 후 톰캣 재기동
CASE1. AJP Connector service 사용하지 않는 경우
<CATALINA_BASE>/conf/server.xml 내 ... <!-- <Connector prot="8009" protocol="AJP/1.3" redirectPort="8443" /> --> //주석처리 ... |
CASE2. AJP Connector service 사용하는 경우
[최신 버전으로 업데이트 후] <CATALINA_BASE>/conf/server.xml 내 ... <Connector prot="8009" protocol="AJP/1.3" redirectPort="8443" address="YOUR_TOMCAT_IP_ADDRESS" secret="YOUR_TOMCAT_AJP_SECRET" /> ... |
혹은
[최신 버전으로 업데이트 불가한 경우] <CATALINA_BASE>/conf/server.xml 내 ... <Connector prot="8009" protocol="AJP/1.3" redirectPort="8443" address="YOUR_TOMCAT_IP_ADDRESS" requiredSecret="YOUR_TOMCAT_AJP_SECRET" /> ... |
※ "YOUR _TOMCAT_IP_ADDRESS"에는 속성에 맞는 IP주소를 입력합니다. (예:127.0.0.1, 내부아이피 등)
- address 값은 하나의 Connector에는 하나만 설정 가능한 것으로 확인되며,
다른 IP에서 접근하는 경우 추가 Connector를 생성하여 접근할 수 있도록 조치해야합니다.
※ "YOUR_TOMCAT_AJP_SECRET" 속성은 AJP 1.3에 접근하는 것에 대한 패스워드 역할을 하기 때문에
쉽게 해독/유추가 불가능한 값으로 설정해야 안전하게 사용 가능합니다.
1) 무한 로딩 해결 방법
이번에 릴리즈되면서 기본값으로 SSL을 사용하도록 설정되어있기 때문에 SSL을 사용하지 않는 환경에서는 무한 로딩이 발생 합니다.
${catalina-home}/conf/server.xml 파일의 AJP Connector 필드에 secretRequired="false" 를 입력 해주세요.
2) 403 에러 해결 방법
secretRequired="false" 가 아닌 requiredSecret="false"를 입력했을 경우 발생할 수 있습니다. 2020년 02월 11일에 릴리즈된 8.5.51 버전과 9.0.31 버전은 secretRequired 속성으로 사용하여야 합니다.
3) 503 에러 해결 방법
이번에 릴리즈되며 AJP가 기본값으로 루프백 주소를 사용하도록 되었습니다. address="192.168.1.2" 와 같이 네트워크 대역을 확인 후 추가 해주어야 합니다.
<Connector protocol="AJP/1.3"
address="192.168.1.2"
secretRequired="false"
port="8009"
redirectPort="8443" />
□ 기타 문의사항
o 한국인터넷진흥원 사이버민원센터: 국번없이 118
[참고사이트]
[2] http://tomcat.apache.org/security-7.html
[3] http://tomcat.apache.org/security-8.html
[4] http://tomcat.apache.org/security-9.html
댓글 0
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
65 | GRUB2 부트로더 취약점 보안 업데이트 권고 | 2025.04.02 | 17 |
64 | 급증하는 키싱(Qishing) 공격 | 2023.11.14 | 277 |
63 |
2021년도 주요정보통신기반시설 기술적 취약점 분석ㆍ평가 방법 상세가이드
![]() | 2022.06.23 | 368 |
62 |
Apache Log4j 취약점및 대응방안
![]() | 2022.02.05 | 130 |
61 | Linux system service bug gives you root on every major distro | 2022.02.05 | 276 |
» | 아파치 톰캣 AJP 프로토콜에 '고스트캣(GhostCat)' 취약점 | 2020.04.06 | 1246 |
59 | 서버 취약점 점검 | 2019.10.31 | 1120 |
58 | IPsec 동작모드 | 2019.09.07 | 397 |
57 | 불필요한 HTTP Method 차단 | 2019.04.01 | 1438 |
56 | 정보보안 국가기술자격검정 최종합격자 현황 [1] | 2019.03.27 | 457 |
55 |
정보보안 국가기술자격 출제기준 개정 안내
![]() | 2019.03.27 | 1570 |
54 |
개인정보 안전성 확보조치 기준 해설서개인 정보 보호
![]() | 2019.03.20 | 508 |
53 |
시스템 개발·운영자를 위한 개인정보보호 가이드라인
![]() | 2019.03.20 | 534 |
52 |
정보보호시스템 구축을 위한 실무가이드
![]() | 2019.03.20 | 2098 |
51 |
주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드
![]() | 2019.03.20 | 842 |
50 | netcat | 2018.10.09 | 1304 |
49 | 시스템 보안 과목 예상문제 풀이 | 2018.05.26 | 865 |
48 | HTTP Status Code HTTP 상태 코드 | 2018.05.03 | 729 |
47 | http protocol 기본적인 이해 | 2018.04.27 | 376 |
46 | name server 보안 (bind) | 2018.04.26 | 1624 |