Apache / Tomcat のバージョン情報を隠す方法

Tomcatのバージョン情報を隠す方法

レスポンスヘッダ:Apache HTTP Server)

httpd.confにServerTokens Prodを追加する
weblabo.oscasierra.net

レスポンスヘッダ:Tomcat

server.xmlのConnectorのserver情報を加工する(※1)
dev.classmethod.jp

エラーページ[※2]

server.xmlにErrorReportValveを追加する
なお、HostタグにもerrorReportValveClass定義が存在する(自身では試した事がない)

意外と知られていない、Tomcatのエラーページのバージョン番号の簡単な隠し方
t246osslab.wordpress.com
Tomcatがバージョン情報参照している箇所や、それの修正方法についても言及してくれています。

※1 ConnectorがHTTPの場合は指定可能であるが、AJPの場合は指定不可能(=Tomcatの情報自体返却されない)
Apache Tomcat 9 Configuration Reference (9.0.87) - The HTTP Connector
Apache Tomcat 9 Configuration Reference (9.0.87) - The AJP Connector
※2 そもそもエラーページは別途作成しておいた方がとか

TomEEを利用する際の注意点

  • どうもTomEEがserver.infoのバージョン情報まで確認しているっぽいので、server.infoは修正できなさそう

 (挙動レベルできちんとした確認まではしていない)

  • server.infoを少し加工して記載しても、TomEEのバージョン情報は出力されてしまう
バージョン情報をコンソールで取得する方法

(Apache HTTP Server)

httpd -V

(Tomcat)

${CATALINA_HOME}/bin/version.sh

(TomEE)
今のところtomeeのjarの命名規則にバージョン番号が付与されている