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-12-19 |
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 |