Apache Server 2.4 Windows Site Security Technical Implementation Guide
Pick two releases to diff their requirements.
Open a previous version of this STIG.
- RMF Control
- AC-10
- Severity
- M
- CCI
- CCI-000054
- Version
- AS24-W2-000010
- Vuln IDs
-
- AS24-W2-000010
- Rule IDs
-
- AS24-W2-000010_rule
Checks: C-AS24-W2-000010_chk
Open the <'INSTALL PATH'>\conf\httpd.conf file with an editor and search for the following directive: MaxKeepAliveRequests Verify the value is "100" or greater. If the directive is not set to "100" or greater, this is a finding.
Fix: F-AS24-W2-000010_fix
Open the <'INSTALL PATH'>\conf\httpd.conf file with an editor and search for the following directive: MaxKeepAliveRequests Set the directive to a value of "100" or greater; add the directive if it does not exist. Restart the Apache service.
- RMF Control
- AC-10
- Severity
- M
- CCI
- CCI-000054
- Version
- AS24-W2-000020
- Vuln IDs
-
- AS24-W2-000020
- Rule IDs
-
- AS24-W2-000020_rule
Checks: C-AS24-W2-000020_chk
In a command line, navigate to <'INSTALL PATH'>\bin. Run "httpd -M" to view a list of installed modules. If the module "mod_session" is not enabled, this is a finding.
Fix: F-AS24-W2-000020_fix
Uncomment the "mod_session" module in the <'INSTALLED PATH'>\conf\httpd.conf file. Additional documentation can be found at: https://httpd.apache.org/docs/2.4/mod/mod_usertrack.html https://httpd.apache.org/docs/2.4/mod/mod_session.html
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- AS24-W2-000030
- Vuln IDs
-
- AS24-W2-000030
- Rule IDs
-
- AS24-W2-000030_rule
Checks: C-AS24-W2-000030_chk
In a command line, navigate to "<'INSTALLED PATH'>\bin". Run "httpd -M" to view a list of installed modules. If the module "mod_ssl" is not enabled, this is a finding. Review the <'INSTALLED PATH'>\conf\httpd.conf file to determine if the "SSLProtocol" directive exists and looks like the following: SSLProtocol -ALL +TLSv1.2 If the "SSLProtocol" directive does not exist and does not contain "-ALL +TLSv1.2", this is a finding.
Fix: F-AS24-W2-000030_fix
Ensure the "SSLProtocol" is added and looks like the following in the <'INSTALLED PATH'>\conf\httpd.conf file: SSLProtocol -ALL +TLSv1.2 Ensure the "SSLEngine" parameter is set to "ON" inside the "VirtualHost" directive.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001453
- Version
- AS24-W2-000040
- Vuln IDs
-
- AS24-W2-000040
- Rule IDs
-
- AS24-W2-000040_rule
Checks: C-AS24-W2-000040_chk
In a command line, navigate to "<'INSTALLED PATH'>\bin". Run "httpd -M" to view a list of installed modules. If the module "mod_ssl" is not enabled, this is a finding. Review the <'INSTALLED PATH'>\conf\httpd.conf file to determine if the "SSLProtocol" directive exists and looks like the following: SSLProtocol -ALL +TLSv1.2 If the directive does not exist and does not contain "-ALL +TLSv1.2", this is a finding.
Fix: F-AS24-W2-000040_fix
Ensure the "SSLProtocol" is added and looks like the following in the <'INSTALLED PATH'>\conf\httpd.conf file: SSLProtocol -ALL +TLSv1.2 Ensure the "SSLEngine" parameter is set to "ON" inside the "VirtualHost" directive.
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- AS24-W2-000060
- Vuln IDs
-
- AS24-W2-000060
- Rule IDs
-
- AS24-W2-000060_rule
Checks: C-AS24-W2-000060_chk
In a command line, navigate to "<'INSTALLED PATH'>\bin". Run "httpd -M" to view a list of installed modules. If the module "mod_ssl" is not enabled, this is a finding. Review the <'INSTALLED PATH'>\conf\httpd.conf file to determine if the "SSLProtocol" directive exists and looks like the following: SSLProtocol -ALL +TLSv1.2 If the "SSLProtocol" directive does not exist and does not contain "-ALL +TLSv1.2", this is a finding.
Fix: F-AS24-W2-000060_fix
Ensure the "SSLProtocol" is added and looks like the following in the <'INSTALLED PATH'>\conf\httpd.conf file: SSLProtocol -ALL +TLSv1.2 Ensure that the "SSLEngine" parameter is set to "ON" inside the "VirtualHost" directive.
- RMF Control
- AU-3
- Severity
- M
- CCI
- CCI-000130
- Version
- AS24-W2-000090
- Vuln IDs
-
- AS24-W2-000090
- Rule IDs
-
- AS24-W2-000090_rule
Checks: C-AS24-W2-000090_chk
Review the access log file. If necessary, review the <'INSTALLED PATH'>\conf\httpd.conf file to determine the location of the logs. Items to be logged are as shown in this sample line in the <'INSTALLED PATH'>\conf\httpd.conf file: <IfModule log_config_module> LogFormat "%a %A %h %H %l %m %s %t %u %U \"%{Referer}i\" " combined </IfModule> If the web server is not configured to capture the required audit events for all sites and virtual directories, this is a finding.
Fix: F-AS24-W2-000090_fix
Open the <'INSTALLED PATH'>\conf\httpd.conf file. Configure the "LogFormat" to look like the following within the <IfModule log_config_module> block: LogFormat "%a %A %h %H %l %m %s %t %u %U \"%{Referer}i\" " combined
- RMF Control
- AU-3
- Severity
- M
- CCI
- CCI-000133
- Version
- AS24-W2-000130
- Vuln IDs
-
- AS24-W2-000130
- Rule IDs
-
- AS24-W2-000130_rule
Checks: C-AS24-W2-000130_chk
Review the access log file. If necessary, review the <'INSTALLED PATH'>\conf\httpd.conf file to determine the location of the logs. Items to be logged are as shown in this sample line in the <'INSTALLED PATH'>\conf\httpd.conf file: <IfModule log_config_module> LogFormat "%a %A %h %H %l %m %s %t %u %U \"%{Referer}i\" " combined </IfModule> If the web server is not configured to capture the required audit events for all sites and virtual directories, this is a finding.
Fix: F-AS24-W2-000130_fix
Open the <'INSTALLED PATH'>\conf\httpd.conf file. Configure the "LogFormat" to look like the following within the <IfModule log_config_module> block: LogFormat "%a %A %h %H %l %m %s %t %u %U \"%{Referer}i\" " combined
- RMF Control
- AU-3
- Severity
- M
- CCI
- CCI-000134
- Version
- AS24-W2-000140
- Vuln IDs
-
- AS24-W2-000140
- Rule IDs
-
- AS24-W2-000140_rule
Checks: C-AS24-W2-000140_chk
Review the access log file. If necessary, review the <'INSTALLED PATH'>\conf\httpd.conf file to determine the location of the logs. Items to be logged are as shown in this sample line in the <'INSTALLED PATH'>\conf\httpd.conf file: <IfModule log_config_module> LogFormat "%a %A %h %H %l %m %s %t %u %U \"%{Referer}i\" " combined </IfModule> If the web server is not configured to capture the required audit events for all sites and virtual directories, this is a finding.
Fix: F-AS24-W2-000140_fix
Open the <'INSTALLED PATH'>\conf\httpd.conf file. Configure the "LogFormat" to look like the following within the <IfModule log_config_module> block: LogFormat "%a %A %h %H %l %m %s %t %u %U \"%{Referer}i\" " combined
- RMF Control
- AU-3
- Severity
- M
- CCI
- CCI-001487
- Version
- AS24-W2-000150
- Vuln IDs
-
- AS24-W2-000150
- Rule IDs
-
- AS24-W2-000150_rule
Checks: C-AS24-W2-000150_chk
Review the access log file. If necessary, review the <'INSTALLED PATH'>\conf\httpd.conf file to determine the location of the logs. Items to be logged are as shown in this sample line in the <'INSTALLED PATH'>\conf\httpd.conf file: <IfModule log_config_module> LogFormat "%a %A %h %H %l %m %s %t %u %U \"%{Referer}i\" " combined </IfModule> If the web server is not configured to capture the required audit events for all sites and virtual directories, this is a finding.
Fix: F-AS24-W2-000150_fix
Open the <'INSTALLED PATH'>\conf\httpd.conf file. Configure the "LogFormat" to look like the following within the <IfModule log_config_module> block: LogFormat "%a %A %h %H %l %m %s %t %u %U \"%{Referer}i\" " combined
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AS24-W2-000240
- Vuln IDs
-
- AS24-W2-000240
- Rule IDs
-
- AS24-W2-000240_rule
Checks: C-AS24-W2-000240_chk
Interview the System Administrator (SA) about the role of the Apache web server. If the web server is hosting an application, have the SA provide supporting documentation on how the application's user management is accomplished outside of the web server. If the web server is not hosting an application, this is Not Applicable. If the web server is performing user management for hosted applications, this is a finding. If the web server is hosting an application and the SA cannot provide supporting documentation on how the application's user management is accomplished outside of the Apache web server, this is a finding.
Fix: F-AS24-W2-000240_fix
Reconfigure any hosted applications on the Apache web server to perform user management outside the web server. Document how the hosted application user management is accomplished.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AS24-W2-000300
- Vuln IDs
-
- AS24-W2-000300
- Rule IDs
-
- AS24-W2-000300_rule
Checks: C-AS24-W2-000300_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. If "Action" or "AddHandler" exist and they configure .exe, .dll, .com, .bat, or .csh, or any other shell as a viewer for documents, this is a finding.
Fix: F-AS24-W2-000300_fix
Disable MIME types for .exe, .dll, .com, .bat, and .csh programs. If "Action" or "AddHandler" exist and they configure .exe, .dll, .com, .bat, or .csh, remove those references.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AS24-W2-000310
- Vuln IDs
-
- AS24-W2-000310
- Rule IDs
-
- AS24-W2-000310_rule
Checks: C-AS24-W2-000310_chk
Locate cgi-bin files and directories enabled in the Apache configuration via "Script", "ScriptAlias" or "ScriptAliasMatch", or "ScriptInterpreterSource" directives. If any script is present that is not needed for application operation, this is a finding.
Fix: F-AS24-W2-000310_fix
Remove any scripts in cgi-bin directory if they are not needed for application operation.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AS24-W2-000320
- Vuln IDs
-
- AS24-W2-000320
- Rule IDs
-
- AS24-W2-000320_rule
Checks: C-AS24-W2-000320_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. If "Action" or "AddHandler" exist and they configure .exe, .dll, .com, .bat, or .csh, or any other shell as a viewer for documents, this is a finding.
Fix: F-AS24-W2-000320_fix
Disable MIME types for .exe, .dll, .com, .bat, and .csh programs. If "Action" or "AddHandler" exist and they configure .exe, .dll, .com, .bat, or .csh, remove those references.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AS24-W2-000350
- Vuln IDs
-
- AS24-W2-000350
- Rule IDs
-
- AS24-W2-000350_rule
Checks: C-AS24-W2-000350_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file and search for the following directive: Directory For every root directory entry (i.e., <Directory />), verify the following exists. If it does not, this is a finding: Order Deny,Allow Deny from all If the statement above is not found in the root directory statement, this is a finding. If "Allow" directives are included in the root directory statement, this is a finding.
Fix: F-AS24-W2-000350_fix
Edit the <'INSTALLED PATH'>\conf\httpd.conf file and set the root directory directive as follows: Directory Order Deny,Allow Deny from all
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- AS24-W2-000360
- Vuln IDs
-
- AS24-W2-000360
- Rule IDs
-
- AS24-W2-000360_rule
Checks: C-AS24-W2-000360_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file and search for the following directive: Listen For any enabled "Listen" directives, verify they specify both an IP address and port number. If the "Listen" directive is found with only an IP address or only a port number specified, this is finding. If the IP address is all zeros (i.e. 0.0.0.0:80 or [::ffff:0.0.0.0]:80), this is a finding. If the "Listen" directive does not exist, this is a finding.
Fix: F-AS24-W2-000360_fix
Edit the <'INSTALLED PATH'>\conf\httpd.conf file and set the "Listen" directive to listen on a specific IP address and port.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000197
- Version
- AS24-W2-000370
- Vuln IDs
-
- AS24-W2-000370
- Rule IDs
-
- AS24-W2-000370_rule
Checks: C-AS24-W2-000370_chk
In a command line, navigate to "<'INSTALLED PATH'>\bin". Run "httpd -M" to view a list of installed modules. If the module "mod_ssl" is not enabled, this is a finding. Review the <'INSTALLED PATH'>\conf\httpd.conf file to determine if the "SSLProtocol" directive exists and looks like the following: SSLProtocol -ALL +TLSv1.2 If the "SSLProtocol" directive does not exist and does not contain "-ALL +TLSv1.2", this is a finding.
Fix: F-AS24-W2-000370_fix
Verify the "SSLProtocol" is added and looks like the following in the <'INSTALLED PATH'>\conf\httpd.conf file: SSLProtocol -ALL +TLSv1.2 Ensure the "SSLEngine" parameter is set to "ON" inside the "VirtualHost" directive.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000185
- Version
- AS24-W2-000380
- Vuln IDs
-
- AS24-W2-000380
- Rule IDs
-
- AS24-W2-000380_rule
Checks: C-AS24-W2-000380_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file to determine if the "SSLVerifyClient" and "SSLVerifyDepth" directives exist and look like the following. If they do not, this is a finding. SSLVerifyClient require SSLVerifyDepth 1 If "SSLVerifyDepth" is set to "0", this is a finding.
Fix: F-AS24-W2-000380_fix
Ensure that client verification is enabled. For each enabled hosted application on the server, enable and set "SSLVerifyClient" to "require" and ensure that the server is configured to verify the client certificate by enabling "SSLVerifyDepth". Example: SSLVerifyClient require Find the line "SSLVerifyDepth" and ensure it is set properly: SSLVerifyDepth 1 "SSLVerifyDepth" is set based on the number of CAs that are required in the certificate chain to check, before the client certificate is accepted as valid. A setting of "0" would allow self-signed CAs to validate client certificates, which is not desirable in this context. Additional information: https://httpd.apache.org/docs/current/mod/mod_ssl.html
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000186
- Version
- AS24-W2-000390
- Vuln IDs
-
- AS24-W2-000390
- Rule IDs
-
- AS24-W2-000390_rule
Checks: C-AS24-W2-000390_chk
If the Apache web server does not have a private key, this is Not Applicable. Review the private key path in the "SSLCertificateFile" directive. Verify only authenticated System Administrators and the designated PKI Sponsor for the web server can access the web server private key. If the private key is accessible by unauthenticated or unauthorized users, this is a finding.
Fix: F-AS24-W2-000390_fix
Configure the Apache web server to ensure only authenticated and authorized users can access the web server's private key.
- RMF Control
- IA-7
- Severity
- M
- CCI
- CCI-000803
- Version
- AS24-W2-000400
- Vuln IDs
-
- AS24-W2-000400
- Rule IDs
-
- AS24-W2-000400_rule
Checks: C-AS24-W2-000400_chk
In a command line, navigate to "<'INSTALLED PATH'>\bin". Run "httpd -M" to view a list of installed modules. If the module "mod_ssl" is not enabled, this is a finding. Review the <'INSTALLED PATH'>\conf\httpd.conf file to determine if the "SSLProtocol" directive exists and looks like the following: SSLProtocol -ALL +TLSv1.2 If the directive does not exist and does not contain "-ALL +TLSv1.2", this is a finding.
Fix: F-AS24-W2-000400_fix
Ensure the "SSLProtocol" is added and looks like the following in the <'INSTALLED PATH'>\conf\httpd.conf file: SSLProtocol -ALL +TLSv1.2 Ensure the "SSLEngine" parameter is set to "ON" inside the "VirtualHost" directive.
- RMF Control
- IA-7
- Severity
- M
- CCI
- CCI-000803
- Version
- AS24-W2-000410
- Vuln IDs
-
- AS24-W2-000410
- Rule IDs
-
- AS24-W2-000410_rule
Checks: C-AS24-W2-000410_chk
In a command line, navigate to "<'INSTALLED PATH'>\bin". Run "httpd -M" to view a list of installed modules. If the module "mod_ssl" is not enabled, this is a finding. Review the <'INSTALLED PATH'>\conf\httpd.conf file to determine if the "SSLProtocol" directive exists and looks like the following: SSLProtocol -ALL +TLSv1.2 If the directive does not exist and does not contain "-ALL +TLSv1.2", this is a finding.
Fix: F-AS24-W2-000410_fix
Ensure the "SSLProtocol" is added and looks like the following in the <'INSTALLED PATH'>\conf\httpd.conf file: SSLProtocol -ALL +TLSv1.2 Ensure the "SSLEngine" parameter is set to "ON" inside the "VirtualHost" directive.
- RMF Control
- SC-18
- Severity
- M
- CCI
- CCI-001166
- Version
- AS24-W2-000420
- Vuln IDs
-
- AS24-W2-000420
- Rule IDs
-
- AS24-W2-000420_rule
Checks: C-AS24-W2-000420_chk
In a command line, navigate to "<'INSTALLED PATH'>\bin". Run "httpd -M" to view a list of installed modules. If the module "mod_ssl" is not enabled, this is a finding. Review the <'INSTALLED PATH'>\conf\httpd.conf file to determine if the "SSLProtocol" directive exists and looks like the following: SSLProtocol -ALL +TLSv1.2 If the directive does not exist and does not contain "-ALL +TLSv1.2", this is a finding.
Fix: F-AS24-W2-000420_fix
Ensure the "SSLProtocol" is added and looks like the following in the <'INSTALLED PATH'>\conf\httpd.conf file: SSLProtocol -ALL +TLSv1.2 Ensure the "SSLEngine" parameter is set to "ON" inside the "VirtualHost" directive.
- RMF Control
- SC-2
- Severity
- M
- CCI
- CCI-001082
- Version
- AS24-W2-000430
- Vuln IDs
-
- AS24-W2-000430
- Rule IDs
-
- AS24-W2-000430_rule
Checks: C-AS24-W2-000430_chk
Review the web server documentation and configuration to determine what web server accounts are available on the server. If any directories or files are owned by anyone other than root, this is a finding. If non-privileged web server accounts are available with access to functions, directories, or files not needed for the role of the account, this is a finding.
Fix: F-AS24-W2-000430_fix
Limit the functions, directories, and files that are accessible by each account and role to administrative accounts and remove or modify non-privileged account access.
- RMF Control
- SC-2
- Severity
- H
- CCI
- CCI-001082
- Version
- AS24-W2-000440
- Vuln IDs
-
- AS24-W2-000440
- Rule IDs
-
- AS24-W2-000440_rule
Checks: C-AS24-W2-000440_chk
Obtain a list of the user accounts for the system, noting the privileges for each account. Verify with the System Administrator (SA) or the Information System Security Officer (ISSO) that all privileged accounts are mission essential and documented. Verify with the SA or the ISSO that all non-administrator access to shell scripts and operating system functions are mission essential and documented. If undocumented privileged accounts are present, this is a finding. If undocumented access to shell scripts or operating system functions is present, this is a finding.
Fix: F-AS24-W2-000440_fix
Ensure non-administrators are not allowed access to the directory tree, the shell, or other operating system functions and utilities.
- RMF Control
- SC-2
- Severity
- M
- CCI
- CCI-001082
- Version
- AS24-W2-000450
- Vuln IDs
-
- AS24-W2-000450
- Rule IDs
-
- AS24-W2-000450_rule
Checks: C-AS24-W2-000450_chk
Review the web server documentation and deployed configuration to determine whether hosted application functionality is separated from web server management functions. If the functions are not separated, this is a finding.
Fix: F-AS24-W2-000450_fix
Configure Apache to separate the hosted applications from web server management functionality.
- RMF Control
- SC-23
- Severity
- M
- CCI
- CCI-001185
- Version
- AS24-W2-000460
- Vuln IDs
-
- AS24-W2-000460
- Rule IDs
-
- AS24-W2-000460_rule
Checks: C-AS24-W2-000460_chk
Review the <'INSTALL PATH'>\conf\httpd.conf file. Search for the following directive: SessionMaxAge Verify the value of "SessionMaxAge" is set to "600" or less. If the "SessionMaxAge" does not exist or is set to more than "600", this is a finding.
Fix: F-AS24-W2-000460_fix
Open the <'INSTALL PATH'>\conf\httpd.conf file. Set the "SessionMaxAge" directive to a value of "600" or less; add the directive if it does not exist. Restart the Apache service.
- RMF Control
- SC-23
- Severity
- M
- CCI
- CCI-001664
- Version
- AS24-W2-000470
- Vuln IDs
-
- AS24-W2-000470
- Rule IDs
-
- AS24-W2-000470_rule
Checks: C-AS24-W2-000470_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. If "HttpOnly; secure" is not configured, this is a finding. Review the code. If when creating cookies, the following is not occurring, this is a finding: function setCookie() { document.cookie = "ALEPH_SESSION_ID = $SESS; path = /; secure"; }
Fix: F-AS24-W2-000470_fix
Add this line to the "httpd.conf" file: Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;secure Add the secure attribute to the JavaScript set cookie: function setCookie() { document.cookie = "ALEPH_SESSION_ID = $SESS; path = /; secure"; } "HttpOnly" cannot be used since by definition this is a cookie set by JavaScript. Restart www_server and Apache.
- RMF Control
- SC-23
- Severity
- M
- CCI
- CCI-001664
- Version
- AS24-W2-000480
- Vuln IDs
-
- AS24-W2-000480
- Rule IDs
-
- AS24-W2-000480_rule
Checks: C-AS24-W2-000480_chk
Review the <'INSTALL PATH'>\conf\httpd.conf file. Verify the "mod_unique_id" is loaded. If it does not exist, this is a finding.
Fix: F-AS24-W2-000480_fix
Edit the <'INSTALL PATH'>\conf\httpd.conf file and load the "mod_unique_id" module. Restart the Apache service.
- RMF Control
- SC-23
- Severity
- M
- CCI
- CCI-001188
- Version
- AS24-W2-000500
- Vuln IDs
-
- AS24-W2-000500
- Rule IDs
-
- AS24-W2-000500_rule
Checks: C-AS24-W2-000500_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. Verify the "mod_unique_id" is loaded. If it does not exist, this is a finding.
Fix: F-AS24-W2-000500_fix
Edit the <'INSTALLED PATH'>\conf\httpd.conf file and load the "mod_unique_id" module. Restart Apache.
- RMF Control
- SC-23
- Severity
- M
- CCI
- CCI-001188
- Version
- AS24-W2-000510
- Vuln IDs
-
- AS24-W2-000510
- Rule IDs
-
- AS24-W2-000510_rule
Checks: C-AS24-W2-000510_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. Verify the "mod_unique_id" is loaded. If it does not exist, this is a finding.
Fix: F-AS24-W2-000510_fix
Edit the <'INSTALLED PATH'>\conf\httpd.conf file and load the "mod_unique_id" module. Restart Apache.
- RMF Control
- SC-23
- Severity
- M
- CCI
- CCI-001188
- Version
- AS24-W2-000520
- Vuln IDs
-
- AS24-W2-000520
- Rule IDs
-
- AS24-W2-000520_rule
Checks: C-AS24-W2-000520_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. Check to see if the "mod_unique_id" is loaded. If it does not exist, this is a finding.
Fix: F-AS24-W2-000520_fix
Edit the <'INSTALLED PATH'>\conf\httpd.conf file and load the "mod_unique_id" module. Restart Apache.
- RMF Control
- SC-24
- Severity
- M
- CCI
- CCI-001190
- Version
- AS24-W2-000540
- Vuln IDs
-
- AS24-W2-000540
- Rule IDs
-
- AS24-W2-000540_rule
Checks: C-AS24-W2-000540_chk
Interview the System Administrator for the Apache web server. Ask for documentation on the disaster recovery methods tested and planned for the Apache web server in the event of the necessity for rollback. If documentation for a disaster recovery has not been established, this is a finding.
Fix: F-AS24-W2-000540_fix
Prepare documentation for disaster recovery methods for the Apache web server in the event of the necessity for rollback. Document and test the disaster recovery methods designed.
- RMF Control
- SC-24
- Severity
- M
- CCI
- CCI-001190
- Version
- AS24-W2-000560
- Vuln IDs
-
- AS24-W2-000560
- Rule IDs
-
- AS24-W2-000560_rule
Checks: C-AS24-W2-000560_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. Verify the "mod_proxy" is loaded. If it does not exist, this is a finding. If the "mod_proxy" module is loaded and the "ProxyPass" directive is not configured, this is a finding.
Fix: F-AS24-W2-000560_fix
Edit the <'INSTALLED PATH'>\conf\httpd.conf file and load the "mod_proxy" module. Set the "ProxyPass" directive.
- RMF Control
- SC-3
- Severity
- M
- CCI
- CCI-001084
- Version
- AS24-W2-000580
- Vuln IDs
-
- AS24-W2-000580
- Rule IDs
-
- AS24-W2-000580_rule
Checks: C-AS24-W2-000580_chk
Determine whether the public web server has a two-way trusted relationship with any private asset located within the network. Private web server resources (e.g., drives, folders, printers, etc.) will not be directly mapped to or shared with public web servers. If sharing is selected for any web folder, this is a finding. If private resources (e.g., drives, partitions, folders/directories, printers, etc.) are shared with the public web server, this is a finding.
Fix: F-AS24-W2-000580_fix
Configure the public web server to not have a trusted relationship with any system resource that is also not accessible to the public. Web content is not to be shared via Microsoft shares or NFS mounts.
- RMF Control
- SC-5
- Severity
- M
- CCI
- CCI-001094
- Version
- AS24-W2-000590
- Vuln IDs
-
- AS24-W2-000590
- Rule IDs
-
- AS24-W2-000590_rule
Checks: C-AS24-W2-000590_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. Verify the "Timeout" directive is specified to have a value of "10" seconds or less. If the "Timeout" directive is not configured or is set for more than "10" seconds, this is a finding.
Fix: F-AS24-W2-000590_fix
Add or modify the "Timeout" directive in the Apache configuration to have a value of "10" seconds or less. "Timeout 10"
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001312
- Version
- AS24-W2-000610
- Vuln IDs
-
- AS24-W2-000610
- Rule IDs
-
- AS24-W2-000610_rule
Checks: C-AS24-W2-000610_chk
Review the DocumentRoot directive in the <'INSTALLED PATH'>\conf\httpd.conf file. Note each location following the "DocumentRoot" string. This is the configured path(s) to the document root directory(s). To view a list of the directories and sub-directories and the file "index.html", from each stated "DocumentRoot" location, enter the following command: dir "index.html" Review the results for each document root directory and its subdirectories. If a directory does not contain an "index.html" or equivalent default document, this is a finding.
Fix: F-AS24-W2-000610_fix
Add a default document to the applicable directories.
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001312
- Version
- AS24-W2-000620
- Vuln IDs
-
- AS24-W2-000620
- Rule IDs
-
- AS24-W2-000620_rule
Checks: C-AS24-W2-000620_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. If the "ErrorDocument" directive is not being used, this is a finding.
Fix: F-AS24-W2-000620_fix
Edit the <'INSTALLED PATH'>\conf\httpd.conf file and use the "ErrorDocument" directive to enable custom error pages. ErrorDocument 500 "Sorry, our script crashed. Oh dear" ErrorDocument 500 /cgi-bin/crash-recover ErrorDocument 500 http://error.example.com/server_error.html ErrorDocument 404 /errors/not_found.html ErrorDocument 401 /subscription/how_to_subscribe.html The syntax of the ErrorDocument directive is: ErrorDocument <3-digit-code> <action> Additional Information: https://httpd.apache.org/docs/2.4/custom-error.html
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001312
- Version
- AS24-W2-000630
- Vuln IDs
-
- AS24-W2-000630
- Rule IDs
-
- AS24-W2-000630_rule
Checks: C-AS24-W2-000630_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. For any enabled "TraceEnable" directives, verify they are part of the server-level configuration (i.e., not nested in a "Directory" or "Location" directive). Also, verify the "TraceEnable" directive is set to “Off”. If the "TraceEnable" directive is not part of the server-level configuration and/or is not set to “Off”, this is a finding. If the directive does not exist in the "conf" file, this is a finding because the default value is "On".
Fix: F-AS24-W2-000630_fix
Edit the <'INSTALLED PATH'>\conf\httpd.conf file and add or set the value of "EnableTrace" to "Off".
- RMF Control
- AC-12
- Severity
- M
- CCI
- CCI-002361
- Version
- AS24-W2-000640
- Vuln IDs
-
- AS24-W2-000640
- Rule IDs
-
- AS24-W2-000640_rule
Checks: C-AS24-W2-000640_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. Verify the "SessionMaxAge" directive exists. If it does not exist, this is a finding. If the "SessionMaxAge" directive exists but is not set to "1", this is a finding.
Fix: F-AS24-W2-000640_fix
Edit the <'INSTALLED PATH'>\conf\httpd.conf file and add or set the "SessionMaxAge" directive to "1".
- RMF Control
- AC-12
- Severity
- M
- CCI
- CCI-002361
- Version
- AS24-W2-000650
- Vuln IDs
-
- AS24-W2-000650
- Rule IDs
-
- AS24-W2-000650_rule
Checks: C-AS24-W2-000650_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. Verify the "mod_reqtimeout" is loaded. If it does not exist, this is a finding. If the "mod_reqtimeout" module is loaded but the "RequestReadTimeout" directive is not configured, this is a finding.
Fix: F-AS24-W2-000650_fix
Edit the <'INSTALLED PATH'>\conf\httpd.conf file and load the "mod_reqtimeout" module. Set the "RequestReadTimeout" directive.
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-002314
- Version
- AS24-W2-000660
- Vuln IDs
-
- AS24-W2-000660
- Rule IDs
-
- AS24-W2-000660_rule
Checks: C-AS24-W2-000660_chk
If web administration is performed at the console, this check is Not Applicable. If web administration is performed remotely, the following checks will apply. If administration of the server is performed remotely, it will be performed securely and only by System Administrators. If website administration or web application administration has been delegated, those users will be documented and approved by the Information System Security Officer. Remote administration must be in compliance with any requirements contained within the Windows Server STIGs and any applicable network STIGs. Remote administration of any kind will be restricted to documented and authorized personnel. All users performing remote administration must be authenticated. All remote sessions will be encrypted, and they will use FIPS 140-2 approved protocols. FIPS 140-2 approved TLS versions include TLS V1.2 or greater. Review with site management how remote administration, if applicable, is configured on the website. If remote management meets the criteria listed above, this is not a finding. If remote management is used and does not meet the criteria listed above, this is a finding.
Fix: F-AS24-W2-000660_fix
Ensure the web server administration is performed only over a secure path.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-002314
- Version
- AS24-W2-000670
- Vuln IDs
-
- AS24-W2-000670
- Rule IDs
-
- AS24-W2-000670_rule
Checks: C-AS24-W2-000670_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. If "IP Address Restrictions" are not configured or IP ranges configured to be "Allow" are not restrictive enough to prevent connections from nonsecure zones, this is a finding.
Fix: F-AS24-W2-000670_fix
Configure the "http.conf" file to include restrictions. Example: <RequireAll> Require not host phishers.example.com moreidiots.example </RequireAll>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-002235
- Version
- AS24-W2-000690
- Vuln IDs
-
- AS24-W2-000690
- Rule IDs
-
- AS24-W2-000690_rule
Checks: C-AS24-W2-000690_chk
Determine which tool or control file is used to control the configuration of the web server. If the control of the web server is done via control files, verify who has update access to them. If tools are being used to configure the web server, determine who has access to execute the tools. If accounts other than the System Administrator (SA), the Web Manager, or the Web Manager designees have access to the web administration tool or control files, this is a finding.
Fix: F-AS24-W2-000690_fix
Restrict access to the web administration tool to only the SA, Web Manager, or the Web Manager designees.
- RMF Control
- AU-3
- Severity
- M
- CCI
- CCI-001844
- Version
- AS24-W2-000700
- Vuln IDs
-
- AS24-W2-000700
- Rule IDs
-
- AS24-W2-000700_rule
Checks: C-AS24-W2-000700_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. Verify the "mod_proxy" is loaded. If it does not exist, this is a finding. If the "mod_proxy" module is loaded but the "ProxyPass" directive is not configured, this is a finding.
Fix: F-AS24-W2-000700_fix
Edit the <'INSTALLED PATH'>\conf\httpd.conf file and load the "mod_proxy" module. Set the "ProxyPass" directive.
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001813
- Version
- AS24-W2-000770
- Vuln IDs
-
- AS24-W2-000770
- Rule IDs
-
- AS24-W2-000770_rule
Checks: C-AS24-W2-000770_chk
Obtain a list of the user accounts for the system, noting the privileges for each account. Verify with the System Administrator (SA) or the Information System Security Officer (ISSO) that all privileged accounts are mission essential and documented. Verify with the SA or the ISSO that all non-administrator access to shell scripts and operating system functions are mission essential and documented. If undocumented privileged accounts are present, this is a finding. If undocumented access to shell scripts or operating system functions is found, this is a finding.
Fix: F-AS24-W2-000770_fix
Ensure non-administrators are not allowed access to the directory tree, the shell, or other operating system functions and utilities.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001762
- Version
- AS24-W2-000780
- Vuln IDs
-
- AS24-W2-000780
- Rule IDs
-
- AS24-W2-000780_rule
Checks: C-AS24-W2-000780_chk
Review the web server documentation and deployment configuration to determine which ports and protocols are enabled. Verify the ports and protocols being used are permitted, necessary for the operation of the web server and the hosted applications, and are secure for a production system. Open the <'INSTALLED PATH'>\conf\httpd.conf file. Verify only the listener for port 443 is returned. If any of the ports or protocols are not permitted, are nonsecure, or are not necessary for web server operation, this is a finding.
Fix: F-AS24-W2-000780_fix
Open the <'INSTALLED PATH'>\conf\httpd.conf file. Verify the "Listen" directives are configured only for port 443.
- RMF Control
- SC-23
- Severity
- M
- CCI
- CCI-002470
- Version
- AS24-W2-000800
- Vuln IDs
-
- AS24-W2-000800
- Rule IDs
-
- AS24-W2-000800_rule
Checks: C-AS24-W2-000800_chk
Review the "ssl.conf" file. Look for the "SSLCACertificateFile" directive. Review the path of the "SSLCACertificateFile" directive. Review the contents of <'path of cert'>\ca-bundle.crt. Examine the contents of this file to determine if the trusted CAs are DoD approved. If the trusted CA that is used to authenticate users to the website does not lead to an approved DoD CA, this is a finding. NOTE: There are non-DoD roots that must be on the server for it to function. Some applications, such as antivirus programs, require root CAs to function. DoD-approved certificate can include the External Certificate Authorities (ECA), if approved by the AO. The PKE InstallRoot 3.06 System Administrator Guide (SAG), dated 08 Jul 2008, contains a complete list of DoD, ECA, and IECA CAs.
Fix: F-AS24-W2-000800_fix
Configure the web server’s trust store to trust only DoD-approved PKIs (e.g., DoD PKI, DoD ECA, and DoD-approved external partners).
- RMF Control
- SC-28
- Severity
- M
- CCI
- CCI-002476
- Version
- AS24-W2-000810
- Vuln IDs
-
- AS24-W2-000810
- Rule IDs
-
- AS24-W2-000810_rule
Checks: C-AS24-W2-000810_chk
In a command line, navigate to <'INSTALL PATH'>\bin. Run "httpd -M" to view a list of installed modules. If "ssl_module" is not listed, this is a finding. Review the SSL sections of the <'INSTALLED PATH'>\conf\httpd.conf file. All enabled "SSLProtocol" directives must be set to "ALL -SSLv2 -SSLv3". If "SSLProtocol" is not set to the proper value, this is a finding. All enabled "SSLEngine" directives must be set to "On". If they are not, this a finding. NOTE: In some cases, web servers are configured in an environment to support load balancing. This configuration most likely uses a content switch to control traffic to the various web servers. In this situation, the TLS certificate for the websites may be installed on the content switch versus the individual websites. This solution is acceptable as long as the web servers are isolated from the general population LAN. Users should not have the ability to bypass the content switch to access the websites.
Fix: F-AS24-W2-000810_fix
Edit the <'INSTALLED PATH'>\conf\httpd.conf file and set the "SSLProtocol" to "ALL -SSLv2 -SSLv3". Set the "SSLEngine" parameter to "On".
- RMF Control
- SC-5
- Severity
- M
- CCI
- CCI-002385
- Version
- AS24-W2-000830
- Vuln IDs
-
- AS24-W2-000830
- Rule IDs
-
- AS24-W2-000830_rule
Checks: C-AS24-W2-000830_chk
Review the <'INSTALLED PATH'>\conf\httpd.conf file. Verify the "Timeout" directive is specified to have a value of "10" seconds or less. If the "Timeout" directive is not configured or is set for more than "10" seconds, this is a finding.
Fix: F-AS24-W2-000830_fix
Add or modify the "Timeout" directive in the Apache configuration to have a value of "10" seconds or less. "Timeout 10"
- RMF Control
- SC-8
- Severity
- M
- CCI
- CCI-002418
- Version
- AS24-W2-000840
- Vuln IDs
-
- AS24-W2-000840
- Rule IDs
-
- AS24-W2-000840_rule
Checks: C-AS24-W2-000840_chk
In a command line, navigate to "<'INSTALLED PATH'>\bin". Run "httpd -M" to view a list of installed modules. If the module "mod_ssl" is not enabled, this is a finding. Review the <'INSTALLED PATH'>\conf\httpd.conf file to determine if the "SSLProtocol" directive exists and looks like the following: SSLProtocol -ALL +TLSv1.2 If the directive does not exist and does not contain "-ALL +TLSv1.2", this is a finding.
Fix: F-AS24-W2-000840_fix
Ensure the "SSLProtocol" is added and looks like the following in the <'INSTALLED PATH'>\conf\httpd.conf file: SSLProtocol -ALL +TLSv1.2 Ensure the "SSLEngine" parameter is set to "ON" inside the "VirtualHost" directive.
- RMF Control
- SC-8
- Severity
- M
- CCI
- CCI-002418
- Version
- AS24-W2-000850
- Vuln IDs
-
- AS24-W2-000850
- Rule IDs
-
- AS24-W2-000850_rule
Checks: C-AS24-W2-000850_chk
In a command line, navigate to "<'INSTALLED PATH'>\bin". Run "httpd -M" to view a list of installed modules. If the module "mod_ssl" is not enabled, this is a finding. Review the <'INSTALLED PATH'>\conf\httpd.conf file to determine if the "SSLProtocol" directive exists and looks like the following: SSLProtocol -ALL +TLSv1.2 If the directive does not exist and does not contain "-ALL +TLSv1.2", this is a finding.
Fix: F-AS24-W2-000850_fix
Ensure the "SSLProtocol" is added and looks like the following in the <'INSTALLED PATH'>\conf\httpd.conf file: SSLProtocol -ALL +TLSv1.2 Ensure the "SSLEngine" parameter is set to "ON" inside the "VirtualHost" directive.
- RMF Control
- SC-8
- Severity
- M
- CCI
- CCI-002418
- Version
- AS24-W2-000860
- Vuln IDs
-
- AS24-W2-000860
- Rule IDs
-
- AS24-W2-000860_rule
Checks: C-AS24-W2-000860_chk
Search the Apache configuration files for the "SSLCompression" directive. If the directive does not exist, this is a not a finding. If the directive exists and is not set to "off", this is a finding.
Fix: F-AS24-W2-000860_fix
Search the Apache configuration files for the "SSLCompression" directive. If the directive is present, set it to "off".
- RMF Control
- SC-8
- Severity
- M
- CCI
- CCI-002418
- Version
- AS24-W2-000870
- Vuln IDs
-
- AS24-W2-000870
- Rule IDs
-
- AS24-W2-000870_rule
Checks: C-AS24-W2-000870_chk
Verify the "mod_session_crypto" module is installed. If the mod_session_crypto module is not being used, this is a finding.
Fix: F-AS24-W2-000870_fix
Ensure the mod_session_crypto module is installed. Enable encrypted session cookies. Example: Session On SessionCookieName session path=/ SessionCryptoPassphrase secret
- RMF Control
- SC-8
- Severity
- M
- CCI
- CCI-002418
- Version
- AS24-W2-000880
- Vuln IDs
-
- AS24-W2-000880
- Rule IDs
-
- AS24-W2-000880_rule
Checks: C-AS24-W2-000880_chk
Verify the "mod_session_crypto" module is installed. If the mod_session_crypto module is not being used, this is a finding.
Fix: F-AS24-W2-000880_fix
Ensure the "mod_session_crypto" module is installed. Enable encrypted session cookies. Example: Session On SessionCookieName session path=/ SessionCryptoPassphrase secret
- RMF Control
- SC-8
- Severity
- H
- CCI
- CCI-002418
- Version
- AS24-W2-000890
- Vuln IDs
-
- AS24-W2-000890
- Rule IDs
-
- AS24-W2-000890_rule
Checks: C-AS24-W2-000890_chk
In a command line, navigate to "<'INSTALLED PATH'>\bin". Run "httpd -M" to view a list of installed modules. If the module "mod_ssl" is not enabled, this is a finding. Review the <'INSTALLED PATH'>\conf\httpd.conf file to determine if the "SSLProtocol" directive exists and looks like the following: SSLProtocol -ALL +TLSv1.2 If the directive does not exist and does not contain "-ALL +TLSv1.2", this is a finding.
Fix: F-AS24-W2-000890_fix
Ensure the "SSLProtocol" is added and looks like the following in the <'INSTALLED PATH'>\conf\httpd.conf file: SSLProtocol -ALL +TLSv1.2 Ensure the "SSLEngine" parameter is set to "ON" inside the "VirtualHost" directive.
- RMF Control
- SC-8
- Severity
- M
- CCI
- CCI-002420
- Version
- AS24-W2-000910
- Vuln IDs
-
- AS24-W2-000910
- Rule IDs
-
- AS24-W2-000910_rule
Checks: C-AS24-W2-000910_chk
In a command line, navigate to "<'INSTALLED PATH'>\bin". Run "httpd -M" to view a list of installed modules. If the module "mod_ssl" is not enabled, this is a finding. Review the <'INSTALLED PATH'>\conf\httpd.conf file to determine if the "SSLProtocol" directive exists and looks like the following: SSLProtocol -ALL +TLSv1.2 If the directive does not exist and does not contain "-ALL +TLSv1.2", this is a finding.
Fix: F-AS24-W2-000910_fix
Ensure the "SSLProtocol" is added and looks like the following in the <'INSTALLED PATH'>\conf\httpd.conf file: SSLProtocol -ALL +TLSv1.2 Ensure the "SSLEngine" parameter is set to "ON" inside the "VirtualHost" directive.
- RMF Control
- SC-8
- Severity
- M
- CCI
- CCI-002422
- Version
- AS24-W2-000920
- Vuln IDs
-
- AS24-W2-000920
- Rule IDs
-
- AS24-W2-000920_rule
Checks: C-AS24-W2-000920_chk
In a command line, navigate to "<'INSTALLED PATH'>\bin". Run "httpd -M" to view a list of installed modules. If the module "mod_ssl" is not enabled, this is a finding. Review the <'INSTALLED PATH'>\conf\httpd.conf file to determine if the "SSLProtocol" directive exists and looks like the following: SSLProtocol -ALL +TLSv1.2 If the directive does not exist and does not contain "-ALL +TLSv1.2", this is a finding.
Fix: F-AS24-W2-000920_fix
Ensure the "SSLProtocol" is added and looks like the following in the <'INSTALLED PATH'>\conf\httpd.conf file: SSLProtocol -ALL +TLSv1.2 Ensure the "SSLEngine" parameter is set to "ON" inside the "VirtualHost" directive.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- AS24-W2-000950
- Vuln IDs
-
- AS24-W2-000950
- Rule IDs
-
- AS24-W2-000950_rule
Checks: C-AS24-W2-000950_chk
Review the website to determine if "HTTP" and "HTTPS" are used in accordance with well-known ports (e.g., 80 and 443) or those ports and services as registered and approved for use by the DoD PPSM. Verify that any variation in PPS is documented, registered, and approved by the PPSM. If it is not, this is a finding.
Fix: F-AS24-W2-000950_fix
Ensure the website enforces the use of IANA well-known ports for "HTTP" and "HTTPS".