보안 아파치 톰캣 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
[참고사이트]
[1] https://lists.apache.org/thread.html/r7c6f492fbd39af34a68681dbbba0468490ff1a97a1bd79c6a53610ef%40%3Cannounce.tomcat.apache.org%3E
[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
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
155 | vi, vim ^M 제거 | 2021.04.02 | 39 |
154 | Apache Log4j 취약점및 대응방안 | 2022.02.05 | 42 |
153 | qlogic qaucli command - HBA카드 온도체크 | 2022.07.05 | 46 |
152 | Tibero 접속 및 관리 | 2023.10.25 | 52 |
151 | weblogic admin 패스워드 변경 방법 | 2021.04.06 | 60 |
150 | HPUX Apache 2.4.53 다운로드 및 설치 | 2022.07.20 | 62 |
149 | 개인정보 | 2017.11.01 | 75 |
148 | hp-ux glance Memory Sort | 2021.02.26 | 85 |
147 | IoT 보안 | 2017.11.08 | 87 |
146 | 디지털 포렌직 조사의 일반원칙 | 2017.11.07 | 92 |
145 | 개인정보 보호법 | 2017.11.09 | 96 |
144 | 정보통신망법 | 2017.11.09 | 97 |
143 | SSL, IPSEC | 2017.11.01 | 99 |
142 | 전자서명법 - 공인인증서 | 2017.11.09 | 103 |
141 | DDos 공격대응 가이드 | 2017.08.25 | 105 |