대빵's Blog

톰캣 에러페이지 버전 삭제-delete version in tomcat default error page 본문

개발관련

톰캣 에러페이지 버전 삭제-delete version in tomcat default error page

bigzero 2017. 10. 26. 10:47

Application 에서 의도치 않은 에러 발생시 보여지는 Tomcat default error page 에 Tomcat 버전 정보가 나온다.

보안팀에서 해당 버전 정보를 지워서 의도치 않은 에러 또는 의도적인 공격에 대비하라는 요청이 들어 왔다.


인터넷 정보를 찾아보니 Tomcat 에 catalina.jar 를 열어보면 특정 폴더내에 해당 버전 정보가 property file 로 존재하는데 해당 정보를 지우도록 하는 tip 들이 있길래 그렇게 처리했다.


문제는 이렇게 property file을 지우고 나면 catalina.jar 가 re-packaging 되고 tomcat 과 관련된 연관 도구 및 Application 들에서 의도치 않은 장애를 발생시킬 수 있다.


톰캣버전을 체크해서 기능을 동작시키는 인터페이스 모듈이나 프로그램들이 해당 정보를 읽어들여 작동해야 되는데 해당정보를 지우면 기능이 정상 작동되지 않는다.


좀 더 인터넷 사이트들을 찾아보니 catalina.jar를 re-packaging 하는 건 권장하는 방법이 아니고 톰캣에서 해당 기능을 처리할 수 있는 별도의 방법을 제공하는데 server.xml 에 아래와 같은 tag를 입력하면 tomcat에서 default error page 를 표출시킬때 해당 버전을 삭제하고 보여주게 된다. 


따라서 catalina.jar를 re-packaging 하지 말고 tomcat 에서 제공하는 방법을 사용하는 게 더 안정적이다.


참고 : https://stackoverflow.com/questions/2266475/which-is-the-best-way-to-mask-hide-tomcat-version-from-error-pages?noredirect=1


<Valve className="org.apache.catalina.valves.ErrorReportValve"
    showReport="false" 
    showServerInfo="false"/>