728x90
반응형
Tomcat은 Apache와 연계하여 많이 사용하나, 간혹 독립적으로 Web 서비스를 사용하는 경우가 있다.
이때 기본 설정으로만 서비스 구동 시에 Response Header & Default Error Page 등에서 Tomcat Version이 노출된다.
Web Server인 Tomcat Version이 노출이 되어도 문제가 없다고 생각할 수 있으나, 그 생각은 매우 큰 오산이다.
이렇게 Version이 노출이 된 경우 현재 사용하고 있는 해당 Tomcat Version에 알려진 취약점을 이용하여 좀 더 쉽게 공격이 가능하다.
쉽게 이야기해 Version 정보를 모른다면 100번 만에 공격이 성공될 수 있지만, Version 정보를 안다면 단 한 번 만에도 공격이 성공될 수 있다.
그러니 별문제 아니라 생각하지 말고 반드시 서비스를 사용하는 경우 꼭 아래와 같이 설정하여 Tomcat Version 정보를 노출하지 않도록 하자.
참고로 Tomcat의 경우 Apache와 같이 많이 사용하니 아래 Apache에서 Version 정보 제거하는 방법도 남겨 놓도록 하겠다.
- 2021.07.31 - [보안가이드] Apache(아파치) Header Version 정보 노출 방지
- 2021.07.31 - [보안가이드] Apache(아파치) User-Agent 제한 설정
그럼 Tomcat에서 어떻게 적용하는지 한번 알아보도록 하자.
1. Header(헤더) Vesrion 정보 제거
# 버전 정보 확인
$ curl -i http://127.0.0.1:8080
HTTP/1.1 404 Not Found
Server: Apache-Coyote/1.1
... 이하 생락 ....
# Tomcat Header Version 정보 노출 수정
$ vi {tomcat_path}/conf/server.xml
<Connector port="8080" ... server="Web Server" />
$ curl -i http://127.0.0.1:8080
HTTP/1.1 404 Not Found
Server: Web Server
반응형
2. Default Error Page(기본 에러 페이지) 정보 제거
# 기본 에러 페이지 확인
$ curl -i http://127.0.0.1:8080/aaaa
HTTP/1.1 404
... 이하 생략 ...
<!doctype html>
... 이하 생략 ...
<hr class="line" /><h3>Apache Tomcat/10.0.11</h3>
</body></html>
# 기본 에러 페이지 버전 정보 노출 수정
- 해당 경로 및 파일이 없는 경우 생성
$ vi {tomcat_path}/lib/org/apache/catalina/util/ServerInfo.properties
server.info=Web Server
server.number=
$ curl -i http://127.0.0.1:8080/aaaa
HTTP/1.1 404
... 이하 생략 ...
<!doctype html>
... 이하 생략 ...
<hr class="line" /><h3>Web Server</h3>
</body></html>
3. ErrorReportValve 설정을 통한 정보 제거
# ErrorReportValve 설정을 통한 버전 정보 노출 수정
$ vi {tomcat_path}/conf/server.xml
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
위 3가지 방법으로 Tomcat Version 정보를 제거하는 방법을 알아보았다.
물론 이 방법만으로 모든 공격을 막아낼 수는 없다.
그러나 조금이라도 버전 정보 노출을 줄여 쉽게 공격이 당하지 않도록 하는 게 좋겠다.
4. 같이 보면 좋은 문서
728x90
반응형
'+ Security > 보안 가이드' 카테고리의 다른 글
[보안가이드] DDoS 공격 대응 가이드 (0) | 2021.08.22 |
---|---|
[보안가이드] 주요정보통신기반시설 기술적 취약점 분석 평가 상세가이드(2021. 03) (0) | 2021.08.21 |
[보안가이드] Nginx Header Version 정보 노출 방지 (0) | 2021.07.31 |
[보안가이드] Nginx User-Agent 제한 설정 (0) | 2021.07.31 |
[보안가이드] Apache(아파치) Header Version 정보 노출 방지 (0) | 2021.07.31 |
댓글