사용자 도구

사이트 도구


wiki:was:tomcat:tip:tomcat_버전_정보_숨기기

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
wiki:was:tomcat:tip:tomcat_버전_정보_숨기기 [2022/07/21 15:45]
bjlee
wiki:was:tomcat:tip:tomcat_버전_정보_숨기기 [2023/07/06 15:59] (현재)
r_kimmk
줄 1: 줄 1:
 ======  Tomcat 서버 버전정보 숨기기 ====== ======  Tomcat 서버 버전정보 숨기기 ======
 <WRAP left notice 80%> <WRAP left notice 80%>
-  * description : Tomcat 서버의 버전정보를 숨기는 방법 +  * description : Tomcat 서버의 버전정보 및 오류 내용을 숨기는 방법 
-  * author      : 김토피아, 밤즌+  * author      : 김토피아
   * email       : kimmk@repia.com   * email       : kimmk@repia.com
-  * lastupdate 2020-04-06 -> 2022-07-21+  * lastupdate 2023-07-06
 </WRAP> </WRAP>
 <WRAP clear/> <WRAP clear/>
  
-===== Intro =====+====== 취약점 내용 ====== 
 +항목명 : 에러 메시지 관리 (사용자 화면) 
 +중요도 : 중 
 +항목개요 : 공격자가 대상 시스템의 정보를 획득하기 위해 고의적으로 다양한 에러를 유발하여 돌아오는 에러 메세지를 통해 웹 프로그램 구조 및 환경설정을 추정할 수 있음
  
-Tomcat은 Apache와 연계하여 많이 사용하나, 독립적으로 Web 서비스를 사용하는 경우가 있다. \\ +===== 판단기준 ===== 
-때 기본 설정으로만 서비스 구동 시에 Response Header나 Default Error Page 등서 톰캣 버전이 노출된다. \\ +양호: 에러 페지 설정과 에러 페이지가 모두 존재할 경우\\ 
-이렇게 버전이 노출이 된 경우 현재 사용하고 있는 해당 톰캣 버전에 알려진 취약점을 이용하여 좀 더 쉽게 공격이 가능하다. \\+취약: 에러 페지 설정이 없거나 에러 페지가 없을 경우\\
 \\ \\
-\\ +{{:wiki:was:tomcat:tip:tomcat_error.png?400|tomcat 오류 화면}} \\ 
-===== 취약점 정리 ===== + 
-1-1기본 에러 페이지 정보 제거+===== 조치 방법 =====  
 +1. {$CATALINA_HOME}/webapps/ROOT 디렉토리에 error.jsp 에러 페이지 생성
 <code bash> <code bash>
-vi {Tomcat_Dir}/lib/org/apache/catalina/util/ServerInfo.properties  +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
-server.info = apache tomcat +<html> 
-server.number = +<head> 
-</code+<title>404 Not Found</title
-\\ +</head> 
-1-2. Header(헤더) 버전 정보 제거 \\ +<body> 
-server.xml 파일 수정 \\ +<h1>Not Found</h1> 
-Connector 태그에 server 속성을 추가+<p>The requested URL was not found on this server.</p> 
-<code bash+<p>Additionally, a 404 Not Found 
-vi {Tomcat_Dir}/conf/server.xml +error was encountered while trying to use an ErrorDocument to handle the request.</p
-<Connector port="8080"  ...  server="apache tomcat" /> +</body
-</code> +</html>
-     +
-> 결과 +
-<code bash> +
-HTTP/1.1 200 OK +
-Server: apache tomcat +
-Content-Type: text/html;charset=UTF-8 +
-Content-Language: koTransfer-Encoding: chunked +
-Date: Tue , 02 Jan 2018 04:33:57 GMT+
 </code> </code>
  
-\\ +2. {$CATALINA_HOME}/conf web.xml에 에러 페이지 설정 \\
-1-3. ErrorReportValve 설정을 통한 정보 제거 +
-- server.xml 파일 수정 +
-    <Host> 태그 안에 <Valve> 태그 +
-    <Valve> 태그를 통해 Tomcat에 들어오는 각 요청에 대한 전처리를 수행할 수 있다. +
-    아래 내용 추가 +
-    <Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false"/> +
- +
-\\ +
-2. 불필요한 examples 디렉토리(/examples) 제거 +
-    서버에 대한 상세 정보를 제공하고 있고, 예제 프로그램 취약점 공격 예방을 위해서 삭제. +
-    {Tomcat_Dir} /webapps/examples 폴더 삭제 +
-\\ +
-3. 공격자가 대상 시스템의 정보를 획득하기 위해 고의적으로 다양한 에러를 유발하여 돌아오는 에러 메시지를 통해 웹 프로그램의 구조 및 환경 설정을 추정할 수 있음. \\ +
-web.xml에 에러 페이지 설정+
  
-web.xml 제일 하단 </web-app> 안쪽에 넣는다.+web.xml 제일 하단 </welcome-file-list> </web-app> 사이에 넣고 톰캣 재시작
  
 <code bash> <code bash>
줄 164: 줄 146:
 </error-page> </error-page>
 </code> </code>
 +{{tag>pseudo-classes}}
/volume1/web/dokuwiki/data/attic/wiki/was/tomcat/tip/tomcat_버전_정보_숨기기.1658385942.txt.gz · 마지막으로 수정됨: 2022/07/21 15:45 저자 bjlee