STIGhubSTIGhub
STIGsSearchCompareAbout

STIGhub

A free tool to search and browse the entire DISA STIG library. Saves up to 75% in security compliance research time.

Navigation

  • Browse STIGs
  • Search
  • Compare Versions

Resources

  • About
  • VPAT
  • DISA STIG Library
Powered by Pylon
© 2026 Beacon Cloud Solutions, Inc. All rights reserved.
← Back to Apache Tomcat Application Server 9 Security Technical Implementation Guide

V-222928

CAT III (Low)

HTTP Strict Transport Security (HSTS) must be enabled.

Rule ID

SV-222928r960762_rule

STIG

Apache Tomcat Application Server 9 Security Technical Implementation Guide

Version

V3R4

CCIs

CCI-001453

Discussion

HTTP Strict Transport Security (HSTS) instructs web browsers to only use secure connections for all future requests when communicating with a website. Doing so helps prevent SSL protocol attacks, SSL stripping, cookie hijacking, and other attempts to circumvent SSL protection. Implementing HSTS requires testing of your web applications to ensure SSL certificates align correctly with application requirements and sub-domains if sub-domains are used. Ensure certificates are installed and working correctly. If sub-domains are in use, all sub-domains must be covered in the SSL/TLS certificate and the includeSubDomains directive must be specified in order for HSTS to function properly.

Check Content

From the Tomcat server console, run the following command:

sudo grep -i -A5 -B8 hstsEnable $CATALINA_BASE/conf/web.xml file.

If the httpHeaderSecurity filter is commented out or if hstsEnable is not set to "true", this is a finding.

Fix Text

From the Tomcat server as a privileged user, edit the web.xml file:

sudo nano $CATALINA_BASE/conf/web.xml file.

Uncomment the existing httpHeaderSecurity filter section or create the filter section using the following code:

NOTE: includeSubDomains param-value and url-pattern values may change and can vary according to local deployment requirements. 
<filter>
<filter-name>httpHeaderSecurity</filter-name>
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
<init-param>
 <param-name>hstsEnabled</param-name>
 <param-value>true</param-value>
</init-param>
<init-param>
 <param-name>hstsMaxAgeSeconds</param-name>
 <param-value>31536000</param-value>
 </init-param>
 <init-param>
 <param-name>hstsIncludeSubDomains</param-name>
 <param-value>true</param-value>
 </init-param>
<async-supported>true</async-supported>
</filter>

Create or uncomment the httpHeaderSecurity filter mapping:
<filter-mapping>
<filter-name>httpHeaderSecurity</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>