👨🏻‍💻Infra/🟦WEB & WAS

Tomcat 원격 코드 취약점 | CVE-2020-1938 Ghostcat

공개하기부끄러운블로그 2020. 4. 9. 13:07
반응형
취약버전 (취약점 공개일 2020.2.24)

9.0.0~9.0.30
8.5.0~8.5.50
7.0.0~7.0.99

 

 

Tomcat 버전별 취약점 업데이트 내용 확인

※ 7.x : http://tomcat.apache.org/security-7.html
※ 8.x : http://tomcat.apache.org/security-8.html
※ 9.x : http://tomcat.apache.org/security-9.html

 

 

원인

AJP 연결은 HTTP 연결보다 신뢰도가 높은것으로 취급하며,
기존 취약점버전 Tomcat은 모든 IP주소(0.0.0.0) 에서 
수신대기하는 AJP 커넥터를 기본적으로 사용하도록 설정하여 제공하였다.
이 부분은 신뢰할수없는 사용자가 AJP 포트에 엑세스할수있다는것이며,
공격자는 파일 업로드 기능을 통해 jsp로 만든 악성코드를 서버에 업로드하여 원격코드를 실행시킬수있음

톰캣 공식페이지에서 확인가능

https://tomcat.apache.org/

 

 

해결방안 

1 )  버전별로 제공되는 웹페이지를 찹고하여 최신 버전으로 업데이트
2 )  AJP 설정 중 secretRequired와 secret속성을 통하여 인증제한 설정.
3 )  conf/server.xml 설정 파일에 AJP 프로토콜 포트를 차단

 

 

최신버전 최종설정 

​​​​​​​<Connector protocol="AJP/1.3"
           address="0.0.0.0"
           secretRequired="false"
           port="8009"
           redirectPort="8443" />

 

# secreRequired 기본값이 true -> false로 변경

# Tomcat이 기동되고 Port를 바인딩할떄 IPv6로 바인딩되기에 address="0.0.0.0" 어트리뷰트 추가

 

확인

반응형