Alter the Advertised server.info String (Scored)
Description
The server.info attribute contains the name of the application service. This value is presented to Tomcat clients when clients connect to the tomcat server.
Rationale
Altering the server.info attribute may increase the complexity for attackers to determine which vulnerabilities affect the server platform.
Audit Procedure
Perform the following to determine if the server.info value has been changed. Extract the ServerInfo.properties file and examine the server.info attribute.
$ cd $CATALINA_HOME/lib
$ jar xf catalina.jar org/apache/catalina/util/ServerInfo.properties
$ grep server.info org/apache/catalina/util/ServerInfo.properties
Remediation
Perform the following to alter the server platform string that gets displayed when clients connect to the tomcat server.
- Extract the
ServerInfo.propertiesfile from thecatalina.jarfile:
$ cd $CATALINA_HOME/lib
$ jar xf catalina.jar org/apache/catalina/util/ServerInfo.properties
- Navigate to the
utildirectory that was created
cd org/apache/catalina/util
- Open
ServerInfo.propertiesin an editor - Update the
server.infoattribute in theServerInfo.propertiesfile.
server.info=<SomeWebServer>
- Update the
catalina.jarwith the modifiedServerInfo.propertiesfile.
$ jar uf catalina.jar org/apache/catalina/util/ServerInfo.properties
Default Value
The default value for the server.info attribute is Apache Tomcat/<version>. For example, Apache Tomcat/8.5.11.
References
- https://tomcat.apache.org/tomcat-8.0-doc/security-howto.html
- https://tomcat.apache.org/tomcat-8.5-doc/security-howto.html
CIS Controls
v7:
- 13.2 Remove Sensitive Data or Systems Not Regularly Accessed by Organization
- Remove sensitive data or systems not regularly accessed by the organization from the network. These systems shall only be used as stand alone systems (disconnected from the network) by the business unit needing to occasionally use the system or completely virtualized and powered off until needed.
Profile Applicability
- Level 2