UCF STIG Viewer Logo

The Apache web server must be protected from being stopped by a non-privileged user.


Overview

Finding ID Version Rule ID IA Controls Severity
V-92731 AS24-U1-000820 SV-102819r1_rule Medium
Description
An attacker has at least two reasons to stop a web server. The first is to cause a denial of service (DoS), and the second is to put in place changes the attacker made to the web server configuration. To prohibit an attacker from stopping the Apache web server, the process ID (pid) of the web server and the utilities used to start/stop it must be protected from access by non-privileged users. By knowing the "pid" and having access to the Apache web server utilities, a non-privileged user has a greater capability of stopping the server, whether intentionally or unintentionally.
STIG Date
Apache Server 2.4 UNIX Server Security Technical Implementation Guide 2019-05-23

Details

Check Text ( C-92037r1_chk )
Review the web server documentation and deployed configuration to determine where the process ID is stored and which utilities are used to start/stop the web server.

Determine where the "httpd.pid" file is located by running the following command:

find / -name "httpd.pid"
 
This file is automatically generated upon service start. Verify the file owner/group is of an administrative service account:
 
ls -lah <'httpd.pid location'>/httpd.pid
 
If the file owner/group is not an administrative service account, this is a finding.
 
Verify the service utilities used to manage the Apache service owner/group is of an administrative service account.
 
ls -lah /usr/sbin/service
ls -lah /usr/sbin/apachectl
 
If the service utilities owner/group is not an administrative service account, this is a finding.
 
Determine whether the process ID and the utilities are protected from non-privileged users.
 
If the process ID and the utilities are not protected from non-privileged users, this is a finding.
Fix Text (F-98975r1_fix)
Review the web server documentation and deployed configuration to determine where the process ID is stored and which utilities are used to start/stop the web server.

Determine where the "httpd.pid" file is located by running the following command:

find / -name "httpd.pid"

Run the following commands:
 
# cd <'httpd.pid location'>/
# chown <'service account'> httpd.pid 
# chmod 644 httpd.pid 
# cd /usr/sbin 
# chown <'service account'> service apachectl 
# chmod 755 service apachectl