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

 

번호 제목 날짜 조회 수
170 Restore Database And Rename Database Files Example 2019.03.26 60293
169 Dns 보안 file 2017.08.23 20211
168 Sun t2000 manual file 2017.08.24 19864
167 AD(Active Directory) 2017.11.01 18593
166 한글 putty file 2017.09.13 11998
165 Tear Drop / Tiny Fragment / Fragment Overlap(고전적인방법) file 2017.10.17 8824
164 Cain & Abel is a password recovery tool 2018.03.12 8061
163 win-sshfs for windows file 2017.09.13 7770
162 룰 기반의 IDS(침입탐지시스템) - snort file 2017.09.27 7652
161 HP-UX snmp 중지 설정 2017.09.07 6859
160 VPN 2017.11.01 5138
159 보안관제 file 2017.11.01 4767
158 아파치 2.2.29 버젼에서 SSLProtocol 중 TLSv1.2로 설정 2019.02.27 4416
157 tcpdump - dump traffic on a network [1] file 2017.10.13 4027
156 윈도우용 wget file 2017.09.28 4017
진주성 블로그 방문하기
CLOSE