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-222997

CAT II (Medium)

AccessLogValve must be configured for Catalina engine.

Rule ID

SV-222997r1016518_rule

STIG

Apache Tomcat Application Server 9 Security Technical Implementation Guide

Version

V3R4

CCIs

CCI-000172, CCI-003938, CCI-001814

Discussion

The <Engine> container represents the entire request processing machinery associated with a particular Catalina Service. It receives and processes all requests from one or more connectors, and returns the completed response to the connector for transmission back to the client. The AccessLogValve will log activity for the Catalina service. Exactly one engine element MUST be nested inside a service element, following all of the corresponding connector elements associated with the service. Satisfies: SRG-APP-000495-AS-000220, SRG-APP-000381-AS-000089, SRG-APP-000499-AS-000224, SRG-APP-000504-AS-000229

Check Content

As an elevated user on the Tomcat server, edit the $CATALINA_BASE/conf/server.xml file.

Review the &lt;Engine&gt; element. Ensure one AccessLog &lt;Valve&gt; element is nested within the engine element. 

If a &lt;Valve className="org.apache.catalina.valves.AccessLogValve" .../&gt; element is not defined, this is a finding.

EXAMPLE:
&lt;Engine name="Standalone" ...&gt;
  ...
  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"
         prefix="catalina_access_log" suffix=".txt"
         pattern="common"/&gt;
  ...
&lt;/Engine&gt;

Fix Text

As a privileged user on the Tomcat server, edit the $CATALINA_BASE/conf/server.xml file.

Create a &lt;Valve&gt; element that is nested beneath the &lt;Host&gt; element containing an AccessLogValve. 

EXAMPLE:
&lt;Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="false"&gt;
...
&lt;Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %t %u &amp;quot;%r&amp;quot; %s %b" /&gt;
  ...
&lt;/Host&gt;

Restart the Tomcat server:
sudo systemctl restart tomcat
sudo systemctl daemon-reload