Apache Server 2.4 Windows Site Security Technical Implementation Guide - V2R3

  • Version/Release: V2R3
  • Published: 2026-02-25
  • Released: 2026-04-01
  • Expand All:
  • Severity:
  • Sort:
Compare

Select any two versions of this STIG to compare the individual requirements

View

Select any old version/release of this STIG to view the previous requirements

This Security Technical Implementation Guide is published as a tool to improve the security of Department of Defense (DOD) information systems. The requirements are derived from the National Institute of Standards and Technology (NIST) 800-53 and related documents. Comments or proposed revisions to this document should be sent via email to the following address: disa.stig_spt@mail.mil.
b
The Apache web server must not perform user management for hosted applications.
CM-7 - Medium - CCI-000381 - V-214365 - SV-214365r960963_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
AS24-W2-000240
Vuln IDs
  • V-214365
  • V-92503
Rule IDs
  • SV-214365r960963_rule
  • SV-102591
User management and authentication can be an essential part of any application hosted by the web server. Along with authenticating users, the user management function must perform several other tasks such as password complexity, locking users after a configurable number of failed logons, and management of temporary and emergency accounts. All of this must be done enterprise-wide. The web server contains a minimal user management function, but the web server user management function does not offer enterprise-wide user management, and user management is not the primary function of the web server. User management for the hosted applications should be done through a facility that is built for enterprise-wide user management, such as LDAP and Active Directory.
Checks: C-15576r277836_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-15574r277837_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.

b
The Apache web server must allow the mappings to unused and vulnerable scripts to be removed.
CM-7 - Medium - CCI-000381 - V-214367 - SV-214367r960963_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
AS24-W2-000310
Vuln IDs
  • V-214367
  • V-92507
Rule IDs
  • SV-214367r960963_rule
  • SV-102595
Scripts allow server-side processing on behalf of the hosted application user or as processes needed in the implementation of hosted applications. Removing scripts not needed for application operation or deemed vulnerable helps to secure the web server. To ensure scripts are not added to the web server and run maliciously, script mappings that are not needed or used by the web server for hosted application operation must be removed.
Checks: C-15578r277842_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-15576r277843_fix

Remove any scripts in cgi-bin directory if they are not needed for application operation.

b
Users and scripts running on behalf of users must be contained to the document root or home directory tree of the Apache web server.
CM-7 - Medium - CCI-000381 - V-214368 - SV-214368r960963_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
AS24-W2-000350
Vuln IDs
  • V-214368
  • V-92511
Rule IDs
  • SV-214368r960963_rule
  • SV-102599
A web server is designed to deliver content and execute scripts or applications on the request of a client or user. Containing user requests to files in the directory tree of the hosted web application and limiting the execution of scripts and applications guarantees that the user is not accessing information protected outside the application's realm. The web server must also prohibit users from jumping outside the hosted application directory tree through access to the user's home directory, symbolic links or shortcuts, or through search paths for missing files.
Checks: C-15579r277845_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: Require all denied If the statement above is not found in the root directory statement, this is a finding.

Fix: F-15577r277846_fix

Edit the <'INSTALLED PATH'>\conf\httpd.conf file and set the root directory directive as follows: Directory Require all denied

b
Only authenticated system administrators or the designated PKI Sponsor for the Apache web server must have access to the Apache web servers private key.
IA-5 - Medium - CCI-000186 - V-214371 - SV-214371r961041_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000186
Version
AS24-W2-000390
Vuln IDs
  • V-214371
  • V-92519
Rule IDs
  • SV-214371r961041_rule
  • SV-102607
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.
Checks: C-15582r277854_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-15580r277855_fix

Configure the Apache web server to ensure only authenticated and authorized users can access the web server's private key.

b
Apache web server accounts accessing the directory tree, the shell, or other operating system functions and utilities must only be administrative accounts.
SC-2 - Medium - CCI-001082 - V-214372 - SV-214372r1138072_rule
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
AS24-W2-000430
Vuln IDs
  • V-214372
  • V-92527
Rule IDs
  • SV-214372r1138072_rule
  • SV-102615
As a rule, accounts on a web server are to be kept to a minimum. Only administrators, web managers, developers, auditors, and web authors require accounts on the machine hosting the web server. The resources to which these accounts have access must also be closely monitored and controlled. Only the system administrator needs access to all the system's capabilities, while the web administrator and associated staff require access and control of the web content and web server configuration files.
Checks: C-15583r277857_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-15581r277858_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.

c
Anonymous user access to the Apache web server application directories must be prohibited.
SC-2 - High - CCI-001082 - V-214373 - SV-214373r1138073_rule
RMF Control
SC-2
Severity
High
CCI
CCI-001082
Version
AS24-W2-000440
Vuln IDs
  • V-214373
  • V-92529
Rule IDs
  • SV-214373r1138073_rule
  • SV-102617
To properly monitor the changes to the web server and the hosted applications, logging must be enabled. Along with logging being enabled, each record must properly contain the changes made and the names of those who made the changes. Allowing anonymous users the capability to change the web server or the hosted application will not generate proper log information that can then be used for forensic reporting in the case of a security issue. Allowing anonymous users to make changes will also grant change capabilities to anybody without forcing a user to authenticate before the changes can be made. Satisfies: SRG-APP-000211-WSR-000031, SRG-APP-000380-WSR-000072
Checks: C-15584r277860_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-15582r277861_fix

Ensure non-administrators are not allowed access to the directory tree, the shell, or other operating system functions and utilities.

b
The Apache web server must separate the hosted applications from hosted Apache web server management functionality.
SC-2 - Medium - CCI-001082 - V-214374 - SV-214374r1138074_rule
RMF Control
SC-2
Severity
Medium
CCI
CCI-001082
Version
AS24-W2-000450
Vuln IDs
  • V-214374
  • V-92531
Rule IDs
  • SV-214374r1138074_rule
  • SV-102619
The separation of user functionality from web server management can be accomplished by moving management functions to a separate IP address or port. To further separate the management functions, separate authentication methods and certificates should be used. By moving the management functionality, the possibility of accidental discovery of the management functions by non-privileged users during hosted application use is minimized.
Checks: C-15585r277863_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-15583r277864_fix

Configure Apache to separate the hosted applications from web server management functionality.

b
Cookies exchanged between the Apache web server and client, such as session cookies, must have security settings that disallow cookie access outside the originating Apache web server and hosted application.
SC-23 - Medium - CCI-001664 - V-214376 - SV-214376r1043180_rule
RMF Control
SC-23
Severity
Medium
CCI
CCI-001664
Version
AS24-W2-000470
Vuln IDs
  • V-214376
  • V-92535
Rule IDs
  • SV-214376r1043180_rule
  • SV-102623
Cookies are used to exchange data between the web server and the client. Cookies, such as a session cookie, may contain session information and user credentials used to maintain a persistent connection between the user and the hosted application since HTTP/HTTPS is a stateless protocol. When the cookie parameters are not set properly (i.e., domain and path parameters), cookies can be shared within hosted applications residing on the same web server or to applications hosted on different web servers residing on the same domain.
Checks: C-15587r505101_chk

Review the &lt;'INSTALLED PATH'&gt;\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-15585r505102_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.

b
The Apache web server must augment re-creation to a stable and known baseline.
SC-24 - Medium - CCI-001190 - V-214380 - SV-214380r961122_rule
RMF Control
SC-24
Severity
Medium
CCI
CCI-001190
Version
AS24-W2-000540
Vuln IDs
  • V-214380
  • V-92545
Rule IDs
  • SV-214380r961122_rule
  • SV-102633
Making certain that the web server has not been updated by an unauthorized user is always a concern. Adding patches, functions, and modules that are untested and not part of the baseline opens the possibility for security risks. The web server must offer, and not hinder, a method that allows for the quick and easy reinstallation of a verified and patched baseline to guarantee the production web server is up-to-date and has not been modified to add functionality or expose security risks. When the web server does not offer a method to roll back to a clean baseline, external methods, such as a baseline snapshot or virtualizing the web server, can be used.
Checks: C-15591r277881_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-15589r277882_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.

b
The Apache web server document directory must be in a separate partition from the Apache web servers system files.
SC-3 - Medium - CCI-001084 - V-214382 - SV-214382r961131_rule
RMF Control
SC-3
Severity
Medium
CCI
CCI-001084
Version
AS24-W2-000580
Vuln IDs
  • V-214382
  • V-92549
Rule IDs
  • SV-214382r961131_rule
  • SV-102637
A web server is used to deliver content on the request of a client. The content delivered to a client must be controlled, allowing only hosted application files to be accessed and delivered. To allow a client access to system files of any type is a major security risk that is entirely avoidable. Obtaining such access is the goal of directory traversal and URL manipulation vulnerabilities. To facilitate such access by misconfiguring the web document (home) directory is a serious error. In addition, having the path on the same drive as the system folder compounds potential attacks, such as drive space exhaustion.
Checks: C-15593r277887_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-15591r277888_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.

b
The Apache web server must display a default hosted application web page, not a directory listing, when a requested web page cannot be found.
SI-11 - Medium - CCI-001312 - V-214383 - SV-214383r961167_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001312
Version
AS24-W2-000610
Vuln IDs
  • V-214383
  • V-92553
Rule IDs
  • SV-214383r961167_rule
  • SV-102641
The goal is to completely control the web user's experience in navigating any portion of the web document root directories. Ensuring all web content directories have at least the equivalent of an "index.html" file is a significant factor to accomplish this end. Enumeration techniques, such as URL parameter manipulation, rely upon being able to obtain information about the web server's directory structure by locating directories without default pages. In the scenario, the web server will display to the user a listing of the files in the directory being accessed. By having a default hosted application web page, the anonymous web user will not obtain directory browsing information or an error message that reveals the server type and version.
Checks: C-15594r277890_chk

Review the DocumentRoot directive in the &lt;'INSTALLED PATH'&gt;\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-15592r277891_fix

Add a default document to the applicable directories.

b
The Apache web server must restrict inbound connections from nonsecure zones.
AC-17 - Medium - CCI-002314 - V-214388 - SV-214388r961278_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-002314
Version
AS24-W2-000670
Vuln IDs
  • V-214388
  • V-92565
Rule IDs
  • SV-214388r961278_rule
  • SV-102653
Remote access to the web server is any access that communicates through an external, non-organization-controlled network. Remote access can be used to access hosted applications or to perform management functions. A web server can be accessed remotely and must be capable of restricting access from what the DoD defines as nonsecure zones. Nonsecure zones are defined as any IP, subnet, or region that is defined as a threat to the organization. The nonsecure zones must be defined for public web servers logically located in a DMZ, as well as private web servers with perimeter protection devices. By restricting access from nonsecure zones, through the internal web server access list, the web server can stop or slow denial-of-service (DoS) attacks on the web server.
Checks: C-15599r277905_chk

Review the &lt;'INSTALLED PATH'&gt;\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-15597r277906_fix

Configure the "http.conf" file to include restrictions. Example: <RequireAll> Require not host phishers.example.com moreidiots.example </RequireAll>

b
Non-privileged accounts on the hosting system must only access Apache web server security-relevant information and functions through a distinct administrative account.
AC-6 - Medium - CCI-002235 - V-214389 - SV-214389r961353_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002235
Version
AS24-W2-000690
Vuln IDs
  • V-214389
  • V-92567
Rule IDs
  • SV-214389r961353_rule
  • SV-102655
By separating web server security functions from non-privileged users, roles can be developed that can then be used to administer the web server. Forcing users to change from a non-privileged account to a privileged account when operating on the web server or on security-relevant information forces users to only operate as a web server administrator when necessary. Operating in this manner allows for better logging of changes and better forensic information and limits accidental changes to the web server.
Checks: C-15600r277908_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-15598r277909_fix

Restrict access to the web administration tool to only the SA, Web Manager, or the Web Manager designees.

b
The Apache web server must prohibit or restrict the use of nonsecure or unnecessary ports, protocols, modules, and/or services.
CM-7 - Medium - CCI-001762 - V-214390 - SV-214390r1192950_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001762
Version
AS24-W2-000780
Vuln IDs
  • V-214390
  • V-92573
Rule IDs
  • SV-214390r1192950_rule
  • SV-102661
Web servers provide numerous processes, features, and functionalities that use TCP/IP ports. Some of these processes may be deemed unnecessary or too unsecure to run on a production system. The web server must provide the capability to disable or deactivate network-related services that are deemed nonessential to the server mission, are too unsecure, or are prohibited by the Ports, Protocols, and Services Management (PPSM) Category Assurance List (CAL) and vulnerability assessments. Configuring the web server to implement organizationwide security implementation guides and security checklists guarantees compliance with federal standards and establishes a common security baseline across the DOD that reflects the most restrictive security posture consistent with operational requirements. Satisfies: SRG-APP-000516-WSR-000174, SRG-APP-000383-WSR-000175
Checks: C-15601r1192949_chk

Review the website documentation and deployment configuration to determine which ports and protocols are enabled. Verify the ports and protocols being used are permitted, are necessary for the operation of the web server and the hosted applications, and are secure for a production system. Review both the &lt;'INSTALLED PATH'&gt;\conf\httpd.conf and the &lt;'INSTALLED PATH'&gt;\conf\extra\httpd-ssl.conf files. Verify only the listener for IANA well-known ports for HTTP and HTTPS (80 and 443) are in use. If any of the ports or protocols are not permitted, are nonsecure, or are not necessary for website operation, this is a finding.

Fix: F-15599r277912_fix

Ensure the website enforces the use of IANA well-known ports for HTTP and HTTPS.

b
Cookies exchanged between the Apache web server and the client, such as session cookies, must have cookie properties set to prohibit client-side scripts from reading the cookie data.
SC-8 - Medium - CCI-002418 - V-214394 - SV-214394r961632_rule
RMF Control
SC-8
Severity
Medium
CCI
CCI-002418
Version
AS24-W2-000870
Vuln IDs
  • V-214394
  • V-92855
Rule IDs
  • SV-214394r961632_rule
  • SV-102943
A cookie can be read by client-side scripts easily if cookie properties are not set properly. By allowing cookies to be read by the client-side scripts, information such as session identifiers could be compromised and used by an attacker who intercepts the cookie. Setting cookie properties (i.e., HttpOnly property) to disallow client-side scripts from reading cookies better protects the information inside the cookie.
Checks: C-15605r803283_chk

Verify the "session_cookie_module" module is installed. Inspect the httpd.conf file to confirm the "session_cookie_module" is being used. If the "session_cookie_module" module is not being used, this is a finding. Search for the "Session" and "SessionCookieName" directives. If "Session" is not "on" and "SessionCookieName" does not contain "httpOnly" and "secure", this is a finding.

Fix: F-15603r803284_fix

Set "Session" to "on". Ensure the "SessionCookieName" directive includes "httpOnly" and "secure".

b
Cookies exchanged between the Apache web server and the client, such as session cookies, must have cookie properties set to force the encryption of cookies.
SC-8 - Medium - CCI-002418 - V-214395 - SV-214395r961632_rule
RMF Control
SC-8
Severity
Medium
CCI
CCI-002418
Version
AS24-W2-000880
Vuln IDs
  • V-214395
  • V-92587
Rule IDs
  • SV-214395r961632_rule
  • SV-102675
Cookies can be sent to a client using TLS/SSL to encrypt the cookies, but TLS/SSL is not used by every hosted application since the data being displayed does not require the encryption of the transmission. To safeguard against cookies, especially session cookies, being sent in plaintext, a cookie can be encrypted before transmission. To force a cookie to be encrypted before transmission, the cookie "Secure" property can be set.
Checks: C-15606r277926_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-15604r277927_fix

Ensure the "mod_session_crypto" module is installed. Enable encrypted session cookies. Example: Session On SessionCookieName session path=/ SessionCryptoPassphrase secret