톰캣 에러페이지 버전 삭제-delete version in tomcat default error page
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"/>