Only authenticated system administrators or the designated PKI Sponsor for the Apache web server must have access to the Apache web servers private key.
Severity | Group ID | Group Title | Version | Rule ID | Date | STIG Version |
---|---|---|---|---|---|---|
medium | V-214287 | SRG-APP-000176-WSR-000096 | AS24-U2-000390 | SV-214287r961041_rule | 2025-02-12 | 2 |
Description |
---|
The web server's private key is used to prove the identity of the server to clients and securely exchange the shared secret key used to encrypt communications between the web server and clients. By gaining access to the private key, an attacker can pretend to be an authorized server and decrypt the SSL traffic between a client and the web server. |
ℹ️ Check |
---|
Verify the "ssl module" module is loaded # httpd -M | grep -i ssl_module Output: ssl_module (shared) If the "ssl_module" is not enabled, this is a finding. Determine the location of the ssl.conf file: # find / -name ssl.conf Output: /etc/httpd/conf.d/ssl.conf Search the ssl.conf file for the SSLCertificateKeyFile location. # cat <path to file>/ssl.conf | grep -i SSLCertificateKeyFile Output: SSLCertificateKeyFile /etc/pki/tls/private/localhost.key Identify the correct permission set and owner/group of the certificate key file. # ls -laH /etc/pki/tls/private/localhost.key Output: -rw-------. 1 root root 1675 Sep 10 2020 /etc/pki/tls/private/localhost.key The permission set must be 600 or more restrictive and the owner/group of the key file must be accessible to only authenticated system administrator and the designated PKI Sponsor. If the correct permissions are not set or if the private key is accessible by unauthenticated or unauthorized users, this is a finding. |
✔️ Fix |
---|
Determine the location of the ssl.conf file: # find / -name ssl.conf Output: /etc/httpd/conf.d/ssl.conf Search the ssl.conf file for the SSLCertificateKeyFile location. # cat <path to file>/ssl.conf | grep -i SSLCertificateKeyFile Output: SSLCertificateKeyFile /etc/pki/tls/private/localhost.key Based on the " SSLCertificateKeyFile" directive path, configure the Apache web server to ensure only authenticated and authorized users can access the web server's private key. Permissions must be 600 or more restrictive. |