You cannot see this page without javascript.

진주성 블로그 방문하기

□ 개요

 

 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://tomcat.apache.org

- 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

 

번호 제목 날짜 조회 수
125 ICMP 2017.11.01 1049
124 NetBackup Port Open 2019.11.22 1005
123 서버 취약점 점검 2019.10.31 1004
122 command file 2017.11.01 962
121 HP-UX 보안가이드라인 2018.02.14 944
» 아파치 톰캣 AJP 프로토콜에 '고스트캣(GhostCat)' 취약점 2020.04.06 933
119 hpux ndd tuning 2018.02.28 923
118 HP-UX networking - 11.31 10G NIC 2019.03.19 912
117 Apache나, Tomcat 버젼 노출 취약점 2019.12.09 895
116 암호학 2017.11.01 816
115 IBM ds3500 guide file 2017.08.24 815
114 시스템 보안 과목 예상문제 풀이 2018.05.26 767
113 Dos 공격유형 및 차단 2017.11.03 721
112 NVIDIA_GRID_VMware file 2017.08.23 706
111 외부로 통신이 되지 않을 때 가지고 있는 CD-ROM으로 yum 사용하는 방법 2020.08.26 699
진주성 블로그 방문하기
CLOSE