# schema_version

applied_at: 2026-03-04 20:16:10
description:
  NIPR/SIPR separation: classification on oca_hostname_mappings, backfill ship_systems and scan_imports


# rmf_steps

name: Prepare
source_version: SP 800-37 Rev.2
description:
  Carry out essential activities to help prepare the organization to manage its security and privacy risks.


name: Assess
source_version: SP 800-37 Rev.2
description:
  Assess the controls to determine if they are implemented correctly, operating as intended, and producing the desired outcomes.


# stig_benchmarks

benchmark_id: xccdf_mil.disa.stig_benchmark_IIS_10-0_Site_STIG
title: Microsoft IIS 10.0 Site Security Technical Implementation Guide
version: V2R14
release: 14
release_date: 2026-01-05
ingested_at: 2026-03-12 19:38:14
source_file:
  C:\working\CSIDS\temp\Server 2022\SCHR-P3-DP-001_IIS10Site_Default_Web_Site_V2R14_20260305-133115.xccdf.xml


# stig_rules

vuln_id: V-224819
rule_id: SV-224819r991589_rule
severity: CAT I
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Users with Administrative privileges must have separate accounts for administrative duties and normal operational tasks.

description:
  <VulnDiscussion>Using a privileged account to perform routine functions makes the computer vulnerable to malicious software inadvertently introduced during a session that has been granted full privileges.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Ensure each user with administrative privileges has a separate account for user duties and one for privileged duties.

check_text:
  Verify each user with administrative privileges has been assigned a unique administrative account separate from their standard user account. 

  If users with administrative privileges do not have separate accounts for administrative functions and standard user functions, this is a finding.


vuln_id: V-224820
rule_id: SV-224820r1038967_rule
severity: CAT II
title: Passwords for the built-in Administrator account must be changed at least every 60 days.
cci: CCI-000199
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The longer a password is in use, the greater the opportunity for someone to gain unauthorized knowledge of the password. The built-in Administrator account is not generally used and its password not may be changed as frequently as necessary. Changing the password for the built-in Administrator account on a regular basis will limit its exposure.

  It is highly recommended to use Microsoft's Local Administrator Password Solution (LAPS). Domain-joined systems can configure this to occur more frequently. LAPS will change the password every "30" days by default. The AO still has the overall authority to use another equivalent capability to accomplish the check.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Change the built-in Administrator account password at least every "60" days.

  It is highly recommended to use Microsoft's LAPS, which may be used on domain-joined member servers to accomplish this. The AO still has the overall authority to use another equivalent capability to accomplish the check.

check_text:
  Review the password last set date for the built-in Administrator account.

  Domain controllers:

  Open "PowerShell".

  Enter "Get-ADUser -Filter * -Properties SID, PasswordLastSet | Where SID -Like "*-500" | Ft Name, SID, PasswordLastSet".

  If the "PasswordLastSet" date is greater than "60" days old, this is a finding.

  Member servers and standalone or nondomain-joined systems:

  Open "Command Prompt".

  Enter 'Net User [account name] | Find /i "Password Last Set"', where [account name] is the name of the built-in administrator account.

  (The name of the built-in Administrator account must be changed to something other than "Administrator" per STIG requirements.)

  If the "PasswordLastSet" date is greater than "60" days old, this is a finding.


vuln_id: V-224821
rule_id: SV-224821r991589_rule
severity: CAT I
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Administrative accounts must not be used with applications that access the Internet, such as web browsers, or with potential Internet sources, such as email.

description:
  <VulnDiscussion>Using applications that access the Internet or have potential Internet sources using administrative privileges exposes a system to compromise. If a flaw in an application is exploited while running as a privileged user, the entire system could be compromised. Web browsers and email are common attack vectors for introducing malicious code and must not be run with an administrative account.

  Since administrative accounts may generally change or work around technical restrictions for running a web browser or other applications, it is essential that policy require administrative accounts to not access the Internet or use applications such as email.

  The policy should define specific exceptions for local service administration. These exceptions may include HTTP(S)-based tools that are used for the administration of the local system, services, or attached devices.

  Whitelisting can be used to enforce the policy to ensure compliance.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Establish a policy, at minimum, to prohibit administrative accounts from using applications that access the Internet, such as web browsers, or with potential Internet sources, such as email. Ensure the policy is enforced.

  The organization may use technical means such as whitelisting to prevent the use of browsers and mail applications to enforce this requirement.

check_text:
  Determine whether organization policy, at a minimum, prohibits administrative accounts from using applications that access the Internet, such as web browsers, or with potential Internet sources, such as email, except as necessary for local service administration.

  If it does not, this is a finding.

  The organization may use technical means such as whitelisting to prevent the use of browsers and mail applications to enforce this requirement.


vuln_id: V-224822
rule_id: SV-224822r991589_rule
severity: CAT II
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Members of the Backup Operators group must have separate accounts for backup duties and normal operational tasks.

description:
  <VulnDiscussion>Backup Operators are able to read and write to any file in the system, regardless of the rights assigned to it. Backup and restore rights permit users to circumvent the file access restrictions present on NTFS disk drives for backup and restore purposes. Members of the Backup Operators group must have separate logon accounts for performing backup duties.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Ensure each member of the Backup Operators group has separate accounts for backup functions and standard user functions.

check_text:
  If no accounts are members of the Backup Operators group, this is NA.

  Verify users with accounts in the Backup Operators group have a separate user account for backup functions and for performing normal user tasks.

  If users with accounts in the Backup Operators group do not have separate accounts for backup functions and standard user functions, this is a finding.


vuln_id: V-224823
rule_id: SV-224823r1016376_rule
severity: CAT II
title: Manually managed application account passwords must be at least 14 characters in length.
cci: CCI-000205
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Application/service account passwords must be of sufficient length to prevent being easily cracked. Application/service accounts that are manually managed must have passwords at least 14 characters in length.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Establish a policy that requires application/service account passwords that are manually managed to be at least 14 characters in length. Ensure the policy is enforced.

check_text:
  Determine if manually managed application/service accounts exist. If none exist, this is NA.

  Verify the organization has a policy to ensure passwords for manually managed application/service accounts are at least 14 characters in length.

  If such a policy does not exist or has not been implemented, this is a finding.


vuln_id: V-224824
rule_id: SV-224824r991589_rule
severity: CAT II
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Manually managed application account passwords must be changed at least annually or when a system administrator with knowledge of the password leaves the organization.

description:
  <VulnDiscussion>Setting application account passwords to expire may cause applications to stop functioning. However, not changing them on a regular basis exposes them to attack. If managed service accounts are used, this alleviates the need to manually change application account passwords.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Change passwords for manually managed application/service accounts at least annually or when an administrator with knowledge of the password leaves the organization.

  It is recommended that system-managed service accounts be used whenever possible.

check_text:
  Determine if manually managed application/service accounts exist. If none exist, this is NA.

  If passwords for manually managed application/service accounts are not changed at least annually or when an administrator with knowledge of the password leaves the organization, this is a finding.

  Identify manually managed application/service accounts.

  To determine the date a password was last changed:

  Domain controllers:

  Open "PowerShell".

  Enter "Get-AdUser -Identity [application account name] -Properties PasswordLastSet | FT Name, PasswordLastSet", where [application account name] is the name of the manually managed application/service account.

  If the "PasswordLastSet" date is more than one year old, this is a finding.

  Member servers and standalone or nondomain-joined systems:

  Open "Command Prompt".

  Enter 'Net User [application account name] | Find /i "Password Last Set"', where [application account name] is the name of the manually managed application/service account.

  If the "Password Last Set" date is more than one year old, this is a finding.


vuln_id: V-224825
rule_id: SV-224825r958482_rule
severity: CAT II
title: Shared user accounts must not be permitted on the system.
cci: CCI-000764
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Shared accounts (accounts where two or more people log on with the same user identification) do not provide adequate identification and authentication. There is no way to provide for nonrepudiation or individual accountability for system access and resource usage.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Remove unapproved shared accounts from the system.

  Document required shared accounts with the ISSO. Documentation must include the reason for the account, who has access to the account, and how the risk of using the shared account is mitigated to include monitoring account activity.

check_text:
  Determine whether any shared accounts exist. If no shared accounts exist, this is NA.

  Shared accounts, such as required by an application, may be approved by the organization.  This must be documented with the ISSO. Documentation must include the reason for the account, who has access to the account, and how the risk of using the shared account is mitigated to include monitoring account activity.

  If unapproved shared accounts exist, this is a finding.


vuln_id: V-224826
rule_id: SV-224826r958808_rule
severity: CAT II
cci: CCI-001774
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 must employ a deny-all, permit-by-exception policy to allow the execution of authorized software programs.

description:
  <VulnDiscussion>Using an allowlist provides a configuration management method to allow the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities.

  The organization must identify authorized software programs and only permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as allowlisting.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure an application allowlisting program to employ a deny-all, permit-by-exception policy to allow the execution of authorized software programs.

  Configuration of allowlisting applications will vary by the program. AppLocker is an allowlisting application built into Windows Server.

  If AppLocker is used, it is configured through group policy in Computer Configuration >> Windows Settings >> Security Settings >> Application Control Policies >> AppLocker.

  Implementation guidance for AppLocker is available at the following link:

  https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-deployment-guide

check_text:
  Verify the operating system employs a deny-all, permit-by-exception policy to allow the execution of authorized software programs.

  If an application allowlisting program is not in use on the system, this is a finding.

  Configuration of allowlisting applications will vary by the program.

  AppLocker is an allowlisting application built into Windows Server. A deny-by-default implementation is initiated by enabling any AppLocker rules within a category, only allowing what is specified by defined rules.

  If AppLocker is used, perform the following to view the configuration of AppLocker:

  Open "PowerShell".

  If the AppLocker PowerShell module has not been imported previously, execute the following first:

  Import-Module AppLocker

  Execute the following command, substituting [c:\temp\file.xml] with a location and file name appropriate for the system:

  Get-AppLockerPolicy -Effective -XML > c:\temp\file.xml

  This will produce an xml file with the effective settings that can be viewed in a browser or opened in a program such as Excel for review.

  Implementation guidance for AppLocker is available at the following link:

  https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-policies-deployment-guide


vuln_id: V-224827
rule_id: SV-224827r991589_rule
severity: CAT II
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 domain-joined systems must have a Trusted Platform Module (TPM) enabled and ready for use.

description:
  <VulnDiscussion>Credential Guard uses virtualization-based security to protect data that could be used in credential theft attacks if compromised. A number of system requirements must be met for Credential Guard to be configured and enabled properly. Without a TPM enabled and ready for use, Credential Guard keys are stored in a less secure method using software.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Ensure domain-joined systems have a TPM that is configured for use. (Versions 2.0 or 1.2 support Credential Guard.)

  The TPM must be enabled in the firmware.

  Run "tpm.msc" for configuration options in Windows.

check_text:
  For standalone or nondomain-joined systems, this is NA.

  Verify the system has a TPM and it is ready for use.

  Run "tpm.msc".

  Review the sections in the center pane.

  "Status" must indicate it has been configured with a message such as "The TPM is ready for use" or "The TPM is on and ownership has been taken".

  TPM Manufacturer Information - Specific Version = 2.0 or 1.2

  If a TPM is not found or is not ready for use, this is a finding.


vuln_id: V-224828
rule_id: SV-224828r1059570_rule
severity: CAT I
title: Systems must be maintained at a supported servicing level.
fix_text: Upgrade the operating system to a supported version.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Systems at unsupported servicing levels will not receive security updates for new vulnerabilities, which leaves them subject to exploitation. Systems must be maintained at a servicing level supported by the vendor with new security updates.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

check_text:
  This STIG is sunset and no longer maintained.

  Open "Command Prompt".

  Enter "winver.exe".

  If the "About Windows" dialog box displays "Microsoft Windows Server Version 1607 (Build 14393.xxx)" and there is not documented extended support for Microsoft Windows Server 2016, this is a finding.


vuln_id: V-224829
rule_id: SV-224829r991589_rule
severity: CAT I
title: The Windows Server 2016 system must use an anti-virus program.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Malicious software can establish a base on individual desktops and servers. Employing an automated mechanism to detect this type of software will aid in elimination of the software from the operating system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  If no anti-virus software is in use, install Windows Defender or third-party anti-virus.

  Open "PowerShell".

  Enter "Install-WindowsFeature -Name Windows-Defender”

  For third-party anti-virus, install per anti-virus instructions and disable Windows Defender.

  Open "PowerShell".

  Enter “Uninstall-WindowsFeature -Name Windows-Defender”.

check_text:
  Verify an anti-virus solution is installed on the system. The anti-virus solution may be bundled with an approved host-based security solution.

  If there is no anti-virus solution installed on the system, this is a finding.

  Verify if Windows Defender is in use or enabled:

  Open "PowerShell".

  Enter "get-service | where {$_.DisplayName -Like "*Defender*"} | Select Status,DisplayName”

  Verify if third-party anti-virus is in use or enabled:

  Open "PowerShell".

  Enter "get-service | where {$_.DisplayName -Like "*mcafee*"} | Select Status,DisplayName”

  Enter "get-service | where {$_.DisplayName -Like "*symantec*"} | Select Status,DisplayName”


vuln_id: V-224830
rule_id: SV-224830r991589_rule
severity: CAT II
title: Servers must have a host-based intrusion detection or prevention system.
fix_text: Install a HIDS or HIPS on each server.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>A properly configured Host-based Intrusion Detection System (HIDS) or Host-based Intrusion Prevention System (HIPS) provides another level of defense against unauthorized access to critical servers. With proper configuration and logging enabled, such a system can stop and/or alert for many attempts to gain unauthorized access to resources.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

check_text:
  Determine whether there is a HIDS or HIPS on each server. 

  If the HIPS component of ESS is installed and active on the host and the alerts of blocked activity are being logged and monitored, this meets the requirement. 

  A HIDS device is not required on a system that has the role as the Network Intrusion Device (NID). However, this exception needs to be documented with the ISSO.

  If a HIDS is not installed on the system, this is a finding.


vuln_id: V-224831
rule_id: SV-224831r958472_rule
severity: CAT I
title: Local volumes must use a format that supports NTFS attributes.
fix_text: Format volumes to use NTFS or ReFS.
cci: CCI-000213
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The ability to set access permissions and auditing is critical to maintaining the security and proper access controls of a system. To support this, volumes must be formatted using a file system that supports NTFS attributes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

check_text:
  Open "Computer Management".

  Select "Disk Management" under "Storage".

  For each local volume, if the file system does not indicate "NTFS", this is a finding.

  "ReFS" (resilient file system) is also acceptable and would not be a finding.

  This does not apply to system partitions such the Recovery and EFI System Partition.


vuln_id: V-224832
rule_id: SV-224832r958702_rule
severity: CAT II
title: Permissions for the system drive root directory (usually C:\) must conform to minimum requirements.
cci: CCI-002165
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Changing the system's file and directory permissions allows the possibility of unauthorized and anonymous modification to the operating system and installed applications.

  The default permissions are adequate when the Security Option "Network access: Let everyone permissions apply to anonymous users" is set to "Disabled" (WN16-SO-000290).

  Satisfies: SRG-OS-000312-GPOS-00122, SRG-OS-000312-GPOS-00123, SRG-OS-000312-GPOS-00124</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Maintain the default permissions for the system drive's root directory and configure the Security Option "Network access: Let everyone permissions apply to anonymous users" to "Disabled" (WN16-SO-000290).

  Default Permissions
  C:\
  Type - "Allow" for all
  Inherited from - "None" for all

  Principal - Access - Applies to

  SYSTEM - Full control - This folder, subfolders, and files
  Administrators - Full control - This folder, subfolders, and files
  Users - Read & execute - This folder, subfolders, and files
  Users - Create folders/append data - This folder and subfolders
  Users - Create files/write data - Subfolders only
  CREATOR OWNER - Full Control - Subfolders and files only

check_text:
  The default permissions are adequate when the Security Option "Network access: Let everyone permissions apply to anonymous users" is set to "Disabled" (WN16-SO-000290).

  Review the permissions for the system drive's root directory (usually C:\). Non-privileged groups such as Users or Authenticated Users must not have greater than "Read & execute" permissions except where noted as defaults. (Individual accounts must not be used to assign permissions.)

  If permissions are not as restrictive as the default permissions listed below, this is a finding.

  Viewing in File Explorer:

  View the Properties of the system drive's root directory.

  Select the "Security" tab, and the "Advanced" button.

  Default permissions:
  C:\
  Type - "Allow" for all
  Inherited from - "None" for all

  Principal - Access - Applies to

  SYSTEM - Full control - This folder, subfolders, and files
  Administrators - Full control - This folder, subfolders, and files
  Users - Read & execute - This folder, subfolders, and files
  Users - Create folders/append data - This folder and subfolders
  Users - Create files/write data - Subfolders only
  CREATOR OWNER - Full Control - Subfolders and files only

  Alternately, use icacls:

  Open "Command Prompt (Admin)".

  Enter "icacls" followed by the directory:

  "icacls c:\"

  The following results should be displayed:

  c:\
  NT AUTHORITY\SYSTEM:(OI)(CI)(F)
  BUILTIN\Administrators:(OI)(CI)(F)
  BUILTIN\Users:(OI)(CI)(RX)
  BUILTIN\Users:(CI)(AD)
  BUILTIN\Users:(CI)(IO)(WD)
  CREATOR OWNER:(OI)(CI)(IO)(F)
  Successfully processed 1 files; Failed processing 0 files


vuln_id: V-224833
rule_id: SV-224833r958702_rule
severity: CAT II
title: Permissions for program file directories must conform to minimum requirements.
cci: CCI-002165
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Changing the system's file and directory permissions allows the possibility of unauthorized and anonymous modification to the operating system and installed applications.

  The default permissions are adequate when the Security Option "Network access: Let everyone permissions apply to anonymous users" is set to "Disabled" (WN16-SO-000290).

  Satisfies: SRG-OS-000312-GPOS-00122, SRG-OS-000312-GPOS-00123, SRG-OS-000312-GPOS-00124</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Maintain the default permissions for the program file directories and configure the Security Option "Network access: Let everyone permissions apply to anonymous users" to "Disabled" (WN16-SO-000290).

  Default permissions:
  \Program Files and \Program Files (x86)
  Type - "Allow" for all
  Inherited from - "None" for all

  Principal - Access - Applies to

  TrustedInstaller - Full control - This folder and subfolders
  SYSTEM - Modify - This folder only
  SYSTEM - Full control - Subfolders and files only
  Administrators - Modify - This folder only
  Administrators - Full control - Subfolders and files only
  Users - Read & execute - This folder, subfolders, and files
  CREATOR OWNER - Full control - Subfolders and files only
  ALL APPLICATION PACKAGES - Read & execute - This folder, subfolders, and files
  ALL RESTRICTED APPLICATION PACKAGES - Read & execute - This folder, subfolders, and files

check_text:
  The default permissions are adequate when the Security Option "Network access: Let everyone permissions apply to anonymous users" is set to "Disabled" (WN16-SO-000290).

  Review the permissions for the program file directories (Program Files and Program Files [x86]). Non-privileged groups such as Users or Authenticated Users must not have greater than "Read & execute" permissions. (Individual accounts must not be used to assign permissions.)

  If permissions are not as restrictive as the default permissions listed below, this is a finding.

  Viewing in File Explorer:

  For each folder, view the Properties.

  Select the "Security" tab, and the "Advanced" button.

  Default permissions:
  \Program Files and \Program Files (x86)
  Type - "Allow" for all
  Inherited from - "None" for all

  Principal - Access - Applies to

  TrustedInstaller - Full control - This folder and subfolders
  SYSTEM - Modify - This folder only
  SYSTEM - Full control - Subfolders and files only
  Administrators - Modify - This folder only
  Administrators - Full control - Subfolders and files only
  Users - Read & execute - This folder, subfolders and files
  CREATOR OWNER - Full control - Subfolders and files only
  ALL APPLICATION PACKAGES - Read & execute - This folder, subfolders, and files
  ALL RESTRICTED APPLICATION PACKAGES - Read & execute - This folder, subfolders, and files

  Alternately, use icacls:

  Open a Command prompt (admin).

  Enter "icacls" followed by the directory:

  'icacls "c:\program files"'
  'icacls "c:\program files (x86)"'

  The following results should be displayed for each when entered:

  c:\program files (c:\program files (x86))
  NT SERVICE\TrustedInstaller:(F)
  NT SERVICE\TrustedInstaller:(CI)(IO)(F)
  NT AUTHORITY\SYSTEM:(M)
  NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F)
  BUILTIN\Administrators:(M)
  BUILTIN\Administrators:(OI)(CI)(IO)(F)
  BUILTIN\Users:(RX)
  BUILTIN\Users:(OI)(CI)(IO)(GR,GE)
  CREATOR OWNER:(OI)(CI)(IO)(F)
  APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(RX)
  APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(OI)(CI)(IO)(GR,GE)
  APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(RX)
  APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(OI)(CI)(IO)(GR,GE)
  Successfully processed 1 files; Failed processing 0 files


vuln_id: V-224834
rule_id: SV-224834r958702_rule
severity: CAT II
title: Permissions for the Windows installation directory must conform to minimum requirements.
cci: CCI-002165
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Changing the system's file and directory permissions allows the possibility of unauthorized and anonymous modification to the operating system and installed applications.

  The default permissions are adequate when the Security Option "Network access: Let everyone permissions apply to anonymous users" is set to "Disabled" (WN16-SO-000290).

  Satisfies: SRG-OS-000312-GPOS-00122, SRG-OS-000312-GPOS-00123, SRG-OS-000312-GPOS-00124</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Maintain the default file ACLs and configure the Security Option "Network access: Let everyone permissions apply to anonymous users" to "Disabled" (WN16-SO-000290).

  Default permissions:
  Type - "Allow" for all
  Inherited from - "None" for all

  Principal - Access - Applies to

  TrustedInstaller - Full control - This folder and subfolders
  SYSTEM - Modify - This folder only
  SYSTEM - Full control - Subfolders and files only
  Administrators - Modify - This folder only
  Administrators - Full control - Subfolders and files only
  Users - Read & execute - This folder, subfolders, and files
  CREATOR OWNER - Full control - Subfolders and files only
  ALL APPLICATION PACKAGES - Read & execute - This folder, subfolders, and files
  ALL RESTRICTED APPLICATION PACKAGES - Read & execute - This folder, subfolders, and files

check_text:
  The default permissions are adequate when the Security Option "Network access: Let everyone permissions apply to anonymous users" is set to "Disabled" (WN16-SO-000290).

  Review the permissions for the Windows installation directory (usually C:\Windows). Non-privileged groups such as Users or Authenticated Users must not have greater than "Read & execute" permissions. (Individual accounts must not be used to assign permissions.)

  If permissions are not as restrictive as the default permissions listed below, this is a finding.

  Viewing in File Explorer:

  For each folder, view the Properties.

  Select the "Security" tab and the "Advanced" button.

  Default permissions:
  \Windows
  Type - "Allow" for all
  Inherited from - "None" for all

  Principal - Access - Applies to

  TrustedInstaller - Full control - This folder and subfolders
  SYSTEM - Modify - This folder only
  SYSTEM - Full control - Subfolders and files only
  Administrators - Modify - This folder only
  Administrators - Full control - Subfolders and files only
  Users - Read & execute - This folder, subfolders, and files
  CREATOR OWNER - Full control - Subfolders and files only
  ALL APPLICATION PACKAGES - Read & execute - This folder, subfolders, and files
  ALL RESTRICTED APPLICATION PACKAGES - Read & execute - This folder, subfolders, and files

  Alternately, use icacls:

  Open a Command prompt (admin).

  Enter "icacls" followed by the directory:

  "icacls c:\windows"

  The following results should be displayed for each when entered:

  c:\windows
  NT SERVICE\TrustedInstaller:(F)
  NT SERVICE\TrustedInstaller:(CI)(IO)(F)
  NT AUTHORITY\SYSTEM:(M)
  NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F)
  BUILTIN\Administrators:(M)
  BUILTIN\Administrators:(OI)(CI)(IO)(F)
  BUILTIN\Users:(RX)
  BUILTIN\Users:(OI)(CI)(IO)(GR,GE)
  CREATOR OWNER:(OI)(CI)(IO)(F)
  APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(RX)
  APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(OI)(CI)(IO)(GR,GE)
  APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(RX)
  APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(OI)(CI)(IO)(GR,GE)
  Successfully processed 1 files; Failed processing 0 files


vuln_id: V-224835
rule_id: SV-224835r958726_rule
severity: CAT II
title: Default permissions for the HKEY_LOCAL_MACHINE registry hive must be maintained.
cci: CCI-002235
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The registry is integral to the function, security, and stability of the Windows system. Changing the system's registry permissions allows the possibility of unauthorized and anonymous modification to the operating system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Maintain the default permissions for the HKEY_LOCAL_MACHINE registry hive.

  The default permissions of the higher-level keys are noted below.

  HKEY_LOCAL_MACHINE\SECURITY

  Type - "Allow" for all
  Inherited from - "None" for all
  Principal - Access - Applies to
  SYSTEM - Full Control - This key and subkeys
  Administrators - Special - This key and subkeys

  HKEY_LOCAL_MACHINE\SOFTWARE

  Type - "Allow" for all
  Inherited from - "None" for all
  Principal - Access - Applies to
  Users - Read - This key and subkeys
  Administrators - Full Control - This key and subkeys
  SYSTEM - Full Control - This key and subkeys
  CREATOR OWNER - Full Control - This key and subkeys
  ALL APPLICATION PACKAGES - Read - This key and subkeys

  HKEY_LOCAL_MACHINE\SYSTEM

  Type - "Allow" for all
  Inherited from - "None" for all
  Principal - Access - Applies to
  Users - Read - This key and subkeys
  Administrators - Full Control - This key and subkeys
  SYSTEM - Full Control - This key and subkeys
  CREATOR OWNER - Full Control - Subkeys only
  ALL APPLICATION PACKAGES - Read - This key and subkeys
  Server Operators – Read – This Key and subkeys    (Domain controllers only)

check_text:
  Review the registry permissions for the keys of the HKEY_LOCAL_MACHINE hive noted below.

  If any non-privileged groups such as Everyone, Users, or Authenticated Users have greater than Read permission, this is a finding.

  If permissions are not as restrictive as the default permissions listed below, this is a finding.

  Run "Regedit".

  Right-click on the registry areas noted below.

  Select "Permissions..." and the "Advanced" button.

  HKEY_LOCAL_MACHINE\SECURITY

  Type - "Allow" for all
  Inherited from - "None" for all
  Principal - Access - Applies to
  SYSTEM - Full Control - This key and subkeys
  Administrators - Special - This key and subkeys

  HKEY_LOCAL_MACHINE\SOFTWARE

  Type - "Allow" for all
  Inherited from - "None" for all
  Principal - Access - Applies to
  Users - Read - This key and subkeys
  Administrators - Full Control - This key and subkeys
  SYSTEM - Full Control - This key and subkeys
  CREATOR OWNER - Full Control - This key and subkeys
  ALL APPLICATION PACKAGES - Read - This key and subkeys

  HKEY_LOCAL_MACHINE\SYSTEM

  Type - "Allow" for all
  Inherited from - "None" for all
  Principal - Access - Applies to
  Users - Read - This key and subkeys
  Administrators - Full Control - This key and subkeys
  SYSTEM - Full Control - This key and subkeys
  CREATOR OWNER - Full Control - Subkeys only
  ALL APPLICATION PACKAGES - Read - This key and subkeys
  Server Operators – Read – This Key and subkeys    (Domain controllers only) 

  Other examples under the noted keys may also be sampled. There may be some instances where non-privileged groups have greater than Read permission.

  If the defaults have not been changed, these are not a finding.


vuln_id: V-224836
rule_id: SV-224836r958472_rule
severity: CAT III
title: Non-administrative accounts or groups must only have print permissions on printer shares.
cci: CCI-000213
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Windows shares are a means by which files, folders, printers, and other resources can be published for network users to access. Improper configuration can permit access to devices and data beyond a user's need.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the permissions on shared printers to restrict standard users to only have Print permissions.

check_text:
  Open "Devices and Printers".

  If there are no printers configured, this is NA. (Exclude Microsoft Print to PDF and Microsoft XPS Document Writer, which do not support sharing.)

  For each printer:

  Right-click on the printer. 

  Select "Printer Properties". 

  Select the "Sharing" tab. 

  If "Share this printer" is checked, select the "Security" tab.

  If any standard user accounts or groups have permissions other than "Print", this is a finding.

  The default is for the "Everyone" group to be given "Print" permission.

  "All APPLICATION PACKAGES" and "CREATOR OWNER" are not standard user accounts.


vuln_id: V-224837
rule_id: SV-224837r958482_rule
severity: CAT II
title: Outdated or unused accounts must be removed from the system or disabled.
cci: CCI-000764
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Outdated or unused accounts provide penetration points that may go undetected. Inactive accounts must be deleted if no longer necessary or, if still required, disabled until needed.

  Satisfies: SRG-OS-000104-GPOS-00051, SRG-OS-000118-GPOS-00060</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Regularly review accounts to determine if they are still active. Remove or disable accounts that have not been used in the last 35 days.

check_text:
  Open "Windows PowerShell".

  Domain Controllers:

  Enter "Search-ADAccount -AccountInactive -UsersOnly -TimeSpan 35.00:00:00"

  This will return accounts that have not been logged on to for 35 days, along with various attributes such as the Enabled status and LastLogonDate.

  Member servers and standalone or nondomain-joined systems:

  Copy or enter the lines below to the PowerShell window and enter. (Entering twice may be required. Do not include the quotes at the beginning and end of the query.)

  "([ADSI]('WinNT://{0}' -f $env:COMPUTERNAME)).Children | Where { $_.SchemaClassName -eq 'user' } | ForEach {
   $user = ([ADSI]$_.Path)
   $lastLogin = $user.Properties.LastLogin.Value
   $enabled = ($user.Properties.UserFlags.Value -band 0x2) -ne 0x2
   if ($lastLogin -eq $null) {
   $lastLogin = 'Never'
   }
   Write-Host $user.Name $lastLogin $enabled 
  }"

  This will return a list of local accounts with the account name, last logon, and if the account is enabled (True/False).
  For example: User1 10/31/2015 5:49:56 AM True

  Review the list of accounts returned by the above queries to determine the finding validity for each account reported.

  Exclude the following accounts:

  - Built-in administrator account (Renamed, SID ending in 500)
  - Built-in guest account (Renamed, Disabled, SID ending in 501)
  - Built-in default account (Renamed, Disabled, SID ending in 503)
  - Application accounts

  If any enabled accounts have not been logged on to within the past 35 days, this is a finding.

  Inactive accounts that have been reviewed and deemed to be required must be documented with the ISSO.


vuln_id: V-224838
rule_id: SV-224838r958482_rule
severity: CAT II
title: Windows Server 2016 accounts must require passwords.
cci: CCI-000764
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The lack of password protection enables anyone to gain access to the information system, which opens a backdoor opportunity for intruders to compromise the system as well as other resources. Accounts on a system must require passwords.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure all enabled user accounts to require passwords.

  The password required flag can be set by entering the following on a command line: "Net user [username] /passwordreq:yes", substituting [username] with the name of the user account.

check_text:
  Review the password required status for enabled user accounts.

  Open "PowerShell".

  Domain Controllers:

  Enter "Get-Aduser -Filter * -Properties Passwordnotrequired |FT Name, Passwordnotrequired, Enabled".

  Exclude disabled accounts (e.g., DefaultAccount, Guest) and Trusted Domain Objects (TDOs).

  If "Passwordnotrequired" is "True" or blank for any enabled user account, this is a finding.

  Member servers and standalone or nondomain-joined systems:

  Enter 'Get-CimInstance -Class Win32_Useraccount -Filter "PasswordRequired=False and LocalAccount=True" | FT Name, PasswordRequired, Disabled, LocalAccount'.

  Exclude disabled accounts (e.g., DefaultAccount, Guest).

  If any enabled user accounts are returned with a "PasswordRequired" status of "False", this is a finding.


vuln_id: V-224839
rule_id: SV-224839r1038967_rule
severity: CAT II
title: Passwords must be configured to expire.
cci: CCI-000199
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Passwords that do not expire or are reused increase the exposure of a password with greater probability of being discovered or cracked.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure all enabled user account passwords to expire.

  Uncheck "Password never expires" for all enabled user accounts in Active Directory Users and Computers for domain accounts and Users in Computer Management for member servers and standalone or nondomain-joined systems. Document any exceptions with the ISSO.

check_text:
  Review the password never expires status for enabled user accounts.

  Open "PowerShell".

  Domain Controllers:

  Enter "Search-ADAccount -PasswordNeverExpires -UsersOnly | FT Name, PasswordNeverExpires, Enabled".

  Exclude application accounts, disabled accounts (e.g., DefaultAccount, Guest), and the krbtgt account.

  If any enabled user accounts are returned with a "PasswordNeverExpires" status of "True", this is a finding.

  Member servers and standalone or nondomain-joined systems:

  Enter 'Get-CimInstance -Class Win32_Useraccount -Filter "PasswordExpires=False and LocalAccount=True" | FT Name, PasswordExpires, Disabled, LocalAccount'.

  Exclude application accounts and disabled accounts (e.g., DefaultAccount, Guest).

  If any enabled user accounts are returned with a "PasswordExpires" status of "False", this is a finding.


vuln_id: V-224840
rule_id: SV-224840r958794_rule
severity: CAT II
title: System files must be monitored for unauthorized changes.
cci: CCI-001744
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Monitoring system files for changes against a baseline on a regular basis may help detect the possible introduction of malicious code on a system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Monitor the system for unauthorized changes to system files (e.g., *.exe, *.bat, *.com, *.cmd, and *.dll) against a baseline on a weekly basis. This can be done with the use of various monitoring tools.

check_text:
  Determine if the system is monitored for unauthorized changes to system files (e.g., *.exe, *.bat, *.com, *.cmd, and *.dll) against a baseline on a weekly basis.

  If system files are not being monitored for unauthorized changes, this is a finding. 

  An approved and properly configured solution will contain both a list of baselines that includes all system file locations and a file comparison task that is scheduled to run at least weekly.


vuln_id: V-224841
rule_id: SV-224841r958524_rule
severity: CAT II
title: Non-system-created file shares on a system must limit access to groups that require it.
cci: CCI-001090
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Shares on a system provide network access. To prevent exposing sensitive information, where shares are necessary, permissions must be reconfigured to give the minimum access to accounts that require it.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  If a non-system-created share is required on a system, configure the share and NTFS permissions to limit access to the specific groups or accounts that require it.

  Remove any unnecessary non-system-created shares.

check_text:
  If only system-created shares such as "ADMIN$", "C$", and "IPC$" exist on the system, this is NA. (System-created shares will display a message that it has been shared for administrative purposes when "Properties" is selected.)

  Run "Computer Management".

  Navigate to System Tools >> Shared Folders >> Shares.

  Right-click any non-system-created shares.

  Select "Properties".

  Select the "Share Permissions" tab.

  If the file shares have not been configured to restrict permissions to the specific groups or accounts that require access, this is a finding.

  Select the "Security" tab.

  If the permissions have not been configured to restrict permissions to the specific groups or accounts that require access, this is a finding.


vuln_id: V-224842
rule_id: SV-224842r991589_rule
severity: CAT II
title: Software certificate installation files must be removed from Windows Server 2016.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Use of software certificates and their accompanying installation files for end users to access resources is less secure than the use of hardware-based certificates.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Remove any certificate installation files (*.p12 and *.pfx) found on a system.

  Note: This does not apply to server-based applications that have a requirement for .p12 certificate files or Adobe PreFlight certificate files.

check_text:
  Search all drives for *.p12 and *.pfx files.

  If any files with these extensions exist, this is a finding.

  This does not apply to server-based applications that have a requirement for .p12 certificate files or Adobe PreFlight certificate files. Some applications create files with extensions of .p12 that are not certificate installation files. Removal of non-certificate installation files from systems is not required. These must be documented with the ISSO.


vuln_id: V-224843
rule_id: SV-224843r958552_rule
severity: CAT I
cci: CCI-001199
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Systems requiring data at rest protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information at rest.

description:
  <VulnDiscussion>This requirement addresses protection of user-generated data as well as operating system-specific configuration data. Organizations may choose to employ different mechanisms to achieve confidentiality and integrity protections, as appropriate, in accordance with the security category and/or classification of the information.

  Selection of a cryptographic mechanism is based on the need to protect the integrity of organizational information. The strength of the mechanism is commensurate with the security category and/or classification of the information. Organizations have the flexibility to either encrypt all information on storage devices (i.e., full disk encryption) or encrypt specific data structures (e.g., files, records, or fields).

  Satisfies: SRG-OS-000185-GPOS-00079, SRG-OS-000404-GPOS-00183, SRG-OS-000405-GPOS-00184</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure systems that require additional protections due to factors such as inadequate physical protection or sensitivity of the data to employ encryption to protect the confidentiality and integrity of all information at rest.

check_text:
  Verify systems that require additional protections due to factors such as inadequate physical protection or sensitivity of the data employ encryption to protect the confidentiality and integrity of all information at rest.

  If they do not, this is a finding.


vuln_id: V-224844
rule_id: SV-224844r958912_rule
severity: CAT II
cci: CCI-002420
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Protection methods such as TLS, encrypted VPNs, or IPsec must be implemented if the data owner has a strict requirement for ensuring data integrity and confidentiality is maintained at every step of the data transfer and handling process.

description:
  <VulnDiscussion>Information can be either unintentionally or maliciously disclosed or modified during preparation for transmission, for example, during aggregation, at protocol transformation points, and during packing/unpacking. These unauthorized disclosures or modifications compromise the confidentiality or integrity of the information.

  Ensuring the confidentiality of transmitted information requires the operating system to take measures in preparing information for transmission. This can be accomplished via access control and encryption.

  Use of this requirement will be limited to situations where the data owner has a strict requirement for ensuring data integrity and confidentiality is maintained at every step of the data transfer and handling process. When transmitting data, operating systems need to support transmission protection mechanisms such as TLS, encrypted VPNs, or IPsec.

  Satisfies: SRG-OS-000425-GPOS-00189, SRG-OS-000426-GPOS-00190</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure protection methods such as TLS, encrypted VPNs, or IPsec when the data owner has a strict requirement for ensuring data integrity and confidentiality is maintained at every step of the data transfer and handling process.

check_text:
  If the data owner has a strict requirement for ensuring data integrity and confidentiality is maintained at every step of the data transfer and handling process, verify protection methods such as TLS, encrypted VPNs, or IPsec have been implemented.

  If protection methods have not been implemented, this is a finding.


vuln_id: V-224845
rule_id: SV-224845r958478_rule
severity: CAT II
title: The roles and features required by the system must be documented.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Unnecessary roles and features increase the attack surface of a system. Limiting roles and features of a system to only those necessary reduces this potential. The standard installation option (previously called Server Core) further reduces this when selected at installation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Document the roles and features required for the system to operate. Uninstall any that are not required.

check_text:
  Required roles and features will vary based on the function of the individual system.

  Roles and features specifically required to be disabled per the STIG are identified in separate requirements.

  If the organization has not documented the roles and features required for the system(s), this is a finding.

  The PowerShell command "Get-WindowsFeature" will list all roles and features with an "Install State".


vuln_id: V-224846
rule_id: SV-224846r991589_rule
severity: CAT II
title: A host-based firewall must be installed and enabled on the system.
fix_text: Install and enable a host-based firewall on the system.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>A firewall provides a line of defense against attack, allowing or blocking inbound and outbound connections based on a set of rules.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

check_text:
  Determine if a host-based firewall is installed and enabled on the system.

  If a host-based firewall is not installed and enabled on the system, this is a finding.

  The configuration requirements will be determined by the applicable firewall STIG.


vuln_id: V-224847
rule_id: SV-224847r982191_rule
severity: CAT II
fix_text: Install a DoD-approved ESS software and ensure it is operating continuously.
cci: CCI-001233
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows  Server 2016 must employ automated mechanisms to determine the state of  system components with regard to flaw remediation using the following  frequency: continuously, where Endpoint Security Solution (ESS) is  used; 30 days, for any additional internal network scans not covered by ESS; and annually, for external scans by Computer Network Defense  Service Provider (CNDSP).

description:
  <VulnDiscussion>Without the use of automated mechanisms to scan for security flaws on a continuous and/or periodic basis, the operating system or other system components may remain vulnerable to the exploits presented by undetected software flaws. The operating system may have an integrated solution incorporating continuous scanning using ESS and periodic scanning using other tools.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

check_text:
  Verify DoD-approved ESS software is installed and properly operating. Ask the site ISSM for documentation of the ESS software installation and configuration.

  If the ISSM is not able to provide a documented configuration for an installed ESS or if the ESS software is not properly maintained or used, this is a finding.

  Note: Example of documentation can be a copy of the site's CCB approved Software Baseline with version of software noted or a memo from the ISSM stating current ESS software and version.


vuln_id: V-224848
rule_id: SV-224848r958364_rule
severity: CAT II
title: Windows Server 2016 must automatically remove or disable temporary user accounts after 72 hours.
cci: CCI-000016
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>If temporary user accounts remain active when no longer needed or for an excessive period, these accounts may be used to gain unauthorized access. To mitigate this risk, automated termination of all temporary accounts must be set upon account creation.

  Temporary accounts are established as part of normal account activation procedures when there is a need for short-term accounts without the demand for immediacy in account activation.

  If temporary accounts are used, the operating system must be configured to automatically terminate these types of accounts after a DoD-defined time period of 72 hours.

  To address access requirements, many operating systems may be integrated with enterprise-level authentication/access mechanisms that meet or exceed access control policy requirements.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure temporary user accounts to automatically expire within 72 hours.

  Domain accounts can be configured with an account expiration date under "Account" properties.

  Local accounts can be configured to expire with the command "Net user [username] /expires:[mm/dd/yyyy]", where username is the name of the temporary user account.

  Delete any temporary user accounts that are no longer necessary.

check_text:
  Review temporary user accounts for expiration dates.

  Determine if temporary user accounts are used and identify any that exist. If none exist, this is NA.

  Domain Controllers:

  Open "PowerShell".

  Enter "Search-ADAccount -AccountExpiring | FT Name, AccountExpirationDate".

  If "AccountExpirationDate" has not been defined within 72 hours for any temporary user account, this is a finding.

  Member servers and standalone or nondomain-joined systems:

  Open "Command Prompt".

  Run "Net user [username]", where [username] is the name of the temporary user account.

  If "Account expires" has not been defined within 72 hours for any temporary user account, this is a finding.


vuln_id: V-224849
rule_id: SV-224849r958508_rule
severity: CAT II
cci: CCI-001682
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 must automatically remove or disable emergency accounts after the crisis is resolved or within 72 hours.

description:
  <VulnDiscussion>Emergency administrator accounts are privileged accounts established in response to crisis situations where the need for rapid account activation is required. Therefore, emergency account activation may bypass normal account authorization processes. If these accounts are automatically disabled, system maintenance during emergencies may not be possible, thus adversely affecting system availability.

  Emergency administrator accounts are different from infrequently used accounts (i.e., local logon accounts used by system administrators when network or normal logon/access is not available). Infrequently used accounts are not subject to automatic termination dates. Emergency accounts are accounts created in response to crisis situations, usually for use by maintenance personnel. The automatic expiration or disabling time period may be extended as needed until the crisis is resolved; however, it must not be extended indefinitely. A permanent account should be established for privileged users who need long-term maintenance accounts.

  To address access requirements, many operating systems can be integrated with enterprise-level authentication/access mechanisms that meet or exceed access control policy requirements.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Remove emergency administrator accounts after a crisis has been resolved or configure the accounts to automatically expire within 72 hours.

  Domain accounts can be configured with an account expiration date under "Account" properties.

  Local accounts can be configured to expire with the command "Net user [username] /expires:[mm/dd/yyyy]", where username is the name of the temporary user account.

check_text:
  Determine if emergency administrator accounts are used and identify any that exist. If none exist, this is NA.

  If emergency administrator accounts cannot be configured with an expiration date due to an ongoing crisis, the accounts must be disabled or removed when the crisis is resolved.

  If emergency administrator accounts have not been configured with an expiration date or have not been disabled or removed following the resolution of a crisis, this is a finding.

  Domain Controllers:

  Open "PowerShell".

  Enter "Search-ADAccount –AccountExpiring | FT Name, AccountExpirationDate".

  If "AccountExpirationDate" has been defined and is not within 72 hours for an emergency administrator account, this is a finding.

  Member servers and standalone or nondomain-joined systems:

  Open "Command Prompt".

  Run "Net user [username]", where [username] is the name of the emergency account.

  If "Account expires" has been defined and is not within 72 hours for an emergency administrator account, this is a finding.


vuln_id: V-224850
rule_id: SV-224850r958478_rule
severity: CAT II
title: The Fax Server role must not be installed.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Unnecessary services increase the attack surface of a system. Some of these services may not support required levels of authentication or encryption or may provide unauthorized access to the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Uninstall the "Fax Server" role.

  Start "Server Manager".

  Select the server with the role.

  Scroll down to "ROLES AND FEATURES" in the right pane.

  Select "Remove Roles and Features" from the drop-down "TASKS" list.

  Select the appropriate server on the "Server Selection" page and click "Next".

  Deselect "Fax Server" on the "Roles" page.

  Click "Next" and "Remove" as prompted.

check_text:
  Open "PowerShell".

  Enter "Get-WindowsFeature | Where Name -eq Fax".

  If "Installed State" is "Installed", this is a finding.

  An Installed State of "Available" or "Removed" is not a finding.


vuln_id: V-224851
rule_id: SV-224851r958480_rule
severity: CAT II
title: The Microsoft FTP service must not be installed unless required.
cci: CCI-000382
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Unnecessary services increase the attack surface of a system. Some of these services may not support required levels of authentication or encryption.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Uninstall the "FTP Server" role.

  Start "Server Manager".

  Select the server with the role.

  Scroll down to "ROLES AND FEATURES" in the right pane.

  Select "Remove Roles and Features" from the drop-down "TASKS" list.

  Select the appropriate server on the "Server Selection" page and click "Next".

  Deselect "FTP Server" under "Web Server (IIS)" on the "Roles" page.

  Click "Next" and "Remove" as prompted.

check_text:
  If the server has the role of an FTP server, this is NA.

  Open "PowerShell".

  Enter "Get-WindowsFeature | Where Name -eq Web-Ftp-Service".

  If "Installed State" is "Installed", this is a finding.

  An Installed State of "Available" or "Removed" is not a finding.

  If the system has the role of an FTP server, this must be documented with the ISSO.


vuln_id: V-224852
rule_id: SV-224852r958478_rule
severity: CAT II
title: The Peer Name Resolution Protocol must not be installed.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Unnecessary services increase the attack surface of a system. Some of these services may not support required levels of authentication or encryption or may provide unauthorized access to the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Uninstall the "Peer Name Resolution Protocol" feature.

  Start "Server Manager".

  Select the server with the feature.

  Scroll down to "ROLES AND FEATURES" in the right pane.

  Select "Remove Roles and Features" from the drop-down "TASKS" list.

  Select the appropriate server on the "Server Selection" page and click "Next".

  Deselect "Peer Name Resolution Protocol" on the "Features" page.

  Click "Next" and "Remove" as prompted.

check_text:
  Open "PowerShell".

  Enter "Get-WindowsFeature | Where Name -eq PNRP".

  If "Installed State" is "Installed", this is a finding.

  An Installed State of "Available" or "Removed" is not a finding.


vuln_id: V-224853
rule_id: SV-224853r958478_rule
severity: CAT II
title: Simple TCP/IP Services must not be installed.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Unnecessary services increase the attack surface of a system. Some of these services may not support required levels of authentication or encryption or may provide unauthorized access to the system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Uninstall the "Simple TCP/IP Services" feature.

  Start "Server Manager".

  Select the server with the feature.

  Scroll down to "ROLES AND FEATURES" in the right pane.

  Select "Remove Roles and Features" from the drop-down "TASKS" list.

  Select the appropriate server on the "Server Selection" page and click "Next".

  Deselect "Simple TCP/IP Services" on the "Features" page.

  Click "Next" and "Remove" as prompted.

check_text:
  Open "PowerShell".

  Enter "Get-WindowsFeature | Where Name -eq Simple-TCPIP".

  If "Installed State" is "Installed", this is a finding.

  An Installed State of "Available" or "Removed" is not a finding.


vuln_id: V-224854
rule_id: SV-224854r958480_rule
severity: CAT II
title: The Telnet Client must not be installed.
cci: CCI-000382
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
[cell repeats an earlier one in this file: 580 characters]

fix_text:
  Uninstall the "Telnet Client" feature.

  Start "Server Manager".

  Select the server with the feature.

  Scroll down to "ROLES AND FEATURES" in the right pane.

  Select "Remove Roles and Features" from the drop-down "TASKS" list.

  Select the appropriate server on the "Server Selection" page and click "Next".

  Deselect "Telnet Client" on the "Features" page.

  Click "Next" and "Remove" as prompted.

check_text:
  Open "PowerShell".

  Enter "Get-WindowsFeature | Where Name -eq Telnet-Client".

  If "Installed State" is "Installed", this is a finding.

  An Installed State of "Available" or "Removed" is not a finding.


vuln_id: V-224855
rule_id: SV-224855r958478_rule
severity: CAT II
title: The TFTP Client must not be installed.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
[cell repeats an earlier one in this file: 580 characters]

fix_text:
  Uninstall the "TFTP Client" feature.

  Start "Server Manager".

  Select the server with the feature.

  Scroll down to "ROLES AND FEATURES" in the right pane.

  Select "Remove Roles and Features" from the drop-down "TASKS" list.

  Select the appropriate server on the "Server Selection" page and click "Next".

  Deselect "TFTP Client" on the "Features" page.

  Click "Next" and "Remove" as prompted.

check_text:
  Open "PowerShell".

  Enter "Get-WindowsFeature | Where Name -eq TFTP-Client".

  If "Installed State" is "Installed", this is a finding.

  An Installed State of "Available" or "Removed" is not a finding.


vuln_id: V-224856
rule_id: SV-224856r958478_rule
severity: CAT II
title: The Server Message Block (SMB) v1 protocol must be uninstalled.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>SMBv1 is a legacy protocol that uses the MD5 algorithm as part of SMB. MD5 is known to be vulnerable to a number of attacks such as collision and preimage attacks and is not FIPS compliant.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Uninstall the SMBv1 protocol.

  Open "Windows PowerShell" with elevated privileges (run as administrator).

  Enter "Uninstall-WindowsFeature -Name FS-SMB1 -Restart".
  (Omit the Restart parameter if an immediate restart of the system cannot be done.)

  Alternately:

  Start "Server Manager".

  Select the server with the feature.

  Scroll down to "ROLES AND FEATURES" in the right pane.

  Select "Remove Roles and Features" from the drop-down "TASKS" list.

  Select the appropriate server on the "Server Selection" page and click "Next".

  Deselect "SMB 1.0/CIFS File Sharing Support" on the "Features" page.

  Click "Next" and "Remove" as prompted.

check_text:
  Different methods are available to disable SMBv1 on Windows 2016.  This is the preferred method, however if V-78123 and V-78125 are configured, this is NA.

  Open "Windows PowerShell" with elevated privileges (run as administrator).

  Enter "Get-WindowsFeature -Name FS-SMB1".

  If "Installed State" is "Installed", this is a finding.

  An Installed State of "Available" or "Removed" is not a finding.


vuln_id: V-224857
rule_id: SV-224857r958478_rule
severity: CAT II
title: The Server Message Block (SMB) v1 protocol must be disabled on the SMB server.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>SMBv1 is a legacy protocol that uses the MD5 algorithm as part of SMB. MD5 is known to be vulnerable to a number of attacks such as collision and preimage attacks as well as not being FIPS compliant.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> MS Security Guide >> "Configure SMBv1 Server" to "Disabled".

  The system must be restarted for the change to take effect.

  This policy setting requires the installation of the SecGuide custom templates included with the STIG package. "SecGuide.admx" and "SecGuide.adml" must be copied to the \Windows\PolicyDefinitions and \Windows\PolicyDefinitions\en-US directories respectively.

check_text:
  Different methods are available to disable SMBv1 on Windows 2016, if V-73299 is configured, this is NA.

  If the following registry value does not exist or is not configured as specified, this is a finding:

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\

  Value Name: SMB1

  Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224858
rule_id: SV-224858r958478_rule
severity: CAT II
title: The Server Message Block (SMB) v1 protocol must be disabled on the SMB client.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>SMBv1 is a legacy protocol that uses the MD5 algorithm as part of SMB. MD5 is known to be vulnerable to a number of attacks such as collision and preimage attacks as well as not being FIPS compliant.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> MS Security Guide >> "Configure SMBv1 client driver" to "Enabled" with "Disable driver (recommended)" selected for "Configure MrxSmb10 driver".

  The system must be restarted for the changes to take effect.

  This policy setting requires the installation of the SecGuide custom templates included with the STIG package. "SecGuide.admx" and "SecGuide.adml" must be copied to the \Windows\PolicyDefinitions and \Windows\PolicyDefinitions\en-US directories respectively.

check_text:
  Different methods are available to disable SMBv1 on Windows 2016, if V-73299 is configured, this is NA.

  If the following registry value is not configured as specified, this is a finding:

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SYSTEM\CurrentControlSet\Services\mrxsmb10\

  Value Name: Start

  Type: REG_DWORD
  Value: 0x00000004 (4)


vuln_id: V-224859
rule_id: SV-224859r958478_rule
severity: CAT II
title: Windows PowerShell 2.0 must not be installed.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Windows PowerShell 5.0 added advanced logging features that can provide additional detail when malware has been run on a system. Disabling the Windows PowerShell 2.0 mitigates against a downgrade attack that evades the Windows PowerShell 5.0 script block logging feature.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Uninstall the "Windows PowerShell 2.0 Engine".

  Start "Server Manager".

  Select the server with the feature.

  Scroll down to "ROLES AND FEATURES" in the right pane.

  Select "Remove Roles and Features" from the drop-down "TASKS" list.

  Select the appropriate server on the "Server Selection" page and click "Next".

  Deselect "Windows PowerShell 2.0 Engine" under "Windows PowerShell" on the "Features" page.

  Click "Next" and "Remove" as prompted.

check_text:
  Open "PowerShell".

  Enter "Get-WindowsFeature | Where Name -eq PowerShell-v2".

  If "Installed State" is "Installed", this is a finding.

  An Installed State of "Available" or "Removed" is not a finding.


vuln_id: V-224860
rule_id: SV-224860r991589_rule
severity: CAT II
title: FTP servers must be configured to prevent anonymous logons.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The FTP service allows remote users to access shared files and directories. Allowing anonymous FTP connections makes user auditing difficult.

  Using accounts that have administrator privileges to log on to FTP risks that the userid and password will be captured on the network and give administrator access to an unauthorized user.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the FTP service to prevent anonymous logons.

  Open "Internet Information Services (IIS) Manager".

  Select the server.

  Double-click "FTP Authentication".

  Select "Anonymous Authentication".

  Select "Disabled" under "Actions".

check_text:
  If FTP is not installed on the system, this is NA.

  Open "Internet Information Services (IIS) Manager".

  Select the server.

  Double-click "FTP Authentication".

  If the "Anonymous Authentication" status is "Enabled", this is a finding.


vuln_id: V-224861
rule_id: SV-224861r991589_rule
severity: CAT II
title: FTP servers must be configured to prevent access to the system drive.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The FTP service allows remote users to access shared files and directories that could provide access to system resources and compromise the system, especially if the user can gain access to the root directory of the boot drive.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the FTP sites to allow access only to specific FTP shared resources. Do not allow access to other areas of the system.

check_text:
  If FTP is not installed on the system, this is NA.

  Open "Internet Information Services (IIS) Manager".

  Select "Sites" under the server name.

  For any sites with a Binding that lists FTP, right-click the site and select "Explore".

  If the site is not defined to a specific folder for shared FTP resources, this is a finding.

  If the site includes any system areas such as root of the drive, Program Files, or Windows directories, this is a finding.


vuln_id: V-224862
rule_id: SV-224862r1038944_rule
severity: CAT III
title: The time service must synchronize with an appropriate DoD time source.
cci: CCI-001891
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The Windows Time Service controls time synchronization settings. Time synchronization is essential for authentication and auditing purposes. If the Windows Time Service is used, it must synchronize with a secure, authorized time source. Domain-joined systems are automatically configured to synchronize with domain controllers. If an NTP server is configured, it must synchronize with a secure, authorized time source.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the system to synchronize time with an appropriate DoD time source.

  Domain-joined systems use NT5DS to synchronize time from other systems in the domain by default.

  If the system needs to be configured to an NTP server, configure the system to point to an authorized time server by setting the policy value for Computer Configuration >> Administrative Templates >> System >> Windows Time Service >> Time Providers >> "Configure Windows NTP Client" to "Enabled", and configure the "NtpServer" field to point to an appropriate DoD time server.

  The US Naval Observatory operates stratum 1 time servers, which are identified at:
  https://www.cnmoc.usff.navy.mil/Our-Commands/United-States-Naval-Observatory/Precise-Time-Department/Network-Time-Protocol-NTP/

  Time synchronization will occur through a hierarchy of time servers down to the local level. Clients and lower-level servers will synchronize with an authorized time server in the hierarchy.

check_text:
  Review the Windows time service configuration.

  Open an elevated "Command Prompt" (run as administrator).

  Enter "W32tm /query /configuration".

  Domain-joined systems (excluding the domain controller with the PDC emulator role):

  If the value for "Type" under "NTP Client" is not "NT5DS", this is a finding.

  Other systems:

  If systems are configured with a "Type" of "NTP", including standalone or nondomain-joined systems and the domain controller with the PDC Emulator role, and do not have a DoD time server defined for "NTPServer", this is a finding.

  To determine the domain controller with the PDC Emulator role:

  Open "PowerShell".

  Enter "Get-ADDomain | FT PDCEmulator".


vuln_id: V-224863
rule_id: SV-224863r991589_rule
severity: CAT II
title: Orphaned security identifiers (SIDs) must be removed from user rights on Windows 2016.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Accounts or groups given rights on a system may show up as unresolved SIDs for various reasons including deletion of the accounts or groups.  If the account or group objects are reanimated, there is a potential they may still have rights no longer intended.  Valid domain accounts or groups may also show up as unresolved SIDs if a connection to the domain cannot be established for some reason.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Remove any unresolved SIDs found in User Rights assignments and determined to not be for currently valid accounts or groups by removing the accounts or groups from the appropriate group policy.

check_text:
  Review the effective User Rights setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment.

  Review each User Right listed for any unresolved SIDs to determine whether they are valid, such as due to being temporarily disconnected from the domain. (Unresolved SIDs have the format of "*S-1-…".)

  If any unresolved SIDs exist and are not for currently valid accounts or groups, this is a finding.

  For server core installations, run the following command:

  Secedit /export /areas USER_RIGHTS /cfg c:\path\UserRights.txt

  The results in the file identify user right assignments by SID instead of group name. Review the SIDs for unidentified ones. A list of typical SIDs \ Groups is below, search Microsoft for articles on well-known SIDs for others. 

  If any unresolved SIDs exist and are not for currently valid accounts or groups, this is a finding.


  SID - Group
  S-1-5-11 - Authenticated Users
  S-1-5-113 - Local account
  S-1-5-114 - Local account and member of Administrators group
  S-1-5-19 - Local Service
  S-1-5-20 - Network Service
  S-1-5-32-544 - Administrators
  S-1-5-32-546 - Guests
  S-1-5-6 - Service
  S-1-5-9 - Enterprise Domain Controllers
  S-1-5-domain-512 - Domain Admins
  S-1-5-root domain-519 - Enterprise Admins
  S-1-5-80-3139157870-2983391045-3678747466-658725712-1809340420 - NT Service\WdiServiceHost


vuln_id: V-224864
rule_id: SV-224864r991589_rule
severity: CAT III
title: Secure Boot must be enabled on Windows Server 2016 systems.
fix_text: Enable Secure Boot in the system firmware.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Secure Boot is a standard that ensures systems boot only to a trusted operating system. Secure Boot is required to support additional security features in Windows Server 2016, including Virtualization Based Security and Credential Guard. If Secure Boot is turned off, these security features will not function.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

check_text:
  Some older systems may not have UEFI firmware. This is currently a CAT III; it will be raised in severity at a future date when broad support of Windows hardware and firmware requirements are expected to be met. Devices that have UEFI firmware must have Secure Boot enabled. 

  Run "System Information".

  Under "System Summary", if "Secure Boot State" does not display "On", this is a finding.


vuln_id: V-224865
rule_id: SV-224865r991589_rule
severity: CAT III
fix_text: Configure UEFI firmware to run in "UEFI" mode, not "Legacy BIOS" mode.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows 2016 systems must have Unified Extensible Firmware Interface (UEFI) firmware and be configured to run in UEFI mode, not Legacy BIOS.

description:
  <VulnDiscussion>UEFI provides additional security features in comparison to legacy BIOS firmware, including Secure Boot. UEFI is required to support additional security features in Windows Server 2016, including Virtualization Based Security and Credential Guard. Systems with UEFI that are operating in "Legacy BIOS" mode will not support these security features.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

check_text:
  Some older systems may not have UEFI firmware. This is currently a CAT III; it will be raised in severity at a future date when broad support of Windows hardware and firmware requirements are expected to be met. Devices that have UEFI firmware must run in "UEFI" mode.

  Verify the system firmware is configured to run in "UEFI" mode, not "Legacy BIOS".

  Run "System Information".

  Under "System Summary", if "BIOS Mode" does not display "UEFI", this is a finding.


vuln_id: V-224866
rule_id: SV-224866r958736_rule
severity: CAT II
title: Windows 2016 account lockout duration must be configured to 15 minutes or greater.
cci: CCI-002238
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The account lockout feature, when enabled, prevents brute-force password attacks on the system. This parameter specifies the period of time that an account will remain locked after the specified number of failed logon attempts.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Account Lockout Policy >> "Account lockout duration" to "15" minutes or greater.

  A value of "0" is also acceptable, requiring an administrator to unlock the account.

check_text:
  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Account Lockout Policy.

  If the "Account lockout duration" is less than "15" minutes (excluding "0"), this is a finding.

  For server core installations, run the following command:

  Secedit /Export /Areas SecurityPolicy /CFG C:\Path\FileName.Txt

  If "LockoutDuration" is less than "15" (excluding "0") in the file, this is a finding.

  Configuring this to "0", requiring an administrator to unlock the account, is more restrictive and is not a finding.


vuln_id: V-224867
rule_id: SV-224867r958388_rule
severity: CAT II
title: Windows Server 2016 must have the number of allowed bad logon attempts configured to three or less.
cci: CCI-000044
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The account lockout feature, when enabled, prevents brute-force password attacks on the system. The higher this value is, the less effective the account lockout feature will be in protecting the local system. The number of bad logon attempts must be reasonably small to minimize the possibility of a successful password attack while allowing for honest errors made during normal user logon.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Account Lockout Policy >> "Account lockout threshold" to "3" or fewer invalid logon attempts (excluding "0", which is unacceptable).

check_text:
  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Account Lockout Policy.

  If the "Account lockout threshold" is "0" or more than "3" attempts, this is a finding.

  For server core installations, run the following command:

  Secedit /Export /Areas SecurityPolicy /CFG C:\Path\FileName.Txt

  If "LockoutBadCount" equals "0" or is greater than "3" in the file, this is a finding.


vuln_id: V-224868
rule_id: SV-224868r958388_rule
severity: CAT II
cci: CCI-000044
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 must have the period of time before the bad logon counter is reset configured to 15 minutes or greater.

description:
  <VulnDiscussion>The account lockout feature, when enabled, prevents brute-force password attacks on the system. This parameter specifies the period of time that must pass after failed logon attempts before the counter is reset to "0". The smaller this value is, the less effective the account lockout feature will be in protecting the local system.

  Satisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Account Lockout Policy >> "Reset account lockout counter after" to at least "15" minutes.

check_text:
  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Account Lockout Policy.

  If the "Reset account lockout counter after" value is less than "15" minutes, this is a finding.

  For server core installations, run the following command:

  Secedit /Export /Areas SecurityPolicy /CFG C:\Path\FileName.Txt

  If "ResetLockoutCount" is less than "15" in the file, this is a finding.


vuln_id: V-224869
rule_id: SV-224869r982201_rule
severity: CAT II
title: Windows Server 2016 password history must be configured to 24 passwords remembered.
cci: CCI-000200
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>A system is more vulnerable to unauthorized access when system users recycle the same password several times without being required to change to a unique password on a regularly scheduled basis. This enables users to effectively negate the purpose of mandating periodic password changes. The default value is "24" for Windows domain systems. DoD has decided this is the appropriate value for all Windows systems.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy >> "Enforce password history" to "24" passwords remembered.

check_text:
  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy.

  If the value for "Enforce password history" is less than "24" passwords remembered, this is a finding.

  For server core installations, run the following command:

  Secedit /Export /Areas SecurityPolicy /CFG C:\Path\FileName.Txt

  If "PasswordHistorySize" is less than "24" in the file, this is a finding.


vuln_id: V-224870
rule_id: SV-224870r1038967_rule
severity: CAT II
title: Windows Server 2016 maximum password age must be configured to 60 days or less.
cci: CCI-000199
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The longer a password is in use, the greater the opportunity for someone to gain unauthorized knowledge of the passwords. Scheduled changing of passwords hinders the ability of unauthorized system users to crack passwords and gain access to a system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy >> "Maximum password age" to "60" days or less (excluding "0", which is unacceptable).

check_text:
  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy.

  If the value for the "Maximum password age" is greater than "60" days, this is a finding.

  If the value is set to "0" (never expires), this is a finding.

  For server core installations, run the following command:

  Secedit /Export /Areas SecurityPolicy /CFG C:\Path\FileName.Txt

  If "MaximumPasswordAge" is greater than "60" or equal to "0" in the file, this is a finding.


vuln_id: V-224871
rule_id: SV-224871r982188_rule
severity: CAT II
title: Windows Server 2016 minimum password age must be configured to at least one day.
cci: CCI-000198
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Permitting passwords to be changed in immediate succession within the same day allows users to cycle passwords through their history database. This enables users to effectively negate the purpose of mandating periodic password changes.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy >> "Minimum password age" to at least "1" day.

check_text:
  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy.

  If the value for the "Minimum password age" is set to "0" days ("Password can be changed immediately"), this is a finding.

  For server core installations, run the following command:

  Secedit /Export /Areas SecurityPolicy /CFG C:\Path\FileName.Txt

  If "MinimumPasswordAge" equals "0" in the file, this is a finding.


vuln_id: V-224872
rule_id: SV-224872r982202_rule
severity: CAT II
title: Windows Server 2016 minimum password length must be configured to 14 characters.
cci: CCI-000205
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Information systems not protected with strong password schemes (including passwords of minimum length) provide the opportunity for anyone to crack the password, thus gaining access to the system and compromising the device, information, or the local network.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy >> "Minimum password length" to "14" characters.

check_text:
  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy.

  If the value for the "Minimum password length," is less than "14" characters, this is a finding.

  For server core installations, run the following command:

  Secedit /Export /Areas SecurityPolicy /CFG C:\Path\FileName.Txt

  If "MinimumPasswordLength" is less than "14" in the file, this is a finding.


vuln_id: V-224873
rule_id: SV-224873r982195_rule
severity: CAT II
title: Windows Server 2016 must have the built-in Windows password complexity policy enabled.
cci: CCI-000192
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The use of complex passwords increases their strength against attack. The built-in Windows password complexity policy requires passwords to contain at least three of the four types of characters (numbers, upper- and lower-case letters, and special characters) and prevents the inclusion of user names or parts of user names.

  Satisfies: SRG-OS-000069-GPOS-00037, SRG-OS-000070-GPOS-00038, SRG-OS-000071-GPOS-00039, SRG-OS-000266-GPOS-00101</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy >> "Password must meet complexity requirements" to "Enabled".

check_text:
  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy.

  If the value for "Password must meet complexity requirements" is not set to "Enabled", this is a finding.

  For server core installations, run the following command:

  Secedit /Export /Areas SecurityPolicy /CFG C:\Path\FileName.Txt

  If "PasswordComplexity" equals "0" in the file, this is a finding.

  Note: If an external password filter is in use that enforces all four character types and requires this setting to be set to "Disabled", this would not be considered a finding. If this setting does not affect the use of an external password filter, it must be enabled for fallback purposes.


vuln_id: V-224874
rule_id: SV-224874r982199_rule
severity: CAT I
title: Windows Server 2016 reversible password encryption must be disabled.
cci: CCI-000196
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Storing passwords using reversible encryption is essentially the same as storing clear-text versions of the passwords, which are easily compromised. For this reason, this policy must never be enabled.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy >> "Store passwords using reversible encryption" to "Disabled".

check_text:
  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy.

  If the value for "Store passwords using reversible encryption" is not set to "Disabled", this is a finding.

  For server core installations, run the following command:

  Secedit /Export /Areas SecurityPolicy /CFG C:\Path\FileName.Txt

  If "ClearTextPassword" equals "1" in the file, this is a finding.


vuln_id: V-224875
rule_id: SV-224875r958754_rule
severity: CAT II
title: Audit records must be backed up to a different system or media than the system being audited.
cci: CCI-001851
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Protection of log data includes assuring the log data is not accidentally lost or deleted. Audit information stored in one location is vulnerable to accidental or incidental deletion or alteration.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Establish and implement a process for backing up log data to another system or media other than the system being audited.

check_text:
  Determine if a process to back up log data to a different system or media than the system being audited has been implemented.

  If it has not, this is a finding.


vuln_id: V-224876
rule_id: SV-224876r959008_rule
severity: CAT II
cci: CCI-001851
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 must, at a minimum, offload audit records of interconnected systems in real time and offload standalone or nondomain-joined systems weekly.

description:
  <VulnDiscussion>Protection of log data includes ensuring the log data is not accidentally lost or deleted. Audit information stored in one location is vulnerable to accidental or incidental deletion or alteration.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the system to, at a minimum, offload audit records of interconnected systems in real time and offload standalone or nondomain-joined systems weekly.

check_text:
  Verify the audit records, at a minimum, are offloaded for interconnected systems in real time and offloaded for standalone or nondomain-joined systems weekly. 

  If they are not, this is a finding.


vuln_id: V-224877
rule_id: SV-224877r958434_rule
severity: CAT II
title: Permissions for the Application event log must prevent access by non-privileged accounts.
cci: CCI-000162
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. The Application event log may be susceptible to tampering if proper permissions are not applied.

  Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the permissions on the Application event log file (Application.evtx) to prevent access by non-privileged accounts. The default permissions listed below satisfy this requirement:

  Eventlog - Full Control
  SYSTEM - Full Control
  Administrators - Full Control

  The default location is the "%SystemRoot%\ System32\winevt\Logs" folder.

  If the location of the logs has been changed, when adding Eventlog to the permissions, it must be entered as "NT Service\Eventlog".

check_text:
  Navigate to the Application event log file.

  The default location is the "%SystemRoot%\System32\winevt\Logs" folder. However, the logs may have been moved to another folder.

  If the permissions for the "Application.evtx" file are not as restrictive as the default permissions listed below, this is a finding.

  Eventlog - Full Control
  SYSTEM - Full Control
  Administrators - Full Control


vuln_id: V-224878
rule_id: SV-224878r958434_rule
severity: CAT II
title: Permissions for the Security event log must prevent access by non-privileged accounts.
cci: CCI-000162
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. The Security event log may disclose sensitive information or be susceptible to tampering if proper permissions are not applied.

  Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the permissions on the Security event log file (Security.evtx) to prevent access by non-privileged accounts. The default permissions listed below satisfy this requirement:

  Eventlog - Full Control
  SYSTEM - Full Control
  Administrators - Full Control

  The default location is the "%SystemRoot%\ System32\winevt\Logs" folder.

  If the location of the logs has been changed, when adding Eventlog to the permissions, it must be entered as "NT Service\Eventlog".

check_text:
  Navigate to the Security event log file.

  The default location is the "%SystemRoot%\System32\winevt\Logs" folder. However, the logs may have been moved to another folder.

  If the permissions for the "Security.evtx" file are not as restrictive as the default permissions listed below, this is a finding.

  Eventlog - Full Control
  SYSTEM - Full Control
  Administrators - Full Control


vuln_id: V-224879
rule_id: SV-224879r958434_rule
severity: CAT II
title: Permissions for the System event log must prevent access by non-privileged accounts.
cci: CCI-000162
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. The System event log may be susceptible to tampering if proper permissions are not applied.

  Satisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the permissions on the System event log file (System.evtx) to prevent access by non-privileged accounts. The default permissions listed below satisfy this requirement:

  Eventlog - Full Control
  SYSTEM - Full Control
  Administrators - Full Control

  The default location is the "%SystemRoot%\ System32\winevt\Logs" folder.

  If the location of the logs has been changed, when adding Eventlog to the permissions, it must be entered as "NT Service\Eventlog".

check_text:
  Navigate to the System event log file.

  The default location is the "%SystemRoot%\System32\winevt\Logs" folder. However, the logs may have been moved to another folder.

  If the permissions for the "System.evtx" file are not as restrictive as the default permissions listed below, this is a finding.

  Eventlog - Full Control
  SYSTEM - Full Control
  Administrators - Full Control


vuln_id: V-224880
rule_id: SV-224880r991558_rule
severity: CAT II
title: Event Viewer must be protected from unauthorized modification and deletion.
cci: CCI-001494
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information.

  Operating systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools and the corresponding rights the user enjoys in order to make access decisions regarding the modification or deletion of audit tools.

  Satisfies: SRG-OS-000257-GPOS-00098, SRG-OS-000258-GPOS-00099</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the permissions on the "Eventvwr.exe" file to prevent modification by any groups or accounts other than TrustedInstaller. The default permissions listed below satisfy this requirement:

  TrustedInstaller - Full Control
  Administrators, SYSTEM, Users, ALL APPLICATION PACKAGES, ALL RESTRICTED APPLICATION PACKAGES - Read & Execute

  The default location is the "%SystemRoot%\ System32" folder.

check_text:
  Navigate to "%SystemRoot%\System32".

  View the permissions on "Eventvwr.exe".

  If any groups or accounts other than TrustedInstaller have "Full control" or "Modify" permissions, this is a finding.

  The default permissions below satisfy this requirement:

  TrustedInstaller - Full Control
  Administrators, SYSTEM, Users, ALL APPLICATION PACKAGES, ALL RESTRICTED APPLICATION PACKAGES - Read & Execute


vuln_id: V-224881
rule_id: SV-224881r991578_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Account Logon - Credential Validation successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Credential Validation records events related to validation tests on credentials for a user account logon.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Account Logon >> "Audit Credential Validation" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Account Logon >> Credential Validation - Success


vuln_id: V-224882
rule_id: SV-224882r991578_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Account Logon - Credential Validation failures.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Credential Validation records events related to validation tests on credentials for a user account logon.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Account Logon >> "Audit Credential Validation" with "Failure" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Account Logon >> Credential Validation - Failure


vuln_id: V-224883
rule_id: SV-224883r958732_rule
severity: CAT II
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 must be configured to audit Account Management - Other Account Management Events successes.

description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Other Account Management Events records events such as the access of a password hash or the Password Policy Checking API being called.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000064-GPOS-00033, SRG-OS-000462-GPOS-00206, SRG-OS-000466-GPOS-00210</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Account Management >> "Audit Other Account Management Events" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Account Management >> Other Account Management Events - Success


vuln_id: V-224884
rule_id: SV-224884r958368_rule
severity: CAT II
cci: CCI-000018
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 must be configured to audit Account Management - Security Group Management successes.

description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Security Group Management records events such as creating, deleting, or changing security groups, including changes in group members.

  Satisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000476-GPOS-00221</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Account Management >> "Audit Security Group Management" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Account Management >> Security Group Management - Success


vuln_id: V-224885
rule_id: SV-224885r958368_rule
severity: CAT II
cci: CCI-000018
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 must be configured to audit Account Management - User Account Management successes.

description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  User Account Management records events such as creating, changing, deleting, renaming, disabling, or enabling user accounts.

  Satisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000476-GPOS-00221</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Account Management >> "Audit User Account Management" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Account Management >> User Account Management - Success


vuln_id: V-224886
rule_id: SV-224886r958368_rule
severity: CAT II
cci: CCI-000018
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 must be configured to audit Account Management - User Account Management failures.

description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  User Account Management records events such as creating, changing, deleting, renaming, disabling, or enabling user accounts.

  Satisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000476-GPOS-00221</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Account Management >> "Audit User Account Management" with "Failure" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Account Management >> User Account Management - Failure


vuln_id: V-224887
rule_id: SV-224887r991583_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Detailed Tracking - Plug and Play Events successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Plug and Play activity records events related to the successful connection of external devices.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Detailed Tracking >> "Audit PNP Activity" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*"

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Detailed Tracking >> Plug and Play Events - Success


vuln_id: V-224888
rule_id: SV-224888r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Detailed Tracking - Process Creation successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Process Creation records events related to the creation of a process and the source.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000471-GPOS-00215</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Detailed Tracking >> "Audit Process Creation" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Detailed Tracking >> Process Creation - Success


vuln_id: V-224890
rule_id: SV-224890r991552_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Logon/Logoff - Account Lockout failures.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Account Lockout events can be used to identify potentially malicious logon attempts.

  Satisfies: SRG-OS-000240-GPOS-00090, SRG-OS-000470-GPOS-00214</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Logon/Logoff >> "Audit Account Lockout" with "Failure" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*"

  Compare the AuditPol settings with the following. If the system does not audit the following, this is a finding.

  Logon/Logoff >> Account Lockout - Failure


vuln_id: V-224891
rule_id: SV-224891r991578_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Logon/Logoff - Group Membership successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Audit Group Membership records information related to the group membership of a user's logon token.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Logon/Logoff >> "Audit Group Membership" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*"

  Compare the AuditPol settings with the following. 

  If the system does not audit the following, this is a finding.

  Logon/Logoff >> Group Membership - Success


vuln_id: V-224892
rule_id: SV-224892r958406_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Logon/Logoff - Logoff successes.
cci: CCI-000067
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Logoff records user logoffs. If this is an interactive logoff, it is recorded on the local system. If it is to a network share, it is recorded on the system accessed.

  Satisfies: SRG-OS-000032-GPOS-00013, SRG-OS-000470-GPOS-00214, SRG-OS-000472-GPOS-00217, SRG-OS-000473-GPOS-00218, SRG-OS-000475-GPOS-00220</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Logon/Logoff >> "Audit Logoff" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Logon/Logoff >> Logoff - Success


vuln_id: V-224893
rule_id: SV-224893r958406_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Logon/Logoff - Logon successes.
cci: CCI-000067
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Logon records user logons. If this is an interactive logon, it is recorded on the local system. If it is to a network share, it is recorded on the system accessed.

  Satisfies: SRG-OS-000032-GPOS-00013, SRG-OS-000470-GPOS-00214, SRG-OS-000472-GPOS-00217, SRG-OS-000473-GPOS-00218, SRG-OS-000475-GPOS-00220</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Logon/Logoff >> "Audit Logon" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Logon/Logoff >> Logon - Success


vuln_id: V-224894
rule_id: SV-224894r958406_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Logon/Logoff - Logon failures.
cci: CCI-000067
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Logon records user logons. If this is an interactive logon, it is recorded on the local system. If it is to a network share, it is recorded on the system accessed.

  Satisfies: SRG-OS-000032-GPOS-00013, SRG-OS-000470-GPOS-00214, SRG-OS-000472-GPOS-00217, SRG-OS-000473-GPOS-00218, SRG-OS-000475-GPOS-00220</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Logon/Logoff >> "Audit Logon" with "Failure" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Logon/Logoff >> Logon - Failure


vuln_id: V-224895
rule_id: SV-224895r991578_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Logon/Logoff - Special Logon successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Special Logon records special logons that have administrative privileges and can be used to elevate processes.

  Satisfies: SRG-OS-000470-GPOS-00214, SRG-OS-000472-GPOS-00217, SRG-OS-000473-GPOS-00218, SRG-OS-000475-GPOS-00220</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Logon/Logoff >> "Audit Special Logon" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Logon/Logoff >> Special Logon - Success


vuln_id: V-224896
rule_id: SV-224896r991578_rule
severity: CAT II
title: Windows 2016 must be configured to audit Object Access - Other Object Access Events successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Auditing for other object access records events related to the management of task scheduler jobs and COM+ objects.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Object Access >> "Audit Other Object Access Events" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective.

  Use the "AuditPol" tool to review the current Audit Policy configuration:

  Open "PowerShell" or a "Command Prompt" with elevated privileges ("Run as Administrator").

  Enter "AuditPol /get /category:*"

  Compare the "AuditPol" settings with the following:

  If the system does not audit the following, this is a finding.

  Object Access >> Other Object Access Events - Success


vuln_id: V-224897
rule_id: SV-224897r991578_rule
severity: CAT II
title: Windows 2016 must be configured to audit Object Access - Other Object Access Events failures.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Auditing for other object access records events related to the management of task scheduler jobs and COM+ objects.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Object Access >> "Audit Other Object Access Events" with "Failure" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective.

  Use the "AuditPol" tool to review the current Audit Policy configuration:

  Open "PowerShell" or a "Command Prompt" with elevated privileges ("Run as Administrator").

  Enter "AuditPol /get /category:*"

  Compare the "AuditPol" settings with the following:

  If the system does not audit the following, this is a finding.

  Object Access >> Other Object Access Events - Failure


vuln_id: V-224898
rule_id: SV-224898r991583_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Object Access - Removable Storage successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Removable Storage auditing under Object Access records events related to access attempts on file system objects on removable storage devices.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Object Access >> "Audit Removable Storage" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Object Access >> Removable Storage - Success

  Virtual machines or systems that use network attached storage may generate excessive audit events for secondary virtual drives or the network attached storage when this setting is enabled. This may be set to Not Configured in such cases and would not be a finding.


vuln_id: V-224899
rule_id: SV-224899r991583_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Object Access - Removable Storage failures.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Removable Storage auditing under Object Access records events related to access attempts on file system objects on removable storage devices.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Object Access >> "Audit Removable Storage" with "Failure" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Object Access >> Removable Storage - Failure

  Virtual machines or systems that use network attached storage may generate excessive audit events for secondary virtual drives or the network attached storage when this setting is enabled. This may be set to Not Configured in such cases and would not be a finding.


vuln_id: V-224900
rule_id: SV-224900r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Policy Change - Audit Policy Change successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Audit Policy Change records events related to changes in audit policy.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Policy Change >> "Audit Audit Policy Change" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Policy Change >> Audit Policy Change - Success


vuln_id: V-224901
rule_id: SV-224901r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Policy Change - Audit Policy Change failures.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Audit Policy Change records events related to changes in audit policy.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Policy Change >> "Audit Audit Policy Change" with "Failure" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Policy Change >> Audit Policy Change - Failure


vuln_id: V-224902
rule_id: SV-224902r958732_rule
severity: CAT II
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 must be configured to audit Policy Change - Authentication Policy Change successes.

description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Authentication Policy Change records events related to changes in authentication policy, including Kerberos policy and Trust changes.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000064-GPOS-00033, SRG-OS-000462-GPOS-00206, SRG-OS-000466-GPOS-00210</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Policy Change >> "Audit Authentication Policy Change" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Policy Change >> Authentication Policy Change - Success


vuln_id: V-224903
rule_id: SV-224903r958732_rule
severity: CAT II
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 must be configured to audit Policy Change - Authorization Policy Change successes.

description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Authorization Policy Change records events related to changes in user rights, such as "Create a token object".

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000064-GPOS-00033, SRG-OS-000462-GPOS-00206, SRG-OS-000466-GPOS-00210</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Policy Change >> "Audit Authorization Policy Change" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Policy Change >> Authorization Policy Change - Success


vuln_id: V-224904
rule_id: SV-224904r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Privilege Use - Sensitive Privilege Use successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Sensitive Privilege Use records events related to use of sensitive privileges, such as "Act as part of the operating system" or "Debug programs".

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000064-GPOS-00033, SRG-OS-000462-GPOS-00206, SRG-OS-000466-GPOS-00210</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Privilege Use >> "Audit Sensitive Privilege Use" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Privilege Use >> Sensitive Privilege Use - Success


vuln_id: V-224905
rule_id: SV-224905r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit Privilege Use - Sensitive Privilege Use failures.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Sensitive Privilege Use records events related to use of sensitive privileges, such as "Act as part of the operating system" or "Debug programs".

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000064-GPOS-00033, SRG-OS-000462-GPOS-00206, SRG-OS-000466-GPOS-00210</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Privilege Use >> "Audit Sensitive Privilege Use" with "Failure" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Privilege Use >> Sensitive Privilege Use - Failure


vuln_id: V-224906
rule_id: SV-224906r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit System - IPsec Driver successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  IPsec Driver records events related to the IPsec Driver, such as dropped packets.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> System >> "Audit IPsec Driver" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  System >> IPsec Driver - Success


vuln_id: V-224907
rule_id: SV-224907r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit System - IPsec Driver failures.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  IPsec Driver records events related to the IPsec Driver, such as dropped packets.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> System >> "Audit IPsec Driver" with "Failure" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  System >> IPsec Driver - Failure


vuln_id: V-224908
rule_id: SV-224908r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit System - Other System Events successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Audit Other System Events records information related to cryptographic key operations and the Windows Firewall service.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> System >> "Audit Other System Events" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*"

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  System >> Other System Events - Success


vuln_id: V-224909
rule_id: SV-224909r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit System - Other System Events failures.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Audit Other System Events records information related to cryptographic key operations and the Windows Firewall service.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> System >> "Audit Other System Events" with "Failure" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following. 

  If the system does not audit the following, this is a finding.

  System >> Other System Events - Failure


vuln_id: V-224910
rule_id: SV-224910r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit System - Security State Change successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Security State Change records events related to changes in the security state, such as startup and shutdown of the system.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> System >> "Audit Security State Change" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  System >> Security State Change - Success


vuln_id: V-224911
rule_id: SV-224911r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit System - Security System Extension successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Security System Extension records events related to extension code being loaded by the security subsystem.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> System >> "Audit Security System Extension" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  System >> Security System Extension - Success


vuln_id: V-224912
rule_id: SV-224912r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit System - System Integrity successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  System Integrity records events related to violations of integrity to the security subsystem.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000471-GPOS-00215, SRG-OS-000471-GPOS-00216, SRG-OS-000477-GPOS-00222</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> System >> "Audit System Integrity" with "Success" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  System >> System Integrity - Success


vuln_id: V-224913
rule_id: SV-224913r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit System - System Integrity failures.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  System Integrity records events related to violations of integrity to the security subsystem.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000471-GPOS-00215, SRG-OS-000471-GPOS-00216, SRG-OS-000477-GPOS-00222</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> System >> "Audit System Integrity" with "Failure" selected.

check_text:
  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  System >> System Integrity - Failure


vuln_id: V-224914
rule_id: SV-224914r958478_rule
severity: CAT II
title: The display of slide shows on the lock screen must be disabled.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Slide shows that are displayed on the lock screen could display sensitive information to unauthorized personnel. Turning off this feature will limit access to the information to a logged-on user.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Control Panel >> Personalization >> "Prevent enabling lock screen slide show" to "Enabled".

check_text:
  Verify the registry value below. 

  If it does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE 
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\Personalization\

  Value Name: NoLockScreenSlideshow

  Value Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224915
rule_id: SV-224915r958478_rule
severity: CAT II
title: WDigest Authentication must be disabled on Windows Server 2016.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>When the WDigest Authentication protocol is enabled, plain-text passwords are stored in the Local Security Authority Subsystem Service (LSASS), exposing them to theft. WDigest is disabled by default in Windows Server 2016. This setting ensures this is enforced.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> MS Security Guide >> "WDigest Authentication (disabling may require KB2871997)" to "Disabled".

  This policy setting requires the installation of the SecGuide custom templates included with the STIG package. "SecGuide.admx" and " SecGuide.adml" must be copied to the \Windows\PolicyDefinitions and \Windows\PolicyDefinitions\en-US directories respectively.

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive:  HKEY_LOCAL_MACHINE
  Registry Path:  \SYSTEM\CurrentControlSet\Control\SecurityProviders\Wdigest\

  Value Name:  UseLogonCredential

  Type:  REG_DWORD
  Value:  0x00000000 (0)


vuln_id: V-224916
rule_id: SV-224916r991589_rule
severity: CAT III
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Internet Protocol version 6 (IPv6) source routing must be configured to the highest protection level to prevent IP source routing.

description:
  <VulnDiscussion>Configuring the system to disable IPv6 source routing protects against spoofing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> MSS (Legacy) >> "MSS: (DisableIPSourceRouting IPv6) IP source routing protection level (protects against packet spoofing)" to "Enabled" with "Highest protection, source routing is completely disabled" selected.

  This policy setting requires the installation of the MSS-Legacy custom templates included with the STIG package. "MSS-Legacy.admx" and "MSS-Legacy.adml" must be copied to the \Windows\PolicyDefinitions and \Windows\PolicyDefinitions\en-US directories respectively.

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\

  Value Name: DisableIPSourceRouting

  Type: REG_DWORD
  Value: 0x00000002 (2)


vuln_id: V-224917
rule_id: SV-224917r991589_rule
severity: CAT III
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Source routing must be configured to the highest protection level to prevent Internet Protocol (IP) source routing.

description:
  <VulnDiscussion>Configuring the system to disable IP source routing protects against spoofing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> MSS (Legacy) >> "MSS: (DisableIPSourceRouting) IP source routing protection level (protects against packet spoofing)" to "Enabled" with "Highest protection, source routing is completely disabled" selected.

  This policy setting requires the installation of the MSS-Legacy custom templates included with the STIG package. "MSS-Legacy.admx" and "MSS-Legacy.adml" must be copied to the \Windows\PolicyDefinitions and \Windows\PolicyDefinitions\en-US directories respectively.

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE 
  Registry Path: \SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\

  Value Name: DisableIPSourceRouting

  Value Type: REG_DWORD
  Value: 0x00000002 (2)


vuln_id: V-224918
rule_id: SV-224918r991589_rule
severity: CAT III
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 must be configured to prevent Internet Control Message Protocol (ICMP) redirects from overriding Open Shortest Path First (OSPF)-generated routes.

description:
  <VulnDiscussion>Allowing ICMP redirect of routes can lead to traffic not being routed properly. When disabled, this forces ICMP to be routed via the shortest path first.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> MSS (Legacy) >> "MSS: (EnableICMPRedirect) Allow ICMP redirects to override OSPF generated routes" to "Disabled".

  This policy setting requires the installation of the MSS-Legacy custom templates included with the STIG package. "MSS-Legacy.admx" and "MSS-Legacy.adml" must be copied to the \Windows\PolicyDefinitions and \Windows\PolicyDefinitions\en-US directories respectively.

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE 
  Registry Path: \SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\

  Value Name: EnableICMPRedirect

  Value Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224919
rule_id: SV-224919r958902_rule
severity: CAT III
cci: CCI-002385
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 must be configured to ignore NetBIOS name release requests except from WINS servers.

description:
  <VulnDiscussion>Configuring the system to ignore name release requests, except from WINS servers, prevents a denial of service (DoS) attack. The DoS consists of sending a NetBIOS name release request to the server for each entry in the server's cache, causing a response delay in the normal operation of the server's WINS resolution capability.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> MSS (Legacy) >> "MSS: (NoNameReleaseOnDemand) Allow the computer to ignore NetBIOS name release requests except from WINS servers" to "Enabled".

  This policy setting requires the installation of the MSS-Legacy custom templates included with the STIG package. "MSS-Legacy.admx" and "MSS-Legacy.adml" must be copied to the \Windows\PolicyDefinitions and \Windows\PolicyDefinitions\en-US directories respectively.

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive:  HKEY_LOCAL_MACHINE
  Registry Path:  \SYSTEM\CurrentControlSet\Services\Netbt\Parameters\

  Value Name:  NoNameReleaseOnDemand

  Value Type:  REG_DWORD
  Value:  0x00000001 (1)


vuln_id: V-224920
rule_id: SV-224920r991589_rule
severity: CAT II
title: Insecure logons to an SMB server must be disabled.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Insecure guest logons allow unauthenticated access to shared folders. Shared resources on a system must require authentication to establish proper access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Network >> Lanman Workstation >> "Enable insecure guest logons" to "Disabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\LanmanWorkstation\

  Value Name: AllowInsecureGuestAuth

  Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224921
rule_id: SV-224921r991589_rule
severity: CAT II
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Hardened UNC paths must be defined to require mutual authentication and integrity for at least the \\*\SYSVOL and \\*\NETLOGON shares.

description:
  <VulnDiscussion>Additional security requirements are applied to Universal Naming Convention (UNC) paths specified in hardened UNC paths before allowing access to them. This aids in preventing tampering with or spoofing of connections to these paths.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Network >> Network Provider >> "Hardened UNC Paths" to "Enabled" with at least the following configured in "Hardened UNC Paths": (click the "Show" button to display)

  Value Name: \\*\SYSVOL
  Value: RequireMutualAuthentication=1, RequireIntegrity=1

  Value Name: \\*\NETLOGON
  Value: RequireMutualAuthentication=1, RequireIntegrity=1

check_text:
  This requirement is applicable to domain-joined systems. For standalone or nondomain-joined systems, this is NA.

  If the following registry values do not exist or are not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths\

  Value Name: \\*\NETLOGON
  Value Type: REG_SZ
  Value: RequireMutualAuthentication=1, RequireIntegrity=1

  Value Name: \\*\SYSVOL
  Value Type: REG_SZ
  Value: RequireMutualAuthentication=1, RequireIntegrity=1

  Additional entries would not be a finding.


vuln_id: V-224922
rule_id: SV-224922r958422_rule
severity: CAT II
title: Command line data must be included in process creation events.
cci: CCI-000135
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Enabling "Include command line data for process creation events" will record the command line information with the process creation events in the log. This can provide additional detail when malware has run on a system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Audit Process Creation >> "Include command line in process creation events" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE 
  Registry Path: \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Audit\

  Value Name: ProcessCreationIncludeCmdLine_Enabled

  Value Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224923
rule_id: SV-224923r991589_rule
severity: CAT II
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 virtualization-based security must be enabled with the platform security level configured to Secure Boot or Secure Boot with DMA Protection.

description:
  <VulnDiscussion>Virtualization-based security (VBS) provides the platform for the additional security features Credential Guard and virtualization-based protection of code integrity. Secure Boot is the minimum security level, with DMA protection providing additional memory protection. DMA Protection requires a CPU that supports input/output memory management unit (IOMMU).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Device Guard >> "Turn On Virtualization Based Security" to "Enabled" with "Secure Boot" or "Secure Boot and DMA Protection" selected.

  A Microsoft TechNet article on Credential Guard, including system requirement details, can be found at the following link:

  https://technet.microsoft.com/itpro/windows/keep-secure/credential-guard

check_text:
  For standalone or nondomain-joined systems, this is NA.

  Open "PowerShell" with elevated privileges (run as administrator).

  Enter the following:

  "Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard"

  If "RequiredSecurityProperties" does not include a value of "2" indicating "Secure Boot" (e.g., "{1, 2}"), this is a finding.

  If "Secure Boot and DMA Protection" is configured, "3" will also be displayed in the results (e.g., "{1, 2, 3}").

  If "VirtualizationBasedSecurityStatus" is not a value of "2" indicating "Running", this is a finding.

  Alternately:

  Run "System Information".

  Under "System Summary", verify the following:

  If "Device Guard Virtualization based security" does not display "Running", this is a finding.

  If "Device Guard Required Security Properties" does not display "Base Virtualization Support, Secure Boot", this is a finding.

  If "Secure Boot and DMA Protection" is configured, "DMA Protection" will also be displayed (e.g., "Base Virtualization Support, Secure Boot, DMA Protection").

  The policy settings referenced in the Fix section will configure the following registry values. However, due to hardware requirements, the registry values alone do not ensure proper function.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\DeviceGuard\

  Value Name: EnableVirtualizationBasedSecurity
  Value Type: REG_DWORD
  Value: 0x00000001 (1)

  Value Name: RequirePlatformSecurityFeatures
  Value Type: REG_DWORD
  Value: 0x00000001 (1) (Secure Boot only) or 0x00000003 (3) (Secure Boot and DMA Protection)

  A Microsoft TechNet article on Credential Guard, including system requirement details, can be found at the following link:

  https://technet.microsoft.com/itpro/windows/keep-secure/credential-guard


vuln_id: V-224924
rule_id: SV-224924r991589_rule
severity: CAT II
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Early Launch Antimalware, Boot-Start Driver Initialization Policy must prevent boot drivers identified as bad.

description:
  <VulnDiscussion>Compromised boot drivers can introduce malware prior to protection mechanisms that load after initialization. The Early Launch Antimalware driver can limit allowed drivers based on classifications determined by the malware protection application. At a minimum, drivers determined to be bad must not be allowed.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  The default behavior is for Early Launch Antimalware - Boot-Start Driver Initialization policy to enforce "Good, unknown and bad but critical" (preventing "bad").

  If this needs to be corrected or a more secure setting is desired, configure the policy value for Computer Configuration >> Administrative Templates >> System >> Early Launch Antimalware >> "Boot-Start Driver Initialization Policy" to "Not Configured" or "Enabled" with any option other than "All" selected.

check_text:
  The default behavior is for Early Launch Antimalware - Boot-Start Driver Initialization policy to enforce "Good, unknown and bad but critical" (preventing "bad").

  If the registry value name below does not exist, this is not a finding.

  If it exists and is configured with a value of "0x00000007 (7)", this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SYSTEM\CurrentControlSet\Policies\EarlyLaunch\

  Value Name: DriverLoadPolicy

  Value Type: REG_DWORD
  Value: 0x00000001 (1), 0x00000003 (3), or 0x00000008 (8) (or if the Value Name does not exist)

  Possible values for this setting are:
  8 - Good only
  1 - Good and unknown
  3 - Good, unknown and bad but critical
  7 - All (which includes "bad" and would be a finding)


vuln_id: V-224925
rule_id: SV-224925r991589_rule
severity: CAT II
title: Group Policy objects must be reprocessed even if they have not changed.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Registry entries for group policy settings can potentially be changed from the required configuration. This could occur as part of troubleshooting or by a malicious process on a compromised system. Enabling this setting and then selecting the "Process even if the Group Policy objects have not changed" option ensures the policies will be reprocessed even if none have been changed. This way, any unauthorized changes are forced to match the domain-based group policy settings again.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Group Policy >> "Configure registry policy processing" to "Enabled" with the option "Process even if the Group Policy objects have not changed" selected.

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\Group Policy\{35378EAC-683F-11D2-A89A-00C04FBBCFA2}\

  Value Name: NoGPOListChanges

  Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224926
rule_id: SV-224926r958478_rule
severity: CAT II
title: Downloading print driver packages over HTTP must be prevented.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Some features may communicate with the vendor, sending system information or downloading data or components for the feature. Turning off this capability will prevent potentially sensitive information from being sent outside the enterprise and will prevent uncontrolled updates to the system. 

  This setting prevents the computer from downloading print driver packages over HTTP.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Internet Communication Management >> Internet Communication settings >> "Turn off downloading of print drivers over HTTP" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows NT\Printers\

  Value Name: DisableWebPnPDownload

  Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224927
rule_id: SV-224927r958478_rule
severity: CAT II
title: Printing over HTTP must be prevented.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Some features may communicate with the vendor, sending system information or downloading data or components for the feature. Turning off this capability will prevent potentially sensitive information from being sent outside the enterprise and will prevent uncontrolled updates to the system.

  This setting prevents the client computer from printing over HTTP, which allows the computer to print to printers on the intranet as well as the Internet.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Internet Communication Management >> Internet Communication settings >> "Turn off printing over HTTP" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows NT\Printers\

  Value Name: DisableHTTPPrinting

  Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224928
rule_id: SV-224928r958478_rule
severity: CAT II
title: The network selection user interface (UI) must not be displayed on the logon screen.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Enabling interaction with the network selection UI allows users to change connections to available networks without signing in to Windows.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Logon >> "Do not display network selection UI" to "Enabled".

check_text:
  Verify the registry value below. If it does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE 
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\System\

  Value Name: DontDisplayNetworkSelectionUI

  Value Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224929
rule_id: SV-224929r991589_rule
severity: CAT II
title: Users must be prompted to authenticate when the system wakes from sleep (on battery).
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>A system that does not require authentication when resuming from sleep may provide access to unauthorized users. Authentication must always be required when accessing a system. This setting ensures users are prompted for a password when the system wakes from sleep (on battery).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Power Management >> Sleep Settings >> "Require a password when a computer wakes (on battery)" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Power\PowerSettings\0e796bdb-100d-47d6-a2d5-f7d2daa51f51\

  Value Name: DCSettingIndex

  Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224930
rule_id: SV-224930r991589_rule
severity: CAT II
title: Users must be prompted to authenticate when the system wakes from sleep (plugged in).
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>A system that does not require authentication when resuming from sleep may provide access to unauthorized users. Authentication must always be required when accessing a system. This setting ensures users are prompted for a password when the system wakes from sleep (plugged in).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Power Management >> Sleep Settings >> "Require a password when a computer wakes (plugged in)" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Power\PowerSettings\0e796bdb-100d-47d6-a2d5-f7d2daa51f51\

  Value Name: ACSettingIndex

  Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224931
rule_id: SV-224931r958478_rule
severity: CAT III
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The Application Compatibility Program Inventory must be prevented from collecting data and sending the information to Microsoft.

description:
  <VulnDiscussion>Some features may communicate with the vendor, sending system information or downloading data or components for the feature. Turning off this capability will prevent potentially sensitive information from being sent outside the enterprise and will prevent uncontrolled updates to the system.

  This setting will prevent the Program Inventory from collecting data about a system and sending the information to Microsoft.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Application Compatibility >> "Turn off Inventory Collector" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\AppCompat\

  Value Name: DisableInventory

  Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224932
rule_id: SV-224932r958804_rule
severity: CAT I
title: AutoPlay must be turned off for non-volume devices.
cci: CCI-001764
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Allowing AutoPlay to execute may introduce malicious code to a system. AutoPlay begins reading from a drive as soon as media is inserted into the drive. As a result, the setup file of programs or music on audio media may start. This setting will disable AutoPlay for non-volume devices, such as Media Transfer Protocol (MTP) devices.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> AutoPlay Policies >> "Disallow Autoplay for non-volume devices" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\Explorer\

  Value Name: NoAutoplayfornonVolume

  Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224933
rule_id: SV-224933r958804_rule
severity: CAT I
title: The default AutoRun behavior must be configured to prevent AutoRun commands.
cci: CCI-001764
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Allowing AutoRun commands to execute may introduce malicious code to a system. Configuring this setting prevents AutoRun commands from executing.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> AutoPlay Policies >> "Set the default behavior for AutoRun" to "Enabled" with "Do not execute any autorun commands" selected.

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\

  Value Name: NoAutorun

  Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224934
rule_id: SV-224934r958804_rule
severity: CAT I
title: AutoPlay must be disabled for all drives.
cci: CCI-001764
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Allowing AutoPlay to execute may introduce malicious code to a system. AutoPlay begins reading from a drive as soon media is inserted into the drive. As a result, the setup file of programs or music on audio media may start. By default, AutoPlay is disabled on removable drives, such as the floppy disk drive (but not the CD-ROM drive) and on network drives. Enabling this policy disables AutoPlay on all drives.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> AutoPlay Policies >> "Turn off AutoPlay" to "Enabled" with "All Drives" selected.

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path:  \SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\

  Value Name: NoDriveTypeAutoRun

  Type: REG_DWORD
  Value: 0x000000ff (255)


vuln_id: V-224935
rule_id: SV-224935r958518_rule
severity: CAT II
title: Administrator accounts must not be enumerated during elevation.
cci: CCI-001084
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Enumeration of administrator accounts when elevating can provide part of the logon information to an unauthorized user. This setting configures the system to always require users to type in a username and password to elevate a running application.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Credential User Interface >> "Enumerate administrator accounts on elevation" to "Disabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\CredUI\

  Value Name: EnumerateAdministrators

  Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224936
rule_id: SV-224936r991589_rule
severity: CAT II
title: Windows Telemetry must be configured to Security or Basic.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Some features may communicate with the vendor, sending system information or downloading data or components for the feature. Limiting this capability will prevent potentially sensitive information from being sent outside the enterprise. The "Security" option for Telemetry configures the lowest amount of data, effectively none outside of the Malicious Software Removal Tool (MSRT), Defender, and telemetry client settings. "Basic" sends basic diagnostic and usage data and may be required to support some Microsoft services.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Data Collection and Preview Builds>> "Allow Telemetry" to "Enabled" with "0 - Security [Enterprise Only]" or "1 - Basic" selected in "Options".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\DataCollection\

  Value Name: AllowTelemetry

  Type: REG_DWORD
  Value: 0x00000000 (0) (Security), 0x00000001 (1) (Basic)


vuln_id: V-224937
rule_id: SV-224937r958752_rule
severity: CAT II
title: The Application event log size must be configured to 32768 KB or greater.
cci: CCI-001849
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Inadequate log size will cause the log to fill up quickly. This may prevent audit events from being recorded properly and require frequent attention by administrative personnel.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Event Log Service >> Application >> "Specify the maximum log file size (KB)" to "Enabled" with a "Maximum Log Size (KB)" of "32768" or greater.

check_text:
  If the system is configured to write events directly to an audit server, this is NA.

  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\EventLog\Application\

  Value Name: MaxSize

  Type: REG_DWORD
  Value: 0x00008000 (32768) (or greater)


vuln_id: V-224938
rule_id: SV-224938r958752_rule
severity: CAT II
title: The Security event log size must be configured to 196608 KB or greater.
cci: CCI-001849
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Inadequate log size will cause the log to fill up quickly. This may prevent audit events from being recorded properly and require frequent attention by administrative personnel.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Event Log Service >> Security >> "Specify the maximum log file size (KB)" to "Enabled" with a "Maximum Log Size (KB)" of "196608" or greater.

check_text:
  If the system is configured to write events directly to an audit server, this is NA.

  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\EventLog\Security\

  Value Name: MaxSize

  Type: REG_DWORD
  Value: 0x00030000 (196608) (or greater)


vuln_id: V-224939
rule_id: SV-224939r958752_rule
severity: CAT II
title: The System event log size must be configured to 32768 KB or greater.
cci: CCI-001849
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Inadequate log size will cause the log to fill up quickly. This may prevent audit events from being recorded properly and require frequent attention by administrative personnel.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Event Log Service >> System >> "Specify the maximum log file size (KB)" to "Enabled" with a "Maximum Log Size (KB)" of "32768" or greater.

check_text:
  If the system is configured to write events directly to an audit server, this is NA.

  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\EventLog\System\

  Value Name: MaxSize

  Type: REG_DWORD
  Value: 0x00008000 (32768) (or greater)


vuln_id: V-224940
rule_id: SV-224940r958478_rule
severity: CAT II
title: Windows Server 2016 Windows SmartScreen must be enabled.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Windows SmartScreen helps protect systems from programs downloaded from the internet that may be malicious. Enabling SmartScreen will warn users of potentially malicious programs.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> File Explorer >> "Configure Windows SmartScreen" to "Enabled".

check_text:
  This is applicable to unclassified systems; for other systems, this is NA.

  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\System\

  Value Name: EnableSmartScreen

  Value Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224941
rule_id: SV-224941r958928_rule
severity: CAT II
title: Explorer Data Execution Prevention must be enabled.
cci: CCI-002824
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Data Execution Prevention provides additional protection by performing checks on memory to help prevent malicious code from running. This setting will prevent Data Execution Prevention from being turned off for File Explorer.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  The default behavior is for data execution prevention to be turned on for File Explorer.

  If this needs to be corrected, configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> File Explorer >> "Turn off Data Execution Prevention for Explorer" to "Not Configured" or "Disabled".

check_text:
  The default behavior is for Data Execution Prevention to be turned on for File Explorer.

  If the registry value name below does not exist, this is not a finding.

  If it exists and is configured with a value of "0", this is not a finding.

  If it exists and is configured with a value of "1", this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\Explorer\

  Value Name: NoDataExecutionPrevention

  Value Type: REG_DWORD
  Value: 0x00000000 (0) (or if the Value Name does not exist)


vuln_id: V-224942
rule_id: SV-224942r991589_rule
severity: CAT III
title: Turning off File Explorer heap termination on corruption must be disabled.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Legacy plug-in applications may continue to function when a File Explorer session has become corrupt. Disabling this feature will prevent this.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  The default behavior is for File Explorer heap termination on corruption to be disabled.

  If this needs to be corrected, configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> File Explorer >> "Turn off heap termination on corruption" to "Not Configured" or "Disabled".

check_text:
  The default behavior is for File Explorer heap termination on corruption to be enabled.

  If the registry Value Name below does not exist, this is not a finding.

  If it exists and is configured with a value of "0", this is not a finding.

  If it exists and is configured with a value of "1", this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\Explorer\

  Value Name: NoHeapTerminationOnCorruption

  Value Type: REG_DWORD
  Value: 0x00000000 (0) (or if the Value Name does not exist)


vuln_id: V-224943
rule_id: SV-224943r991589_rule
severity: CAT II
title: File Explorer shell protocol must run in protected mode.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The shell protocol will limit the set of folders that applications can open when run in protected mode. Restricting files an application can open to a limited set of folders increases the security of Windows.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  The default behavior is for shell protected mode to be turned on for File Explorer.

  If this needs to be corrected, configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> File Explorer >> "Turn off shell protocol protected mode" to "Not Configured" or "Disabled".

check_text:
  The default behavior is for shell protected mode to be turned on for File Explorer.

  If the registry value name below does not exist, this is not a finding.

  If it exists and is configured with a value of "0", this is not a finding.

  If it exists and is configured with a value of "1", this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\

  Value Name: PreXPSP2ShellProtocolBehavior

  Value Type: REG_DWORD
  Value: 0x00000000 (0) (or if the Value Name does not exist)


vuln_id: V-224944
rule_id: SV-224944r1050790_rule
severity: CAT II
title: Passwords must not be saved in the Remote Desktop Client.
cci: CCI-002038
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Saving passwords in the Remote Desktop Client could allow an unauthorized user to establish a remote desktop session to another system. The system must be configured to prevent users from saving passwords in the Remote Desktop Client.

  Satisfies: SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00156</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Remote Desktop Services >> Remote Desktop Connection Client >> "Do not allow passwords to be saved" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\

  Value Name: DisablePasswordSaving

  Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224945
rule_id: SV-224945r958524_rule
severity: CAT II
title: Local drives must be prevented from sharing with Remote Desktop Session Hosts.
cci: CCI-001090
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Preventing users from sharing the local drives on their client computers with Remote Session Hosts that they access helps reduce possible exposure of sensitive data.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Remote Desktop Services >> Remote Desktop Session Host >> Device and Resource Redirection >> "Do not allow drive redirection" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\

  Value Name: fDisableCdm

  Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224946
rule_id: SV-224946r1050790_rule
severity: CAT II
title: Remote Desktop Services must always prompt a client for passwords upon connection.
cci: CCI-002038
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>This setting controls the ability of users to supply passwords automatically as part of their remote desktop connection. Disabling this setting would allow anyone to use the stored credentials in a connection item to connect to the terminal server.

  Satisfies: SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00156</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Remote Desktop Services >> Remote Desktop Session Host >> Security >> "Always prompt for password upon connection" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\

  Value Name: fPromptForPassword

  Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224947
rule_id: SV-224947r991554_rule
severity: CAT II
title: The Remote Desktop Session Host must require secure Remote Procedure Call (RPC) communications.
cci: CCI-001453
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Allowing unsecure RPC communication exposes the system to man-in-the-middle attacks and data disclosure attacks. A man-in-the-middle attack occurs when an intruder captures packets between a client and server and modifies them before allowing the packets to be exchanged. Usually the attacker will modify the information in the packets in an attempt to cause either the client or server to reveal sensitive information.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Remote Desktop Services >> Remote Desktop Session Host >> Security >> "Require secure RPC communication" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\

  Value Name: fEncryptRPCTraffic

  Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224948
rule_id: SV-224948r991554_rule
severity: CAT II
title: Remote Desktop Services must be configured with the client connection encryption set to High Level.
cci: CCI-001453
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Remote connections must be encrypted to prevent interception of data or sensitive information. Selecting "High Level" will ensure encryption of Remote Desktop Services sessions in both directions.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Remote Desktop Services >> Remote Desktop Session Host >> Security >> "Set client connection encryption level" to "Enabled" with "High Level" selected.

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\

  Value Name: MinEncryptionLevel

  Type: REG_DWORD
  Value: 0x00000003 (3)


vuln_id: V-224949
rule_id: SV-224949r991589_rule
severity: CAT II
title: Attachments must be prevented from being downloaded from RSS feeds.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Attachments from RSS feeds may not be secure. This setting will prevent attachments from being downloaded from RSS feeds.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> RSS Feeds >> "Prevent downloading of enclosures" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Internet Explorer\Feeds\

  Value Name: DisableEnclosureDownload

  Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224951
rule_id: SV-224951r958478_rule
severity: CAT II
title: Basic authentication for RSS feeds over HTTP must not be used.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Basic authentication uses plain-text passwords that could be used to compromise a system. Disabling Basic authentication will reduce this potential.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  The default behavior is for the Windows RSS platform to not use Basic authentication over HTTP connections.

  If this needs to be corrected, configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> RSS Feeds >> "Turn on Basic feed authentication over HTTP" to "Not Configured" or "Disabled".

check_text:
  The default behavior is for the Windows RSS platform to not use Basic authentication over HTTP connections.

  If the registry value name below does not exist, this is not a finding.

  If it exists and is configured with a value of "0", this is not a finding.

  If it exists and is configured with a value of "1", this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Internet Explorer\Feeds\

  Value Name: AllowBasicAuthInClear

  Value Type: REG_DWORD
  Value: 0x00000000 (0) (or if the Value Name does not exist)


vuln_id: V-224952
rule_id: SV-224952r958478_rule
severity: CAT II
title: Indexing of encrypted files must be turned off.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Indexing of encrypted files may expose sensitive data. This setting prevents encrypted files from being indexed.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Search >> "Allow indexing of encrypted files" to "Disabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\Windows Search\

  Value Name: AllowIndexingEncryptedStoresOrItems

  Value Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224953
rule_id: SV-224953r982210_rule
severity: CAT II
title: Users must be prevented from changing installation options.
cci: CCI-001812
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Installation options for applications are typically controlled by administrators. This setting prevents users from changing installation options that may bypass security features.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Installer >> "Allow user control over installs" to "Disabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\Installer\

  Value Name: EnableUserControl

  Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224954
rule_id: SV-224954r982210_rule
severity: CAT I
title: The Windows Installer Always install with elevated privileges option must be disabled.
cci: CCI-001812
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Standard user accounts must not be granted elevated privileges. Enabling Windows Installer to elevate privileges when installing applications can allow malicious persons and applications to gain full control of a system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Installer >> "Always install with elevated privileges" to "Disabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\Installer\

  Value Name: AlwaysInstallElevated

  Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224955
rule_id: SV-224955r991589_rule
severity: CAT II
title: Users must be notified if a web-based program attempts to install software.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Web-based programs may attempt to install malicious software on a system. Ensuring users are notified if a web-based program attempts to install software allows them to refuse the installation.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  The default behavior is for Internet Explorer to warn users and select whether to allow or refuse installation when a web-based program attempts to install software on the system.

  If this needs to be corrected, configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Installer >> "Prevent Internet Explorer security prompt for Windows Installer scripts" to "Not Configured" or "Disabled".

check_text:
  The default behavior is for Internet Explorer to warn users and select whether to allow or refuse installation when a web-based program attempts to install software on the system.

  If the registry value name below does not exist, this is not a finding.

  If it exists and is configured with a value of "0", this is not a finding.

  If it exists and is configured with a value of "1", this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\Installer\

  Value Name: SafeForScripting

  Value Type: REG_DWORD
  Value: 0x00000000 (0) (or if the Value Name does not exist)


vuln_id: V-224956
rule_id: SV-224956r991591_rule
severity: CAT II
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Automatically signing in the last interactive user after a system-initiated restart must be disabled.

description:
  <VulnDiscussion>Windows can be configured to automatically sign the user back in after a Windows Update restart. Some protections are in place to help ensure this is done in a secure fashion; however, disabling this will prevent the caching of credentials for this purpose and also ensure the user is aware of the restart.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Logon Options >> "Sign-in last interactive user automatically after a system-initiated restart" to "Disabled".

check_text:
  Verify the registry value below. If it does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE 
  Registry Path: \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\

  Value Name: DisableAutomaticRestartSignOn

  Value Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224957
rule_id: SV-224957r958422_rule
severity: CAT II
title: PowerShell script block logging must be enabled.
cci: CCI-000135
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Enabling PowerShell script block logging will record detailed information from the processing of PowerShell commands and scripts. This can provide additional detail when malware has run on a system.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows PowerShell >> "Turn on PowerShell Script Block Logging" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE 
  Registry Path: \SOFTWARE\ Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging\

  Value Name: EnableScriptBlockLogging

  Value Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224958
rule_id: SV-224958r958510_rule
severity: CAT I
title: The Windows Remote Management (WinRM) client must not use Basic authentication.
cci: CCI-000877
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Basic authentication uses plain-text passwords that could be used to compromise a system. Disabling Basic authentication will reduce this potential.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Remote Management (WinRM) >> WinRM Client >> "Allow Basic authentication" to "Disabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\WinRM\Client\

  Value Name: AllowBasic

  Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224959
rule_id: SV-224959r958848_rule
severity: CAT II
title: The Windows Remote Management (WinRM) client must not allow unencrypted traffic.
cci: CCI-002890
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Unencrypted remote access to a system can allow sensitive information to be compromised. Windows remote management connections must be encrypted to prevent this.

  Satisfies: SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPOS-00174</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Remote Management (WinRM) >> WinRM Client >> "Allow unencrypted traffic" to "Disabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\WinRM\Client\

  Value Name: AllowUnencryptedTraffic

  Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224960
rule_id: SV-224960r958510_rule
severity: CAT II
title: The Windows Remote Management (WinRM) client must not use Digest authentication.
cci: CCI-000877
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Digest authentication is not as strong as other options and may be subject to man-in-the-middle attacks. Disallowing Digest authentication will reduce this potential.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Remote Management (WinRM) >> WinRM Client >> "Disallow Digest authentication" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\WinRM\Client\

  Value Name: AllowDigest

  Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224961
rule_id: SV-224961r958510_rule
severity: CAT I
title: The Windows Remote Management (WinRM) service must not use Basic authentication.
cci: CCI-000877
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Basic authentication uses plain-text passwords that could be used to compromise a system. Disabling Basic authentication will reduce this potential.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Remote Management (WinRM) >> WinRM Service >> "Allow Basic authentication" to "Disabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\WinRM\Service\

  Value Name: AllowBasic

  Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224962
rule_id: SV-224962r958848_rule
severity: CAT II
title: The Windows Remote Management (WinRM) service must not allow unencrypted traffic.
cci: CCI-002890
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Unencrypted remote access to a system can allow sensitive information to be compromised. Windows remote management connections must be encrypted to prevent this.

  Satisfies: SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPOS-00174</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Remote Management (WinRM) >> WinRM Service >> "Allow unencrypted traffic" to "Disabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\WinRM\Service\

  Value Name: AllowUnencryptedTraffic

  Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224963
rule_id: SV-224963r1050790_rule
severity: CAT II
title: The Windows Remote Management (WinRM) service must not store RunAs credentials.
cci: CCI-002038
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Storage of administrative credentials could allow unauthorized access. Disallowing the storage of RunAs credentials for Windows Remote Management will prevent them from being used with plug-ins.

  Satisfies: SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00156</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Remote Management (WinRM) >> WinRM Service >> "Disallow WinRM from storing RunAs credentials" to "Enabled".

check_text:
  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\WinRM\Service\

  Value Name: DisableRunAs

  Type: REG_DWORD
  Value: 0x00000001 (1)


vuln_id: V-224964
rule_id: SV-224964r958726_rule
severity: CAT I
cci: CCI-002235
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Only administrators responsible for the domain controller must have Administrator rights on the system.

description:
  <VulnDiscussion>An account that does not have Administrator duties must not have Administrator rights. Such rights would allow the account to bypass or modify required security restrictions on that machine and make it vulnerable to attack.

  System administrators must log on to systems using only accounts with the minimum level of authority necessary. 

  Standard user accounts must not be members of the built-in Administrators group.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the Administrators group to include only administrator groups or accounts that are responsible for the system.

  Remove any standard user accounts.

check_text:
  This applies to domain controllers. A separate version applies to other systems.

  Review the Administrators group. Only the appropriate administrator groups or accounts responsible for administration of the system may be members of the group.

  Standard user accounts must not be members of the local administrator group.

  If prohibited accounts are members of the local administrators group, this is a finding.

  If the built-in Administrator account or other required administrative accounts are found on the system, this is not a finding.


vuln_id: V-224965
rule_id: SV-224965r958494_rule
severity: CAT II
title: Kerberos user logon restrictions must be enforced.
cci: CCI-001941
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>This policy setting determines whether the Kerberos Key Distribution Center (KDC) validates every request for a session ticket against the user rights policy of the target computer. The policy is enabled by default, which is the most secure setting for validating that access to target resources is not circumvented.

  Satisfies: SRG-OS-000112-GPOS-00057, SRG-OS-000113-GPOS-00058</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value in the Default Domain Policy for Computer Configuration >> Policies >> Windows Settings >> Security Settings >> Account Policies >> Kerberos Policy >> "Enforce user logon restrictions" to "Enabled".

check_text:
  This applies to domain controllers. It is NA for other systems.

  Verify the following is configured in the Default Domain Policy.

  Open "Group Policy Management".

  Navigate to "Group Policy Objects" in the Domain being reviewed (Forest >> Domains >> Domain). 

  Right-click on the "Default Domain Policy".

  Select "Edit".

  Navigate to Computer Configuration >> Policies >> Windows Settings >> Security Settings >> Account Policies >> Kerberos Policy.

  If the "Enforce user logon restrictions" is not set to "Enabled", this is a finding.


vuln_id: V-224966
rule_id: SV-224966r958494_rule
severity: CAT II
title: The Kerberos service ticket maximum lifetime must be limited to 600 minutes or less.
cci: CCI-001941
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>This setting determines the maximum amount of time (in minutes) that a granted session ticket can be used to access a particular service. Session tickets are used only to authenticate new connections with servers. Ongoing operations are not interrupted if the session ticket used to authenticate the connection expires during the connection.

  Satisfies: SRG-OS-000112-GPOS-00057, SRG-OS-000113-GPOS-00058</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value in the Default Domain Policy for Computer Configuration >> Policies >> Windows Settings >> Security Settings >> Account Policies >> Kerberos Policy >> "Maximum lifetime for service ticket" to a maximum of "600" minutes, but not "0", which equates to "Ticket doesn't expire".

check_text:
  This applies to domain controllers. It is NA for other systems.

  Verify the following is configured in the Default Domain Policy.

  Open "Group Policy Management".

  Navigate to "Group Policy Objects" in the Domain being reviewed (Forest >> Domains >> Domain). 

  Right-click on the "Default Domain Policy".

  Select "Edit".

  Navigate to Computer Configuration >> Policies >> Windows Settings >> Security Settings >> Account Policies >> Kerberos Policy.

  If the value for "Maximum lifetime for service ticket" is "0" or greater than "600" minutes, this is a finding.


vuln_id: V-224967
rule_id: SV-224967r958494_rule
severity: CAT II
title: The Kerberos user ticket lifetime must be limited to 10 hours or less.
cci: CCI-001941
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>In Kerberos, there are two types of tickets: Ticket Granting Tickets (TGTs) and Service Tickets. Kerberos tickets have a limited lifetime so the time an attacker has to implement an attack is limited. This policy controls how long TGTs can be renewed. With Kerberos, the user's initial authentication to the domain controller results in a TGT, which is then used to request Service Tickets to resources. Upon startup, each computer gets a TGT before requesting a service ticket to the domain controller and any other computers it needs to access. For services that start up under a specified user account, users must always get a TGT first and then get Service Tickets to all computers and services accessed.

  Satisfies: SRG-OS-000112-GPOS-00057, SRG-OS-000113-GPOS-00058</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value in the Default Domain Policy for Computer Configuration >> Policies >> Windows Settings >> Security Settings >> Account Policies >> Kerberos Policy >> "Maximum lifetime for user ticket" to a maximum of "10" hours but not "0", which equates to "Ticket doesn't expire".

check_text:
  This applies to domain controllers. It is NA for other systems.

  Verify the following is configured in the Default Domain Policy.

  Open "Group Policy Management".

  Navigate to "Group Policy Objects" in the Domain being reviewed (Forest >> Domains >> Domain).

  Right-click on the "Default Domain Policy".

  Select "Edit".

  Navigate to Computer Configuration >> Policies >> Windows Settings >> Security Settings >> Account Policies >> Kerberos Policy.

  If the value for "Maximum lifetime for user ticket" is "0" or greater than "10" hours, this is a finding.


vuln_id: V-224968
rule_id: SV-224968r958494_rule
severity: CAT II
title: The Kerberos policy user ticket renewal maximum lifetime must be limited to seven days or less.
cci: CCI-001941
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>This setting determines the period of time (in days) during which a user's Ticket Granting Ticket (TGT) may be renewed. This security configuration limits the amount of time an attacker has to crack the TGT and gain access.

  Satisfies: SRG-OS-000112-GPOS-00057, SRG-OS-000113-GPOS-00058</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value in the Default Domain Policy for Computer Configuration >> Policies >> Windows Settings >> Security Settings >> Account Policies >> Kerberos Policy >> "Maximum lifetime for user ticket renewal" to a maximum of "7" days or less.

check_text:
  This applies to domain controllers. It is NA for other systems.

  Verify the following is configured in the Default Domain Policy.

  Open "Group Policy Management".

  Navigate to "Group Policy Objects" in the Domain being reviewed (Forest >> Domains >> Domain).
   
  Right-click on the "Default Domain Policy".

  Select "Edit".

  Navigate to Computer Configuration >> Policies >> Windows Settings >> Security Settings >> Account Policies >> Kerberos Policy.

  If the "Maximum lifetime for user ticket renewal" is greater than "7" days, this is a finding.


vuln_id: V-224969
rule_id: SV-224969r958494_rule
severity: CAT II
title: The computer clock synchronization tolerance must be limited to 5 minutes or less.
cci: CCI-001941
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>This setting determines the maximum time difference (in minutes) that Kerberos will tolerate between the time on a client's clock and the time on a server's clock while still considering the two clocks synchronous. In order to prevent replay attacks, Kerberos uses timestamps as part of its protocol definition. For timestamps to work properly, the clocks of the client and the server need to be in sync as much as possible.

  Satisfies: SRG-OS-000112-GPOS-00057, SRG-OS-000113-GPOS-00058</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value in the Default Domain Policy for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Kerberos Policy >> "Maximum tolerance for computer clock synchronization" to a maximum of "5" minutes or less.

check_text:
  This applies to domain controllers. It is NA for other systems.

  Verify the following is configured in the Default Domain Policy.

  Open "Group Policy Management".

  Navigate to "Group Policy Objects" in the Domain being reviewed (Forest >> Domains >> Domain).
   
  Right-click on the "Default Domain Policy".

  Select "Edit".

  Navigate to Computer Configuration >> Policies >> Windows Settings >> Security Settings >> Account Policies >> Kerberos Policy.

  If the "Maximum tolerance for computer clock synchronization" is greater than "5" minutes, this is a finding.


vuln_id: V-224970
rule_id: SV-224970r958726_rule
severity: CAT I
title: Permissions on the Active Directory data files must only allow System and Administrators access.
cci: CCI-002235
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Improper access permissions for directory data-related files could allow unauthorized users to read, modify, or delete directory data or audit trails.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Maintain the permissions on NTDS database and log files as follows:

  NT AUTHORITY\SYSTEM:(I)(F)
  BUILTIN\Administrators:(I)(F)

  (I) - permission inherited from parent container
  (F) - full access

check_text:
  This applies to domain controllers. It is NA for other systems.

  Run "Regedit".

  Navigate to "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters".

  Note the directory locations in the values for:

  Database log files path
  DSA Database file

  By default, they will be \Windows\NTDS.

  If the locations are different, the following will need to be run for each.

  Open "Command Prompt (Admin)".

  Navigate to the NTDS directory (\Windows\NTDS by default).

  Run "icacls *.*".

  If the permissions on each file are not as restrictive as the following, this is a finding.

  NT AUTHORITY\SYSTEM:(I)(F)
  BUILTIN\Administrators:(I)(F)

  (I) - permission inherited from parent container
  (F) - full access


vuln_id: V-224971
rule_id: SV-224971r958726_rule
severity: CAT I
title: The Active Directory SYSVOL directory must have the proper access control permissions.
cci: CCI-002235
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Improper access permissions for directory data files could allow unauthorized users to read, modify, or delete directory data.

  The SYSVOL directory contains public files (to the domain) such as policies and logon scripts. Data in shared subdirectories are replicated to all domain controllers in a domain.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Maintain the permissions on the SYSVOL directory. Do not allow greater than "Read & execute" permissions for standard user accounts or groups. The defaults below meet this requirement.

  C:\Windows\SYSVOL
  Type - "Allow" for all
  Inherited from - "None" for all

  Principal - Access - Applies to

  Authenticated Users - Read & execute - This folder, subfolder, and files
  Server Operators - Read & execute- This folder, subfolder, and files
  Administrators - Special - This folder only (Special = Basic Permissions: all selected except Full control)
  CREATOR OWNER - Full control - Subfolders and files only
  Administrators - Full control - Subfolders and files only
  SYSTEM - Full control - This folder, subfolders, and files

check_text:
  This applies to domain controllers. It is NA for other systems.

  Open a command prompt.

  Run "net share".

  Make note of the directory location of the SYSVOL share.

  By default, this will be \Windows\SYSVOL\sysvol. For this requirement, permissions will be verified at the first SYSVOL directory level.

  If any standard user accounts or groups have greater than "Read & execute" permissions, this is a finding. 

  The default permissions noted below meet this requirement.

  Open "Command Prompt".

  Run "icacls c:\Windows\SYSVOL".

  The following results should be displayed:

  NT AUTHORITY\Authenticated Users:(RX)
  NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(GR,GE)
  BUILTIN\Server Operators:(RX)
  BUILTIN\Server Operators:(OI)(CI)(IO)(GR,GE)
  BUILTIN\Administrators:(M,WDAC,WO)
  BUILTIN\Administrators:(OI)(CI)(IO)(F)
  NT AUTHORITY\SYSTEM:(F)
  NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F)
  BUILTIN\Administrators:(M,WDAC,WO)
  CREATOR OWNER:(OI)(CI)(IO)(F)

  (RX) - Read & execute 

  Run "icacls /help" to view definitions of other permission codes.


vuln_id: V-224972
rule_id: SV-224972r958726_rule
severity: CAT I
title: Active Directory Group Policy objects must have proper access control permissions.
cci: CCI-002235
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>When directory service database objects do not have appropriate access control permissions, it may be possible for malicious users to create, read, update, or delete the objects and degrade or destroy the integrity of the data. When the directory service is used for identification, authentication, or authorization functions, a compromise of the database objects could lead to a compromise of all systems relying on the directory service.

  For Active Directory (AD), the Group Policy objects require special attention. In a distributed administration model (i.e., help desk), Group Policy objects are more likely to have access permissions changed from the secure defaults. If inappropriate access permissions are defined for Group Policy objects, this could allow an intruder to change the security policy applied to all domain client computers (workstations and servers).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Maintain the permissions on Group Policy objects to not allow greater than "Read" and "Apply group policy" for standard user accounts or groups. The default permissions below meet this requirement.

  Authenticated Users - Read, Apply group policy, Special permissions

  The special permissions for Authenticated Users are for Read-type Properties.

  CREATOR OWNER - Special permissions
  SYSTEM - Read, Write, Create all child objects, Delete all child objects, Special permissions
  Domain Admins - Read, Write, Create all child objects, Delete all child objects, Special permissions
  Enterprise Admins - Read, Write, Create all child objects, Delete all child objects, Special permissions
  ENTERPRISE DOMAIN CONTROLLERS - Read, Special permissions

  Document any other access permissions that allow the objects to be updated with the ISSO.

  The Domain Admins and Enterprise Admins will not have the "Delete all child objects" permission on the two default Group Policy objects: Default Domain Policy and Default Domain Controllers Policy. They will have this permission on created Group Policy objects.

check_text:
  This applies to domain controllers. It is NA for other systems.

  Review the permissions on Group Policy objects.

  Open "Group Policy Management" (available from various menus or run "gpmc.msc").

  Navigate to "Group Policy Objects" in the domain being reviewed (Forest >> Domains >> Domain).

  For each Group Policy object:

  Select the Group Policy object item in the left pane.

  Select the "Delegation" tab in the right pane.

  Select the "Advanced" button.

  Select each Group or user name.

  View the permissions.

  If any standard user accounts or groups have "Allow" permissions greater than "Read" and "Apply group policy", this is a finding.

  Other access permissions that allow the objects to be updated are considered findings unless specifically documented by the ISSO.

  The default permissions noted below satisfy this requirement. 

  The permissions shown are at the summary level. More detailed permissions can be viewed by selecting the next "Advanced" button, the desired Permission entry, and the "Edit" button.

  Authenticated Users - Read, Apply group policy, Special permissions

  The special permissions for Authenticated Users are for Read-type Properties. If detailed permissions include any Create, Delete, Modify, or Write Permissions or Properties, this is a finding.

  The special permissions for the following default groups are not the focus of this requirement and may include a wide range of permissions and properties.

  CREATOR OWNER - Special permissions
  SYSTEM - Read, Write, Create all child objects, Delete all child objects, Special permissions
  Domain Admins - Read, Write, Create all child objects, Delete all child objects, Special permissions
  Enterprise Admins - Read, Write, Create all child objects, Delete all child objects, Special permissions
  ENTERPRISE DOMAIN CONTROLLERS - Read, Special permissions

  The Domain Admins and Enterprise Admins will not have the "Delete all child objects" permission on the two default Group Policy objects: Default Domain Policy and Default Domain Controllers Policy. They will have this permission on organization created Group Policy objects.


vuln_id: V-224973
rule_id: SV-224973r958726_rule
severity: CAT I
cci: CCI-002235
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The Active Directory Domain Controllers Organizational Unit (OU) object must have the proper access control permissions.

description:
  <VulnDiscussion>When Active Directory objects do not have appropriate access control permissions, it may be possible for malicious users to create, read, update, or delete the objects and degrade or destroy the integrity of the data. When the directory service is used for identification, authentication, or authorization functions, a compromise of the database objects could lead to a compromise of all systems that rely on the directory service.

  The Domain Controllers OU object requires special attention as the Domain Controllers are central to the configuration and management of the domain. Inappropriate access permissions defined for the Domain Controllers OU could allow an intruder or unauthorized personnel to make changes that could lead to the compromise of the domain.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Limit the permissions on the Domain Controllers OU to restrict changes to System, Domain Admins, Enterprise Admins and Administrators.

  The default permissions listed below satisfy this requirement.

  Domains supporting Microsoft Exchange will have additional Exchange related permissions on the Domain Controllers OU.  These may include some change related permissions.

  CREATOR OWNER - Special permissions

  SELF - Special permissions

  Authenticated Users - Read, Special permissions

  The special permissions for Authenticated Users are Read types.

  SYSTEM - Full Control

  Domain Admins - Read, Write, Create all child objects, Generate resultant set of policy (logging), Generate resultant set of policy (planning), Special permissions

  Enterprise Admins - Full Control

  Key Admins - Special permissions

  Enterprise Key Admins - Special permissions

  Administrators - Read, Write, Create all child objects, Generate resultant set of policy (logging), Generate resultant set of policy (planning), Special permissions

  Pre-Windows 2000 Compatible Access - Special permissions

  The special permissions for Pre-Windows 2000 Compatible Access are Read types.

  ENTERPRISE DOMAIN CONTROLLERS - Read, Special permissions

check_text:
  This applies to domain controllers. It is NA for other systems.

  Review the permissions on the Domain Controllers OU.

  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Select "Advanced Features" in the "View" menu if not previously selected.

  Select the "Domain Controllers" OU (folder in folder icon).

  Right-click and select "Properties".

  Select the "Security" tab.

  If the permissions on the Domain Controllers OU do not restrict changes to System, Domain Admins, Enterprise Admins and Administrators, this is a finding.

  The default permissions listed below satisfy this requirement.

  Domains supporting Microsoft Exchange will have additional Exchange related permissions on the Domain Controllers OU.  These may include some change related permissions and are not a finding.

  The permissions shown are at the summary level. More detailed permissions can be viewed by selecting the "Advanced" button, the desired Permission entry, and the "View" or "Edit" button.

  Except where noted otherwise, the special permissions may include a wide range of permissions and properties and are acceptable for this requirement.

  CREATOR OWNER - Special permissions

  SELF - Special permissions

  Authenticated Users - Read, Special permissions

  The special permissions for Authenticated Users are Read types.

  If detailed permissions include any Create, Delete, Modify, or Write Permissions or Properties, this is a finding.

  SYSTEM - Full Control

  Domain Admins - Read, Write, Create all child objects, Generate resultant set of policy (logging), Generate resultant set of policy (planning), Special permissions

  Enterprise Admins - Full Control

  Key Admins - Special permissions

  Enterprise Key Admins - Special permissions

  Administrators - Read, Write, Create all child objects, Generate resultant set of policy (logging), Generate resultant set of policy (planning), Special permissions

  Pre-Windows 2000 Compatible Access - Special permissions

  The Special permissions for Pre-Windows 2000 Compatible Access are Read types.

  If detailed permissions include any Create, Delete, Modify, or Write Permissions or Properties, this is a finding.

  ENTERPRISE DOMAIN CONTROLLERS - Read, Special permissions


vuln_id: V-224974
rule_id: SV-224974r958726_rule
severity: CAT I
cci: CCI-002235
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Domain-created Active Directory Organizational Unit (OU) objects must have proper access control permissions.

description:
  <VulnDiscussion>When directory service database objects do not have appropriate access control permissions, it may be possible for malicious users to create, read, update, or delete the objects and degrade or destroy the integrity of the data. When the directory service is used for identification, authentication, or authorization functions, a compromise of the database objects could lead to a compromise of all systems that rely on the directory service.

  For Active Directory, the OU objects require special attention. In a distributed administration model (i.e., help desk), OU objects are more likely to have access permissions changed from the secure defaults. If inappropriate access permissions are defined for OU objects, it could allow an intruder to add or delete users in the OU. This could result in unauthorized access to data or a denial of service to authorized users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Maintain the permissions on domain-defined OUs to be at least as restrictive as the defaults below.

  Document any additional permissions above Read with the ISSO if an approved distributed administration model (help desk or other user support staff) is implemented.

  CREATOR OWNER - Special permissions

  Self - Special permissions

  Authenticated Users - Read, Special permissions

  The special permissions for Authenticated Users are Read type.

  SYSTEM - Full Control

  Domain Admins - Full Control

  Enterprise Admins - Full Control

  Key Admins - Special permissions

  Enterprise Key Admins - Special permissions

  Administrators - Read, Write, Create all child objects, Generate resultant set of policy (logging), Generate resultant set of policy (planning), Special permissions

  Pre-Windows 2000 Compatible Access - Special permissions

  The special permissions for Pre-Windows 2000 Compatible Access are for Read types.

  ENTERPRISE DOMAIN CONTROLLERS - Read, Special permissions

check_text:
  This applies to domain controllers. It is NA for other systems.

  Review the permissions on domain-defined OUs.

  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Ensure "Advanced Features" is selected in the "View" menu.

  For each OU that is defined (folder in folder icon) excluding the Domain Controllers OU:

  Right-click the OU and select "Properties".

  Select the "Security" tab.

  If the permissions on the OU are not at least as restrictive as those below, this is a finding.

  The permissions shown are at the summary level. More detailed permissions can be viewed by selecting the "Advanced" button, the desired Permission entry, and the "Edit" or "View" button.

  Except where noted otherwise, the special permissions may include a wide range of permissions and properties and are acceptable for this requirement.

  CREATOR OWNER - Special permissions

  Self - Special permissions

  Authenticated Users - Read, Special permissions

  The Special permissions for Authenticated Users are Read type. If detailed permissions include any Create, Delete, Modify, or Write Permissions or Properties, this is a finding.

  SYSTEM - Full Control

  Domain Admins - Full Control

  Enterprise Admins - Full Control

  Key Admins - Special permissions

  Enterprise Key Admins - Special permissions

  Administrators - Read, Write, Create all child objects, Generate resultant set of policy (logging), Generate resultant set of policy (planning), Special permissions

  Pre-Windows 2000 Compatible Access - Special permissions

  The Special permissions for Pre-Windows 2000 Compatible Access are for Read types. If detailed permissions include any Create, Delete, Modify, or Write Permissions or Properties, this is a finding.

  ENTERPRISE DOMAIN CONTROLLERS - Read, Special permissions

  If an ISSO-approved distributed administration model (help desk or other user support staff) is implemented, permissions above Read may be allowed for groups documented by the ISSO.

  If any OU with improper permissions includes identification or authentication data (e.g., accounts, passwords, or password hash data) used by systems to determine access control, the severity is CAT I (e.g., OUs that include user accounts, including service/application accounts).

  If an OU with improper permissions does not include identification and authentication data used by systems to determine access control, the severity is CAT II (e.g., Workstation, Printer OUs).


vuln_id: V-224975
rule_id: SV-224975r958524_rule
severity: CAT II
cci: CCI-001090
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Data files owned by users must be on a different logical partition from the directory server data files.

description:
  <VulnDiscussion>When directory service data files, especially for directories used for identification, authentication, or authorization, reside on the same logical partition as user-owned files, the directory service data may be more vulnerable to unauthorized access or other availability compromises. Directory service and user-owned data files sharing a partition may be configured with less restrictive permissions in order to allow access to the user data. 

  The directory service may be vulnerable to a denial of service attack when user-owned files on a common partition are expanded to an extent preventing the directory service from acquiring more space for directory or audit data.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Move shares used to store files owned by users to a different logical partition than the directory server data files.

check_text:
  This applies to domain controllers. It is NA for other systems.

  Run "Regedit".

  Navigate to "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters".

  Note the directory locations in the values for "DSA Database file".

  Open "Command Prompt".

  Enter "net share".

  Note the logical drive(s) or file system partition for any organization-created data shares.

  Ignore system shares (e.g., NETLOGON, SYSVOL, and administrative shares ending in $). User shares that are hidden (ending with $) should not be ignored.

  If user shares are located on the same logical partition as the directory server data files, this is a finding.


vuln_id: V-224976
rule_id: SV-224976r958478_rule
severity: CAT II
title: Domain controllers must run on a machine dedicated to that function.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Executing application servers on the same host machine with a directory server may substantially weaken the security of the directory server. Web or database server applications usually require the addition of many programs and accounts, increasing the attack surface of the computer. 

  Some applications require the addition of privileged accounts, providing potential sources of compromise. Some applications (such as Microsoft Exchange) may require the use of network ports or services conflicting with the directory server. In this case, non-standard ports might be selected, and this could interfere with intrusion detection or prevention services.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Remove additional roles or applications such as web, database, and email from the domain controller.

check_text:
  This applies to domain controllers, It is NA for other systems.

  Review the installed roles the domain controller is supporting.

  Start "Server Manager".

  Select "AD DS" in the left pane and the server name under "Servers" to the right.

  Select "Add (or Remove) Roles and Features" from "Tasks" in the "Roles and Features" section. (Cancel before any changes are made.)

  Determine if any additional server roles are installed. A basic domain controller setup will include the following:

  - Active Directory Domain Services
  - DNS Server
  - File and Storage Services

  If any roles not requiring installation on a domain controller are installed, this is a finding. 

  A Domain Name System (DNS) server integrated with the directory server (e.g., AD-integrated DNS) is an acceptable application. However, the DNS server must comply with the DNS STIG security requirements.

  Run "Programs and Features".

  Review installed applications.

  If any applications are installed that are not required for the domain controller, this is a finding.


vuln_id: V-224977
rule_id: SV-224977r987791_rule
severity: CAT II
cci: CCI-002450
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Separate, NSA-approved (Type 1) cryptography must be used to protect the directory data in transit for directory service implementations at a classified confidentiality level when replication data traverses a network cleared to a lower level than the data.

description:
  <VulnDiscussion>Directory data that is not appropriately encrypted is subject to compromise. Commercial-grade encryption does not provide adequate protection when the classification level of directory data in transit is higher than the level of the network.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure NSA-approved (Type 1) cryptography to protect the directory data in transit for directory service implementations at a classified confidentiality level that transfer replication data through a network cleared to a lower level than the data.

check_text:
  This applies to domain controllers. It is NA for other systems.

  Review the organization network diagram(s) or documentation to determine the level of classification for the network(s) over which replication data is transmitted.

  Determine the classification level of the Windows domain controller.

  If the classification level of the Windows domain controller is higher than the level of the networks, review the organization network diagram(s) and directory implementation documentation to determine if NSA-approved encryption is used to protect the replication network traffic.

  If the classification level of the Windows domain controller is higher than the level of the network traversed and NSA-approved encryption is not used, this is a finding.


vuln_id: V-224978
rule_id: SV-224978r991589_rule
severity: CAT I
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Directory data (outside the root DSE) of a non-public directory must be configured to prevent anonymous access.

description:
  <VulnDiscussion>To the extent that anonymous access to directory data (outside the root DSE) is permitted, read access control of the data is effectively disabled. If other means of controlling access (such as network restrictions) are compromised, there may be nothing else to protect the confidentiality of sensitive directory data.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure directory data (outside the root DSE) of a non-public directory to prevent anonymous access.

  For AD, there are multiple configuration items that could enable anonymous access.

  Changing the access permissions on the domain naming context object (from the secure defaults) could enable anonymous access. If the check procedures indicate this is the cause, the process that was used to change the permissions should be reversed. This could have been through the Windows Support Tools ADSI Edit console (adsiedit.msc).

  The dsHeuristics option is used. This is addressed in check V-8555 in the AD Forest STIG.

check_text:
  This applies to domain controllers. It is NA for other systems.

  Open "Command Prompt" (not elevated).

  Run "ldp.exe".

  From the "Connection menu", select "Bind".

  Clear the User, Password, and Domain fields.

  Select "Simple bind" for the Bind type and click "OK".

  Confirmation of anonymous access will be displayed at the end:

  res = ldap_simple_bind_s
  Authenticated as: 'NT AUTHORITY\ANONYMOUS LOGON'

  From the "Browse" menu, select "Search".

  In the Search dialog, enter the DN of the domain naming context (generally something like "dc=disaost,dc=mil") in the Base DN field.

  Clear the Attributes field and select "Run".

  Error messages should display related to Bind and user not authenticated.

  If attribute data is displayed, anonymous access is enabled to the domain naming context and this is a finding.

  The following network controls allow the finding severity to be downgraded to a CAT II since these measures lower the risk associated with anonymous access.

  Network hardware ports at the site are subject to 802.1x authentication or MAC address restrictions. 

  Premise firewall or host restrictions prevent access to ports 389, 636, 3268, and 3269 from client hosts not explicitly identified by domain (.mil) or IP address.


vuln_id: V-224979
rule_id: SV-224979r970703_rule
severity: CAT III
cci: CCI-001133
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The directory service must be configured to terminate LDAP-based network connections to the directory server after 5 minutes of inactivity.

description:
  <VulnDiscussion>The failure to terminate inactive network connections increases the risk of a successful attack on the directory server. The longer an established session is in progress, the more time an attacker has to hijack the session, implement a means to passively intercept data, or compromise any protections on client access. For example, if an attacker gains control of a client computer, an existing (already authenticated) session with the directory server could allow access to the directory. The lack of confidentiality protection in LDAP-based sessions increases exposure to this vulnerability.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the directory service to terminate LDAP-based network connections to the directory server after 5 minutes of inactivity.

  Open an elevated "Command prompt" (run as administrator).

  Enter "ntdsutil".

  At the "ntdsutil:" prompt, enter "LDAP policies".

  At the "ldap policy:" prompt, enter "connections".

  At the "server connections:" prompt, enter "connect to server [host-name]" (where [host-name] is the computer name of the domain controller).

  At the "server connections:" prompt, enter "q".

  At the "ldap policy:" prompt, enter "Set MaxConnIdleTime to 300".

  Enter "Commit Changes" to save.

  Enter "Show values" to verify changes.

  Enter "q" at the "ldap policy:" and "ntdsutil:" prompts to exit.

check_text:
  This applies to domain controllers. It is NA for other systems.

  Open an elevated "Command Prompt" (run as administrator).

  Enter "ntdsutil".

  At the "ntdsutil:" prompt, enter "LDAP policies".

  At the "ldap policy:" prompt, enter "connections".

  At the "server connections:" prompt, enter "connect to server [host-name]"
  (where [host-name] is the computer name of the domain controller).

  At the "server connections:" prompt, enter "q".

  At the "ldap policy:" prompt, enter "show values". 

  If the value for MaxConnIdleTime is greater than "300" (5 minutes) or is not specified, this is a finding.

  Enter "q" at the "ldap policy:" and "ntdsutil:" prompts to exit.

  Alternately, Dsquery can be used to display MaxConnIdleTime:

  Open "Command Prompt (Admin)".
  Enter the following command (on a single line).

  dsquery * "cn=Default Query Policy,cn=Query-Policies,cn=Directory Service, cn=Windows NT,cn=Services,cn=Configuration,dc=[forest-name]" -attr LDAPAdminLimits 

  The quotes are required and dc=[forest-name] is the fully qualified LDAP name of the domain being reviewed (e.g., dc=disaost,dc=mil).

  If the results do not specify a "MaxConnIdleTime" or it has a value greater than "300" (5 minutes), this is a finding.


vuln_id: V-224980
rule_id: SV-224980r958732_rule
severity: CAT II
title: Active Directory Group Policy objects must be configured with proper audit settings.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>When inappropriate audit settings are configured for directory service database objects, it may be possible for a user or process to update the data without generating any tracking data. The impact of missing audit data is related to the type of object. A failure to capture audit data for objects used by identification, authentication, or authorization functions could degrade or eliminate the ability to track changes to access policy for systems or data. 

  For Active Directory (AD), there are a number of critical object types in the domain naming context of the AD database for which auditing is essential. This includes Group Policy objects. Because changes to these objects can significantly impact access controls or the availability of systems, the absence of auditing data makes it impossible to identify the source of changes that impact the confidentiality, integrity, and availability of data and systems throughout an AD domain. The lack of proper auditing can result in insufficient forensic evidence needed to investigate an incident and prosecute the intruder.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the audit settings for Group Policy objects to include the following.

  This can be done at the Policy level in Active Directory to apply to all group policies.

  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Select "Advanced Features" from the "View" Menu.

  Navigate to [Domain] >> System >> Policies in the left panel.

  Right click "Policies", select "Properties".

  Select the "Security" tab.

  Select the "Advanced" button.

  Select the "Auditing" tab.

  Type - Fail
  Principal - Everyone
  Access - Full Control
  Applies to - This object and all descendant objects or Descendant groupPolicyContainer objects

  The three Success types listed below are defaults inherited from the Parent Object. Where Special is listed in the summary screens for Access, detailed Permissions are provided for reference.

  Type - Success
  Principal - Everyone
  Access - Special (Permissions: Write all properties, Modify permissions; Properties: all "Write" type selected)
  Inherited from - Parent Object
  Applies to - Descendant groupPolicyContainer objects

  Two instances with the following summary information will be listed.

  Type - Success
  Principal - Everyone
  Access - blank (Permissions: none selected; Properties: one instance - Write gPLink, one instance - Write gPOptions)
  Inherited from - Parent Object
  Applies to - Descendant Organization Unit Objects

check_text:
  This applies to domain controllers. It is NA for other systems.

  Review the auditing configuration for all Group Policy objects.

  Open "Group Policy Management" (available from various menus or run "gpmc.msc").

  Navigate to "Group Policy Objects" in the domain being reviewed (Forest >> Domains >> Domain).

  For each Group Policy object:

  Select the Group Policy object item in the left pane.

  Select the "Delegation" tab in the right pane.

  Select the "Advanced" button.

  Select the "Advanced" button again and then the "Auditing" tab.

  If the audit settings for any Group Policy object are not at least as inclusive as those below, this is a finding.

  Type - Fail
  Principal - Everyone
  Access - Full Control
  Applies to - This object and all descendant objects or Descendant groupPolicyContainer objects

  The three Success types listed below are defaults inherited from the Parent Object. Where Special is listed in the summary screens for Access, detailed Permissions are provided for reference.

  Type - Success
  Principal - Everyone
  Access - Special (Permissions: Write all properties, Modify permissions; Properties: all "Write" type selected)
  Inherited from - Parent Object
  Applies to - Descendant groupPolicyContainer objects

  Two instances with the following summary information will be listed.

  Type - Success
  Principal - Everyone
  Access - blank (Permissions: none selected; Properties: one instance - Write gPLink, one instance - Write gPOptions)
  Inherited from - Parent Object
  Applies to - Descendant Organization Unit Objects


vuln_id: V-224981
rule_id: SV-224981r958732_rule
severity: CAT II
title: The Active Directory Domain object must be configured with proper audit settings.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>When inappropriate audit settings are configured for directory service database objects, it may be possible for a user or process to update the data without generating any tracking data. The impact of missing audit data is related to the type of object. A failure to capture audit data for objects used by identification, authentication, or authorization functions could degrade or eliminate the ability to track changes to access policy for systems or data. 

  For Active Directory (AD), there are a number of critical object types in the domain naming context of the AD database for which auditing is essential. This includes the Domain object. Because changes to these objects can significantly impact access controls or the availability of systems, the absence of auditing data makes it impossible to identify the source of changes that impact the confidentiality, integrity, and availability of data and systems throughout an AD domain. The lack of proper auditing can result in insufficient forensic evidence needed to investigate an incident and prosecute the intruder.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Ensure "Advanced Features" is selected in the "View" menu.

  Select the domain being reviewed in the left pane.

  Right-click the domain name and select "Properties".

  Select the "Security" tab.

  Select the "Advanced" button and then the "Auditing" tab.

  Configure the audit settings for Domain object to include the following.

  Type - Fail
  Principal - Everyone
  Access - Full Control
  Inherited from - None
  Applies to - This object only

  The success types listed below are defaults. Where Special is listed in the summary screens for Access, detailed Permissions are provided for reference. Various Properties selections may also exist by default.

  Two instances with the following summary information will be listed.

  Type - Success
  Principal - Everyone
  Access - (blank)
  Inherited from - None
  Applies to - Special

  Type - Success
  Principal - Domain Users
  Access - All extended rights
  Inherited from - None
  Applies to - This object only

  Type - Success
  Principal - Administrators
  Access - All extended rights
  Inherited from - None
  Applies to - This object only

  Type - Success
  Principal - Everyone
  Access - Special
  Inherited from - None
  Applies to - This object only
  (Access - Special = Permissions: Write all properties, Modify permissions, Modify owner.)

check_text:
  This applies to domain controllers. It is NA for other systems.

  Review the auditing configuration for the Domain object.

  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Ensure "Advanced Features" is selected in the "View" menu.

  Select the domain being reviewed in the left pane.

  Right-click the domain name and select "Properties".

  Select the "Security" tab.

  Select the "Advanced" button and then the "Auditing" tab.

  If the audit settings on the Domain object are not at least as inclusive as those below, this is a finding.

  Type - Fail
  Principal - Everyone
  Access - Full Control
  Inherited from - None
  Applies to - This object only

  The success types listed below are defaults. Where Special is listed in the summary screens for Access, detailed Permissions are provided for reference. Various Properties selections may also exist by default.

  Two instances with the following summary information will be listed.

  Type - Success
  Principal - Everyone
  Access - (blank)
  Inherited from - None
  Applies to - Special

  Type - Success
  Principal - Domain Users
  Access - All extended rights
  Inherited from - None
  Applies to - This object only

  Type - Success
  Principal - Administrators
  Access - All extended rights
  Inherited from - None
  Applies to - This object only

  Type - Success
  Principal - Everyone
  Access - Special
  Inherited from - None
  Applies to - This object only
  (Access - Special = Permissions: Write all properties, Modify permissions, Modify owner)


vuln_id: V-224982
rule_id: SV-224982r958732_rule
severity: CAT II
title: The Active Directory Infrastructure object must be configured with proper audit settings.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>When inappropriate audit settings are configured for directory service database objects, it may be possible for a user or process to update the data without generating any tracking data. The impact of missing audit data is related to the type of object. A failure to capture audit data for objects used by identification, authentication, or authorization functions could degrade or eliminate the ability to track changes to access policy for systems or data. 

  For Active Directory (AD), there are a number of critical object types in the domain naming context of the AD database for which auditing is essential. This includes the Infrastructure object. Because changes to these objects can significantly impact access controls or the availability of systems, the absence of auditing data makes it impossible to identify the source of changes that impact the confidentiality, integrity, and availability of data and systems throughout an AD domain. The lack of proper auditing can result in insufficient forensic evidence needed to investigate an incident and prosecute the intruder.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Ensure "Advanced Features" is selected in the "View" menu.

  Select the domain being reviewed in the left pane.

  Right-click the "Infrastructure" object in the right pane and select "Properties".

  Select the "Security" tab.

  Select the "Advanced" button and then the "Auditing" tab.

  Configure the audit settings for Infrastructure object to include the following.

  Type - Fail
  Principal - Everyone
  Access - Full Control
  Inherited from - None

  The success types listed below are defaults. Where Special is listed in the summary screens for Access, detailed Permissions are provided for reference. Various Properties selections may also exist by default.

  Type - Success
  Principal - Everyone
  Access - Special
  Inherited from - None
  (Access - Special = Permissions: Write all properties, All extended rights, Change infrastructure master)

  Two instances with the following summary information will be listed.

  Type - Success
  Principal - Everyone
  Access - (blank)
  Inherited from - (CN of domain)

check_text:
  This applies to domain controllers. It is NA for other systems.

  Review the auditing configuration for Infrastructure object.

  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Ensure "Advanced Features" is selected in the "View" menu.

  Select the domain being reviewed in the left pane.

  Right-click the "Infrastructure" object in the right pane and select "Properties".

  Select the "Security" tab.

  Select the "Advanced" button and then the "Auditing" tab.

  If the audit settings on the Infrastructure object are not at least as inclusive as those below, this is a finding.

  Type - Fail
  Principal - Everyone
  Access - Full Control
  Inherited from - None

  The success types listed below are defaults. Where Special is listed in the summary screens for Access, detailed Permissions are provided for reference. Various Properties selections may also exist by default.

  Type - Success
  Principal - Everyone
  Access - Special
  Inherited from - None
  (Access - Special = Permissions: Write all properties, All extended rights, Change infrastructure master)

  Two instances with the following summary information will be listed.
  Type - Success
  Principal - Everyone
  Access - (blank)
  Inherited from - (CN of domain)


vuln_id: V-224983
rule_id: SV-224983r958732_rule
severity: CAT II
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The Active Directory Domain Controllers Organizational Unit (OU) object must be configured with proper audit settings.

description:
  <VulnDiscussion>When inappropriate audit settings are configured for directory service database objects, it may be possible for a user or process to update the data without generating any tracking data. The impact of missing audit data is related to the type of object. A failure to capture audit data for objects used by identification, authentication, or authorization functions could degrade or eliminate the ability to track changes to access policy for systems or data. 

  For Active Directory (AD), there are a number of critical object types in the domain naming context of the AD database for which auditing is essential. This includes the Domain Controller OU object. Because changes to these objects can significantly impact access controls or the availability of systems, the absence of auditing data makes it impossible to identify the source of changes that impact the confidentiality, integrity, and availability of data and systems throughout an AD domain. The lack of proper auditing can result in insufficient forensic evidence needed to investigate an incident and prosecute the intruder.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Ensure "Advanced Features" is selected in the "View" menu.

  Select the "Domain Controllers OU" under the domain being reviewed in the left pane.

  Right-click the "Domain Controllers OU" object and select "Properties".

  Select the "Security" tab.

  Select the "Advanced" button and then the "Auditing" tab.

  Configure the audit settings for Domain Controllers OU object to include the following.

  Type - Fail
  Principal - Everyone
  Access - Full Control
  Inherited from - None

  The success types listed below are defaults. Where Special is listed in the summary screens for Access, detailed Permissions are provided for reference. Various Properties selections may also exist by default.

  Type - Success
  Principal - Everyone
  Access - Special
  Inherited from - None
  Applies to - This object only
  (Access - Special = Permissions: all create, delete and modify permissions)

  Type - Success
  Principal - Everyone
  Access - Write all properties
  Inherited from - None
  Applies to - This object and all descendant objects

  Two instances with the following summary information will be listed.

  Type - Success
  Principal - Everyone
  Access - (blank)
  Inherited from - (CN of domain)
  Applies to - Descendant Organizational Unit objects

check_text:
  This applies to domain controllers. It is NA for other systems.

  Review the auditing configuration for the Domain Controller OU object.

  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Ensure "Advanced Features" is selected in the "View" menu.

  Select the "Domain Controllers OU" under the domain being reviewed in the left pane.

  Right-click the "Domain Controllers OU" object and select "Properties".

  Select the "Security" tab.

  Select the "Advanced" button and then the "Auditing" tab.

  If the audit settings on the Domain Controllers OU object are not at least as inclusive as those below, this is a finding.

  Type - Fail
  Principal - Everyone
  Access - Full Control
  Inherited from - None
  Applies to - This object and all descendant objects

  The success types listed below are defaults. Where Special is listed in the summary screens for Access, detailed Permissions are provided for reference. Various Properties selections may also exist by default.

  Type - Success
  Principal - Everyone
  Access - Special
  Inherited from - None
  Applies to - This object only
  (Access - Special = Permissions: all create, delete and modify permissions)

  Type - Success
  Principal - Everyone
  Access - Write all properties
  Inherited from - None
  Applies to - This object and all descendant objects

  Two instances with the following summary information will be listed.

  Type - Success
  Principal - Everyone
  Access - (blank)
  Inherited from - (CN of domain)
  Applies to - Descendant Organizational Unit objects


vuln_id: V-224984
rule_id: SV-224984r958732_rule
severity: CAT II
title: The Active Directory AdminSDHolder object must be configured with proper audit settings.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>When inappropriate audit settings are configured for directory service database objects, it may be possible for a user or process to update the data without generating any tracking data. The impact of missing audit data is related to the type of object. A failure to capture audit data for objects used by identification, authentication, or authorization functions could degrade or eliminate the ability to track changes to access policy for systems or data. 

  For Active Directory (AD), there are a number of critical object types in the domain naming context of the AD database for which auditing is essential. This includes the AdminSDHolder object. Because changes to these objects can significantly impact access controls or the availability of systems, the absence of auditing data makes it impossible to identify the source of changes that impact the confidentiality, integrity, and availability of data and systems throughout an AD domain. The lack of proper auditing can result in insufficient forensic evidence needed to investigate an incident and prosecute the intruder.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Ensure "Advanced Features" is selected in the "View" menu.

  Select "System" under the domain being reviewed in the left pane.

  Right-click the "AdminSDHolder" object in the right pane and select "Properties".

  Select the "Security" tab.

  Select the "Advanced" button and then the "Auditing" tab.

  Configure the audit settings for AdminSDHolder object to include the following.

  Type - Fail
  Principal - Everyone
  Access - Full Control
  Inherited from - None
  Applies to - This object only

  The success types listed below are defaults. Where Special is listed in the summary screens for Access, detailed Permissions are provided for reference. Various Properties selections may also exist by default.

  Type - Success
  Principal - Everyone
  Access - Special
  Inherited from - None
  Applies to - This object only
  (Access - Special = Write all properties, Modify permissions, Modify owner)

  Two instances with the following summary information will be listed.

  Type - Success
  Principal - Everyone
  Access - (blank)
  Inherited from - (CN of domain)
  Applies to - Descendant Organizational Unit objects

check_text:
  This applies to domain controllers. It is NA for other systems.

  Review the auditing configuration for the "AdminSDHolder" object.

  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Ensure "Advanced Features" is selected in the "View" menu.

  Select "System" under the domain being reviewed in the left pane.

  Right-click the "AdminSDHolder" object in the right pane and select "Properties".

  Select the "Security" tab.

  Select the "Advanced" button and then the "Auditing" tab.

  If the audit settings on the "AdminSDHolder" object are not at least as inclusive as those below, this is a finding.

  Type - Fail
  Principal - Everyone
  Access - Full Control
  Inherited from - None
  Applies to - This object only

  The success types listed below are defaults. Where Special is listed in the summary screens for Access, detailed Permissions are provided for reference. Various Properties selections may also exist by default.

  Type - Success
  Principal - Everyone
  Access - Special
  Inherited from - None
  Applies to - This object only
  (Access - Special = Write all properties, Modify permissions, Modify owner)

  Two instances with the following summary information will be listed.

  Type - Success
  Principal - Everyone
  Access - (blank)
  Inherited from - (CN of domain)
  Applies to - Descendant Organizational Unit objects


vuln_id: V-224985
rule_id: SV-224985r958732_rule
severity: CAT II
title: The Active Directory RID Manager$ object must be configured with proper audit settings.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>When inappropriate audit settings are configured for directory service database objects, it may be possible for a user or process to update the data without generating any tracking data. The impact of missing audit data is related to the type of object. A failure to capture audit data for objects used by identification, authentication, or authorization functions could degrade or eliminate the ability to track changes to access policy for systems or data. 

  For Active Directory (AD), there are a number of critical object types in the domain naming context of the AD database for which auditing is essential. This includes the RID Manager$ object. Because changes to these objects can significantly impact access controls or the availability of systems, the absence of auditing data makes it impossible to identify the source of changes that impact the confidentiality, integrity, and availability of data and systems throughout an AD domain. The lack of proper auditing can result in insufficient forensic evidence needed to investigate an incident and prosecute the intruder.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Ensure "Advanced Features" is selected in the "View" menu.

  Select "System" under the domain being reviewed in the left pane.

  Right-click the "RID Manager$" object in the right pane and select "Properties".

  Select the "Security" tab.

  Select the "Advanced" button and then the "Auditing" tab.

  Configure the audit settings for RID Manager$ object to include the following.

  Type - Fail
  Principal - Everyone
  Access - Full Control
  Inherited from - None

  The success types listed below are defaults. Where Special is listed in the summary screens for Access, detailed Permissions are provided for reference. Various Properties selections may also exist by default.

  Type - Success
  Principal - Everyone
  Access - Special
  Inherited from - None
   (Access - Special = Write all properties, All extended rights, Change RID master)

  Two instances with the following summary information will be listed.

  Type - Success
  Principal - Everyone
  Access - (blank)
  Inherited from - (CN of domain)

check_text:
  This applies to domain controllers. It is NA for other systems.

  Review the auditing configuration for the "RID Manager$" object.

  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Ensure "Advanced Features" is selected in the "View" menu.

  Select "System" under the domain being reviewed in the left pane.

  Right-click the "RID Manager$" object in the right pane and select "Properties".

  Select the "Security" tab.

  Select the "Advanced" button and then the "Auditing" tab.

  If the audit settings on the "RID Manager$" object are not at least as inclusive as those below, this is a finding.

  Type - Fail
  Principal - Everyone
  Access - Full Control
  Inherited from - None

  The success types listed below are defaults. Where Special is listed in the summary screens for Access, detailed Permissions are provided for reference. Various Properties selections may also exist by default.

  Type - Success
  Principal - Everyone
  Access - Special
  Inherited from - None
   (Access - Special = Write all properties, All extended rights, Change RID master)

  Two instances with the following summary information will be listed.

  Type - Success
  Principal - Everyone
  Access - (blank)
  Inherited from - (CN of domain)


vuln_id: V-224986
rule_id: SV-224986r958368_rule
severity: CAT II
cci: CCI-000018
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Windows Server 2016 must be configured to audit Account Management - Computer Account Management successes.

description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Computer Account Management records events such as creating, changing, deleting, renaming, disabling, or enabling computer accounts.

  Satisfies: SRG-OS-000004-GPOS-00004, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000303-GPOS-00120, SRG-OS-000476-GPOS-00221</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Account Management >> "Audit Computer Account Management" with "Success" selected.

check_text:
  This applies to domain controllers. It is NA for other systems.

  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following.

  If the system does not audit the following, this is a finding.

  Account Management >> Computer Account Management - Success


vuln_id: V-224987
rule_id: SV-224987r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit DS Access - Directory Service Access successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Audit Directory Service Access records events related to users accessing an Active Directory object.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> DS Access >> "Directory Service Access" with "Success" selected.

check_text:
  This applies to domain controllers. It is NA for other systems.

  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following. 

  If the system does not audit the following, this is a finding.

  DS Access >> Directory Service Access - Success


vuln_id: V-224988
rule_id: SV-224988r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit DS Access - Directory Service Access failures.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Audit Directory Service Access records events related to users accessing an Active Directory object.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> DS Access >> "Directory Service Access" with "Failure" selected.

check_text:
  This applies to domain controllers. It is NA for other systems.

  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following. 

  If the system does not audit the following, this is a finding.

  DS Access >> Directory Service Access - Failure


vuln_id: V-224989
rule_id: SV-224989r958732_rule
severity: CAT II
title: Windows Server 2016 must be configured to audit DS Access - Directory Service Changes successes.
cci: CCI-000172
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.

  Audit Directory Service Changes records events related to changes made to objects in Active Directory Domain Services.

  Satisfies: SRG-OS-000327-GPOS-00127, SRG-OS-000458-GPOS-00203, SRG-OS-000463-GPOS-00207, SRG-OS-000468-GPOS-00212</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> DS Access >> "Directory Service Changes" with "Success" selected.

check_text:
  This applies to domain controllers. It is NA for other systems.

  Security Option "Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings" must be set to "Enabled" (WN16-SO-000050) for the detailed auditing subcategories to be effective. 

  Use the AuditPol tool to review the current Audit Policy configuration:

  Open an elevated "Command Prompt" (run as administrator).

  Enter "AuditPol /get /category:*".

  Compare the AuditPol settings with the following. 

  If the system does not audit the following, this is a finding.

  DS Access >> Directory Service Changes - Success


vuln_id: V-224991
rule_id: SV-224991r958448_rule
severity: CAT II
title: Domain controllers must have a PKI server certificate.
fix_text: Obtain a server certificate for the domain controller.
cci: CCI-000185
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Domain controllers are part of the chain of trust for PKI authentications. Without the appropriate certificate, the authenticity of the domain controller cannot be verified. Domain controllers must have a server certificate to establish authenticity as part of PKI authentications in the domain.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

check_text:
  This applies to domain controllers. It is NA for other systems.

  Run "MMC".

  Select "Add/Remove Snap-in" from the "File" menu.

  Select "Certificates" in the left pane and click the "Add >" button.

  Select "Computer Account" and click "Next".

  Select the appropriate option for "Select the computer you want this snap-in to manage" and click "Finish".

  Click "OK".

  Select and expand the Certificates (Local Computer) entry in the left pane.

  Select and expand the Personal entry in the left pane.

  Select the Certificates entry in the left pane.

  If no certificate for the domain controller exists in the right pane, this is a finding.


vuln_id: V-224992
rule_id: SV-224992r958448_rule
severity: CAT I
fix_text: Obtain a server certificate for the domain controller issued by the DoD PKI or an approved ECA.
cci: CCI-000185
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Domain Controller PKI certificates must be issued by the DoD PKI or an approved External Certificate Authority (ECA).

description:
  <VulnDiscussion>A PKI implementation depends on the practices established by the Certificate Authority (CA) to ensure the implementation is secure. Without proper practices, the certificates issued by a CA have limited value in authentication functions. The use of multiple CAs from separate PKI implementations results in interoperability issues. If servers and clients do not have a common set of root CA certificates, they are not able to authenticate each other.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

check_text:
  This applies to domain controllers. It is NA for other systems.

  Run "MMC".

  Select "Add/Remove Snap-in" from the "File" menu.

  Select "Certificates" in the left pane and click the "Add >" button.

  Select "Computer Account" and click "Next".

  Select the appropriate option for "Select the computer you want this snap-in to manage" and click "Finish".

  Click "OK".

  Select and expand the Certificates (Local Computer) entry in the left pane.

  Select and expand the Personal entry in the left pane.

  Select the Certificates entry in the left pane.

  In the right pane, examine the "Issued By" field for the certificate to determine the issuing CA.

  If the "Issued By" field of the PKI certificate being used by the domain controller does not indicate the issuing CA is part of the DoD PKI or an approved ECA, this is a finding.

  If the certificates in use are issued by a CA authorized by the Component's CIO, this is a CAT II finding.

  There are multiple sources from which lists of valid DoD CAs and approved ECAs can be obtained: 

  The Global Directory Service (GDS) website provides an online source. The address for this site is https://crl.gds.disa.mil.

  DoD Public Key Enablement (PKE) Engineering Support maintains the InstallRoot utility to manage DoD supported root certificates on Windows computers, which includes a list of authorized CAs. The utility package can be downloaded from the PKI and PKE Tools page on IASE:

  http://iase.disa.mil/pki-pke/function_pages/tools.html


vuln_id: V-224993
rule_id: SV-224993r958448_rule
severity: CAT I
cci: CCI-000185
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  PKI certificates associated with user accounts must be issued by the DoD PKI or an approved External Certificate Authority (ECA).

description:
  <VulnDiscussion>A PKI implementation depends on the practices established by the Certificate Authority (CA) to ensure the implementation is secure. Without proper practices, the certificates issued by a CA have limited value in authentication functions.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Map user accounts to PKI certificates using the appropriate User Principal Name (UPN) for the network. See PKE documentation for details.

check_text:
  This applies to domain controllers. It is NA for other systems.

  Review user account mappings to PKI certificates.

  Open "Windows PowerShell".

  Enter "Get-ADUser -Filter * | FT Name, UserPrincipalName, Enabled".

  Exclude disabled accounts (e.g., DefaultAccount, Guest) and the krbtgt account.

  If the User Principal Name (UPN) is not in the format of an individual's identifier for the certificate type and for the appropriate domain suffix, this is a finding.

  For standard NIPRNet certificates the individual's identifier is in the format of an Electronic Data Interchange - Personnel Identifier (EDI-PI).

  Alt Tokens and other certificates may use a different UPN format than the EDI-PI which vary by organization. Verified these with the organization.

  NIPRNet Example:
  Name - User Principal Name
  User1 - 1234567890@mil

  See PKE documentation for other network domain suffixes.

  If the mappings are to certificates issued by a CA authorized by the Component's CIO, this is a CAT II finding.


vuln_id: V-224994
rule_id: SV-224994r958484_rule
severity: CAT II
cci: CCI-000765
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Active Directory user accounts, including administrators, must be configured to require the use of a Common Access Card (CAC), Personal Identity Verification (PIV)-compliant hardware token, or Alternate Logon Token (ALT) for user authentication.

description:
  <VulnDiscussion>Smart cards such as the CAC support a two-factor authentication technique. This provides a higher level of trust in the asserted identity than use of the username and password for authentication.

  Satisfies: SRG-OS-000105-GPOS-00052, SRG-OS-000106-GPOS-00053, SRG-OS-000107-GPOS-00054, SRG-OS-000108-GPOS-00055, SRG-OS-000375-GPOS-00160</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure all user accounts, including administrator accounts, in Active Directory to enable the option "Smart card is required for interactive logon".

  Run "Active Directory Users and Computers" (available from various menus or run "dsa.msc"):

  Select the OU where the user accounts are located. (By default this is the Users node; however, accounts may be under other organization-defined OUs.)

  Right-click the user account and select "Properties".

  Select the "Account" tab.

  Check "Smart card is required for interactive logon" in the "Account Options" area.

check_text:
  This applies to domain controllers. It is NA for other systems.

  Open "PowerShell".

  Enter the following:

  "Get-ADUser -Filter {(Enabled -eq $True) -and (SmartcardLogonRequired -eq $False)} | FT Name"
  ("DistinguishedName" may be substituted for "Name" for more detailed output.)

  If any user accounts, including administrators, are listed, this is a finding.

  Alternately:

  To view sample accounts in "Active Directory Users and Computers" (available from various menus or run "dsa.msc"):

  Select the Organizational Unit (OU) where the user accounts are located. (By default, this is the Users node; however, accounts may be under other organization-defined OUs.)

  Right-click the sample user account and select "Properties".

  Select the "Account" tab.

  If any user accounts, including administrators, do not have "Smart card is required for interactive logon" checked in the "Account Options" area, this is a finding.


vuln_id: V-224995
rule_id: SV-224995r958908_rule
severity: CAT II
title: Domain controllers must require LDAP access signing.
cci: CCI-002418
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Unsigned network traffic is susceptible to man-in-the-middle attacks, where an intruder captures packets between the server and the client and modifies them before forwarding them to the client. In the case of an LDAP server, this means that an attacker could cause a client to make decisions based on false records from the LDAP directory. The risk of an attacker pulling this off can be decreased by implementing strong physical security measures to protect the network infrastructure. Furthermore, implementing Internet Protocol security (IPsec) authentication header mode (AH), which performs mutual authentication and packet integrity for Internet Protocol (IP) traffic, can make all types of man-in-the-middle attacks extremely difficult.

  Satisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000424-GPOS-00188</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> "Domain controller: LDAP server signing requirements" to "Require signing".

check_text:
  This applies to domain controllers. It is NA for other systems.

  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE 
  Registry Path: \SYSTEM\CurrentControlSet\Services\NTDS\Parameters\

  Value Name: LDAPServerIntegrity

  Value Type: REG_DWORD
  Value: 0x00000002 (2)


vuln_id: V-224996
rule_id: SV-224996r991589_rule
severity: CAT II
title: Domain controllers must be configured to allow reset of machine account passwords.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Enabling this setting on all domain controllers in a domain prevents domain members from changing their computer account passwords. If these passwords are weak or compromised, the inability to change them may leave these computers vulnerable.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> "Domain controller: Refuse machine account password changes" to "Disabled".

check_text:
  This applies to domain controllers. It is NA for other systems.

  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE 
  Registry Path: \SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\

  Value Name: RefusePasswordChange

  Value Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-224997
rule_id: SV-224997r958472_rule
severity: CAT II
cci: CCI-000213
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The Access this computer from the network user right must only be assigned to the Administrators, Authenticated Users, and 
  Enterprise Domain Controllers groups on domain controllers.

description:
  <VulnDiscussion>Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities.

  Accounts with the "Access this computer from the network" right may access resources on the system, and this right must be limited to those requiring it.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> "Access this computer from the network" to include only the following accounts or groups:

  - Administrators
  - Authenticated Users
  - Enterprise Domain Controllers

check_text:
  This applies to domain controllers. It is NA for other systems.

  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment.

  If any accounts or groups other than the following are granted the "Access this computer from the network" right, this is a finding.

  - Administrators
  - Authenticated Users
  - Enterprise Domain Controllers

  For server core installations, run the following command:

  Secedit /Export /Areas User_Rights /cfg c:\path\filename.txt

  Review the text file.

  If any SIDs other than the following are granted the "SeNetworkLogonRight" user right, this is a finding.

  S-1-5-32-544 (Administrators)
  S-1-5-11 (Authenticated Users)
  S-1-5-9 (Enterprise Domain Controllers)

  If an application requires this user right, this would not be a finding.

  Vendor documentation must support the requirement for having the user right.

  The requirement must be documented with the ISSO.

  The application account must meet requirements for application account passwords, such as length (WN16-00-000060) and required frequency of changes (WN16-00-000070).


vuln_id: V-224998
rule_id: SV-224998r958726_rule
severity: CAT II
title: The Add workstations to domain user right must only be assigned to the Administrators group.
cci: CCI-002235
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities.

  Accounts with the "Add workstations to domain" right may add computers to a domain. This could result in unapproved or incorrectly configured systems being added to a domain.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> "Add workstations to domain" to include only the following accounts or groups:

  - Administrators

check_text:
  This applies to domain controllers. It is NA for other systems.

  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment.

  If any accounts or groups other than the following are granted the "Add workstations to domain" right, this is a finding.

  - Administrators

  For server core installations, run the following command:

  Secedit /Export /Areas User_Rights /cfg c:\path\filename.txt

  Review the text file.

  If any SIDs other than the following are granted the "SeMachineAccountPrivilege" user right, this is a finding.

  S-1-5-32-544 (Administrators)


vuln_id: V-224999
rule_id: SV-224999r958472_rule
severity: CAT II
cci: CCI-000213
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The Allow log on through Remote Desktop Services user right must only be assigned to the Administrators group.

description:
  <VulnDiscussion>Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities.

  Accounts with the "Allow log on through Remote Desktop Services" user right can access a system through Remote Desktop.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> "Allow log on through Remote Desktop Services" to include only the following accounts or groups:

  - Administrators

check_text:
  This applies to domain controllers, it is NA for other systems.

  Verify the effective setting in Local Group Policy Editor.
  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment.

  If any accounts or groups other than the following are granted the "Allow log on through Remote Desktop Services" user right, this is a finding.

  - Administrators

  For server core installations, run the following command:

  Secedit /Export /Areas User_Rights /cfg c:\path\filename.txt

  Review the text file.

  If any SIDs other than the following are granted the "SeRemoteInteractiveLogonRight" user right, this is a finding.

  S-1-5-32-544 (Administrators)


vuln_id: V-225000
rule_id: SV-225000r958472_rule
severity: CAT II
cci: CCI-000213
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The Deny access to this computer from the network user right on domain controllers must be configured to prevent unauthenticated access.

description:
  <VulnDiscussion>Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities.

  The "Deny access to this computer from the network" user right defines the accounts that are prevented from logging on from the network.

  The Guests group must be assigned this right to prevent unauthenticated access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> "Deny access to this computer from the network" to include the following:

  - Guests Group

check_text:
  This applies to domain controllers. A separate version applies to other systems.

  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment.

  If the following accounts or groups are not defined for the "Deny access to this computer from the network" user right, this is a finding.

  - Guests Group

  For server core installations, run the following command:

  Secedit /Export /Areas User_Rights /cfg c:\path\filename.txt

  Review the text file.

  If the following SIDs are not defined for the "SeDenyNetworkLogonRight" user right, this is a finding.

  S-1-5-32-546 (Guests)


vuln_id: V-225001
rule_id: SV-225001r958472_rule
severity: CAT II
cci: CCI-000213
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The Deny log on as a batch job user right on domain controllers must be configured to prevent unauthenticated access.

description:
  <VulnDiscussion>Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities.

  The "Deny log on as a batch job" user right defines accounts that are prevented from logging on to the system as a batch job, such as Task Scheduler.

  The Guests group must be assigned to prevent unauthenticated access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> "Deny log on as a batch job" to include the following:

  - Guests Group

check_text:
  This applies to domain controllers. A separate version applies to other systems.

  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment.

  If the following accounts or groups are not defined for the "Deny log on as a batch job" user right, this is a finding.

  - Guests Group

  For server core installations, run the following command:

  Secedit /Export /Areas User_Rights /cfg c:\path\filename.txt

  Review the text file.

  If the following SID(s) are not defined for the "SeDenyBatchLogonRight" user right, this is a finding.

  S-1-5-32-546 (Guests)


vuln_id: V-225002
rule_id: SV-225002r958472_rule
severity: CAT II
cci: CCI-000213
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The Deny log on as a service user right must be configured to include no accounts or groups (blank) on domain controllers.

description:
  <VulnDiscussion>Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities.

  The "Deny log on as a service" user right defines accounts that are denied logon as a service.

  Incorrect configurations could prevent services from starting and result in a denial of service.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> "Deny log on as a service" to include no entries (blank).

check_text:
  This applies to domain controllers. A separate version applies to other systems.

  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment.

  If any accounts or groups are defined for the "Deny log on as a service" user right, this is a finding.

  For server core installations, run the following command:

  Secedit /Export /Areas User_Rights /cfg c:\path\filename.txt

  Review the text file.

  If any SIDs are granted the "SeDenyServiceLogonRight" user right, this is a finding.


vuln_id: V-225003
rule_id: SV-225003r958472_rule
severity: CAT II
cci: CCI-000213
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The Deny log on locally user right on domain controllers must be configured to prevent unauthenticated access.

description:
  <VulnDiscussion>Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities.

  The "Deny log on locally" user right defines accounts that are prevented from logging on interactively.

  The Guests group must be assigned this right to prevent unauthenticated access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> "Deny log on locally" to include the following:

  - Guests Group

check_text:
  This applies to domain controllers. A separate version applies to other systems.

  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment.

  If the following accounts or groups are not defined for the "Deny log on locally" user right, this is a finding.

  - Guests Group

  For server core installations, run the following command:

  Secedit /Export /Areas User_Rights /cfg c:\path\filename.txt

  Review the text file.

  If the following SID(s) are not defined for the "SeDenyInteractiveLogonRight" user right, this is a finding.

  S-1-5-32-546 (Guests)


vuln_id: V-225004
rule_id: SV-225004r958672_rule
severity: CAT II
cci: CCI-002314
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The Deny log on through Remote Desktop Services user right on domain controllers must be configured to prevent unauthenticated access.

description:
  <VulnDiscussion>Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities.

  The "Deny log on through Remote Desktop Services" user right defines the accounts that are prevented from logging on using Remote Desktop Services.

  The Guests group must be assigned this right to prevent unauthenticated access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> "Deny log on through Remote Desktop Services" to include the following:

  - Guests Group

check_text:
  This applies to domain controllers. A separate version applies to other systems.

  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment.

  If the following accounts or groups are not defined for the "Deny log on through Remote Desktop Services" user right, this is a finding.

  - Guests Group

  For server core installations, run the following command:

  Secedit /Export /Areas User_Rights /cfg c:\path\filename.txt

  Review the text file.

  If the following SID(s) are not defined for the "SeDenyRemoteInteractiveLogonRight" user right, this is a finding.

  S-1-5-32-546 (Guests)


vuln_id: V-225005
rule_id: SV-225005r958726_rule
severity: CAT II
cci: CCI-002235
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The Enable computer and user accounts to be trusted for delegation user right must only be assigned to the Administrators group on domain controllers.

description:
  <VulnDiscussion>Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities.

  The "Enable computer and user accounts to be trusted for delegation" user right allows the "Trusted for Delegation" setting to be changed. This could allow unauthorized users to impersonate other users.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> "Enable computer and user accounts to be trusted for delegation" to include only the following accounts or groups:

  - Administrators

check_text:
  This applies to domain controllers. A separate version applies to other systems.

  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment.

  If any accounts or groups other than the following are granted the "Enable computer and user accounts to be trusted for delegation" user right, this is a finding.

  - Administrators

  For server core installations, run the following command:

  Secedit /Export /Areas User_Rights /cfg c:\path\filename.txt

  Review the text file.

  If any SIDs other than the following are granted the "SeEnableDelegationPrivilege" user right, this is a finding.

  S-1-5-32-544 (Administrators)


vuln_id: V-225006
rule_id: SV-225006r991589_rule
severity: CAT II
title: The password for the krbtgt account on a domain must be reset at least every 180 days.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The krbtgt account acts as a service account for the Kerberos Key Distribution Center (KDC) service. The account and password are created when a domain is created and the password is typically not changed. If the krbtgt account is compromised, attackers can create valid Kerberos Ticket Granting Tickets (TGT).

  The password must be changed twice to effectively remove the password history.Changing once, waiting for replication to complete and the amount of time equal to or greater than the maximum Kerberos ticket lifetime, and changing again reduces the risk of issues.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Reset the password for the krbtgt account a least every 180 days. The password must be changed twice to effectively remove the password history. Changing once, waiting for replication to complete and changing again reduces the risk of issues. Changing twice in rapid succession forces clients to re-authenticate (including application services) but is desired if a compromise is suspected.

  PowerShell scripts are available to accomplish this such as at the following link:
  https://gallery.technet.microsoft.com/Reset-the-krbtgt-account-581a9e51

  Open "Active Directory Users and Computers" (available from various menus or run "dsa.msc").

  Select "Advanced Features" in the "View" menu if not previously selected.

  Select the "Users" node.

  Right click on the krbtgt account and select "Reset password".

  Enter a password that meets password complexity requirements.

  Clear the "User must change password at next logon" check box.

  The system will automatically change this to a system generated complex password.

check_text:
  This requirement is applicable to domain controllers; it is NA for other systems.

  Open "Windows PowerShell".

  Enter "Get-ADUser krbtgt -Property PasswordLastSet".

  If the "PasswordLastSet" date is more than 180 days old, this is a finding.


vuln_id: V-225007
rule_id: SV-225007r958726_rule
severity: CAT I
cci: CCI-002235
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Only administrators responsible for the member server or standalone or nondomain-joined system must have Administrator rights on the system.

description:
  <VulnDiscussion>An account that does not have Administrator duties must not have Administrator rights. Such rights would allow the account to bypass or modify required security restrictions on that machine and make it vulnerable to attack.

  System administrators must log on to systems using only accounts with the minimum level of authority necessary.

  For domain-joined member servers, the Domain Admins group must be replaced by a domain member server administrator group (refer to AD.0003 in the Active Directory Domain STIG). Restricting highly privileged accounts from the local Administrators group helps mitigate the risk of privilege escalation resulting from credential theft attacks.

  Standard user accounts must not be members of the built-in Administrators group.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the local "Administrators" group to include only administrator groups or accounts responsible for administration of the system.

  For domain-joined member servers, replace the Domain Admins group with a domain member server administrator group. 

  Remove any standard user accounts.

check_text:
  This applies to member servers and standalone or nondomain-joined systems. A separate version applies to domain controllers.

  Open "Computer Management".

  Navigate to "Groups" under "Local Users and Groups".

  Review the local "Administrators" group.

  Only administrator groups or accounts responsible for administration of the system may be members of the group.

  For domain-joined member servers, the Domain Admins group must be replaced by a domain member server administrator group.

  Standard user accounts must not be members of the local Administrator group.

  If accounts that do not have responsibility for administration of the system are members of the local Administrators group, this is a finding.

  If the built-in Administrator account or other required administrative accounts are found on the system, this is not a finding.


vuln_id: V-225008
rule_id: SV-225008r958518_rule
severity: CAT II
cci: CCI-001084
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Local administrator accounts must have their privileged token filtered to prevent elevated privileges from being used over the network on domain systems.

description:
  <VulnDiscussion>A compromised local administrator account can provide means for an attacker to move laterally between domain systems.

  With User Account Control enabled, filtering the privileged token for local administrator accounts will prevent the elevated privileges of these accounts from being used over the network.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> MS Security Guide >> "Apply UAC restrictions to local accounts on network logons" to "Enabled".

  This policy setting requires the installation of the SecGuide custom templates included with the STIG package. "SecGuide.admx" and "SecGuide.adml" must be copied to the \Windows\PolicyDefinitions and \Windows\PolicyDefinitions\en-US directories respectively.

check_text:
  This applies to member servers. For domain controllers and standalone or nondomain-joined systems, this is NA.

  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive:  HKEY_LOCAL_MACHINE
  Registry Path:  \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

  Value Name:  LocalAccountTokenFilterPolicy

  Type:  REG_DWORD
  Value: 0x00000000 (0)

  This setting may cause issues with some network scanning tools if local administrative accounts are used remotely. Scans should use domain accounts where possible. If a local administrative account must be used, temporarily enabling the privileged token by configuring the registry value to "1" may be required.


vuln_id: V-225009
rule_id: SV-225009r958478_rule
severity: CAT II
title: Local users on domain-joined computers must not be enumerated.
cci: CCI-000381
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The username is one part of logon credentials that could be used to gain access to a system. Preventing the enumeration of users limits this information to authorized personnel.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Logon >> "Enumerate local users on domain-joined computers" to "Disabled".

check_text:
  This applies to member servers. For domain controllers and standalone or nondomain-joined systems, this is NA.

  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\System\

  Value Name: EnumerateLocalUsers

  Type: REG_DWORD
  Value: 0x00000000 (0)


vuln_id: V-225010
rule_id: SV-225010r971545_rule
severity: CAT II
cci: CCI-001967
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  Unauthenticated Remote Procedure Call (RPC) clients must be restricted from connecting to the RPC server.

description:
  <VulnDiscussion>Unauthenticated RPC clients may allow anonymous access to sensitive information. Configuring RPC to restrict unauthenticated RPC clients from connecting to the RPC server will prevent anonymous connections.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Remote Procedure Call >> "Restrict Unauthenticated RPC clients" to "Enabled" with "Authenticated" selected.

check_text:
  This applies to member servers and standalone or nondomain-joined systems. It is NA for domain controllers.

  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive:  HKEY_LOCAL_MACHINE
  Registry Path:  \SOFTWARE\Policies\Microsoft\Windows NT\Rpc\

  Value Name:  RestrictRemoteClients

  Type:  REG_DWORD
  Value:  0x00000001 (1)


vuln_id: V-225011
rule_id: SV-225011r991589_rule
severity: CAT II
title: Caching of logon credentials must be limited.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The default Windows configuration caches the last logon credentials for users who log on interactively to a system. This feature is provided for system availability reasons, such as the user's machine being disconnected from the network or domain controllers being unavailable. Even though the credential cache is well protected, if a system is attacked, an unauthorized individual may isolate the password to a domain user account using a password-cracking program and gain access to the domain.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> "Interactive Logon: Number of previous logons to cache (in case Domain Controller is not available)" to "4" logons or less.

check_text:
  This applies to member servers. For domain controllers and standalone or nondomain-joined systems, this is NA.

  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive:  HKEY_LOCAL_MACHINE
  Registry Path:  \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\

  Value Name:  CachedLogonsCount

  Value Type:  REG_SZ
  Value:  4 (or less)


vuln_id: V-225012
rule_id: SV-225012r991589_rule
severity: CAT I
title: Windows Server 2016 must be running Credential Guard on domain-joined member servers.
cci: CCI-000366
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>Credential Guard uses virtualization-based security to protect data that could be used in credential theft attacks if compromised. This authentication information, which was stored in the Local Security Authority (LSA) in previous versions of Windows, is isolated from the rest of the operating system and can only be accessed by privileged system software.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Device Guard >> "Turn On Virtualization Based Security" to "Enabled" with "Enabled with UEFI lock" selected for "Credential Guard Configuration".

  A Microsoft article on Credential Guard system requirement can be found at the following link:

  https://docs.microsoft.com/en-us/windows/security/identity-protection/credential-guard/credential-guard-requirements

  Severity Override Guidance: The AO can allow the severity override if they have reviewed the overall protection provided to the affected servers that are not capable of complying with the Credential Guard requirement. Items that should be reviewed/considered for compliance or mitigation for non-Credential Guard compliance are:

  The use of Microsoft Local Administrator Password Solution (LAPS) or similar products to control different local administrative passwords for all affected affected servers. This is to include a strict password change requirement (60 days or less).
  ….
  Strict separation of roles and duties. Server administrator credentials cannot be used on Windows 10 desktop to administer it. Documentation of all exceptions should be supplied.
  ….
  Use of a Privileged Access Workstation (PAW) and adherence to the Clean Source principle for administering affected affected servers. 
  ….
  Boundary Protection that is currently in place to protect from vulnerabilities in the network/servers.
  ….
  Windows Defender rule block credential stealing from LSASS.exe is applied. This rule can only be applied if Windows Defender is in use.
  ….
  The overall number of vulnerabilities that are unmitigated on the network/servers.

check_text:
  For domain controllers and standalone or nondomain-joined systems, this is NA.

  Open "PowerShell" with elevated privileges (run as administrator).

  Enter the following:

  "Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard"

  If "SecurityServicesRunning" does not include a value of "1" (e.g., "{1, 2}"), this is a finding.

  Alternately:

  Run "System Information".

  Under "System Summary", verify the following:

  If "Device Guard Security Services Running" does not list "Credential Guard", this is a finding.

  The policy settings referenced in the Fix section will configure the following registry value. However, due to hardware requirements, the registry value alone does not ensure proper function.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SOFTWARE\Policies\Microsoft\Windows\DeviceGuard\

  Value Name: LsaCfgFlags
  Value Type: REG_DWORD
  Value: 0x00000001 (1) (Enabled with UEFI lock)

  A Microsoft article on Credential Guard system requirement can be found at the following link:

  https://docs.microsoft.com/en-us/windows/security/identity-protection/credential-guard/credential-guard-requirements


vuln_id: V-225013
rule_id: SV-225013r958726_rule
severity: CAT II
title: Remote calls to the Security Account Manager (SAM) must be restricted to Administrators.
cci: CCI-002235
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
description:
  <VulnDiscussion>The Windows Security Account Manager (SAM) stores users' passwords. Restricting Remote Procedure Call (RPC) connections to the SAM to Administrators helps protect those credentials.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Navigate to the policy Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> "Network access: Restrict clients allowed to make remote calls to SAM". 

  Select "Edit Security" to configure the "Security descriptor:".

  Add "Administrators" in "Group or user names:" if it is not already listed (this is the default).

  Select "Administrators" in "Group or user names:".

  Select "Allow" for "Remote Access" in "Permissions for "Administrators".

  Click "OK".

  The "Security descriptor:" must be populated with "O:BAG:BAD:(A;;RC;;;BA) for the policy to be enforced.

check_text:
  This applies to member servers and standalone or nondomain-joined systems. It is NA for domain controllers.

  If the following registry value does not exist or is not configured as specified, this is a finding.

  Registry Hive: HKEY_LOCAL_MACHINE
  Registry Path: \SYSTEM\CurrentControlSet\Control\Lsa\

  Value Name: RestrictRemoteSAM

  Value Type: REG_SZ
  Value: O:BAG:BAD:(A;;RC;;;BA)


vuln_id: V-225014
rule_id: SV-225014r958472_rule
severity: CAT II
cci: CCI-000213
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The "Access this computer from the network" user right must only be assigned to the Administrators and Authenticated Users groups on member servers.

description:
  <VulnDiscussion>Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities.

  Accounts with the "Access this computer from the network" user right may access resources on the system, and this right must be limited to those requiring it.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> "Access this computer from the network" to include only the following accounts or groups:

  - Administrators
  - Authenticated Users

check_text:
  This applies to member servers and standalone or nondomain-joined systems. A separate version applies to domain controllers.

  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment.

  If any accounts or groups other than the following are granted the "Access this computer from the network" user right, this is a finding.

  - Administrators
  - Authenticated Users

  For server core installations, run the following command:

  Secedit /Export /Areas User_Rights /cfg c:\path\filename.txt

  Review the text file.

  If any SIDs other than the following are granted the "SeNetworkLogonRight" user right, this is a finding.

  S-1-5-32-544 (Administrators)
  S-1-5-11 (Authenticated Users)

  If an application requires this user right, this would not be a finding.

  Vendor documentation must support the requirement for having the user right.

  The requirement must be documented with the ISSO.

  The application account must meet requirements for application account passwords, such as length (WN16-00-000060) and required frequency of changes (WN16-00-000070).


vuln_id: V-225015
rule_id: SV-225015r958472_rule
severity: CAT II
cci: CCI-000213
created_at: 2026-01-14 17:55:45
updated_at: 2026-01-14 17:55:45
title:
  The "Deny access to this computer from the network" user right on member servers must be configured to prevent access from highly privileged domain accounts and local accounts on domain systems and from unauthenticated access on all systems.

description:
  <VulnDiscussion>Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities.

  The "Deny access to this computer from the network" user right defines the accounts that are prevented from logging on from the network.

  In an Active Directory Domain, denying logons to the Enterprise Admins and Domain Admins groups on lower-trust systems helps mitigate the risk of privilege escalation from credential theft attacks, which could lead to the compromise of an entire domain.

  Local accounts on domain-joined systems must also be assigned this right to decrease the risk of lateral movement resulting from credential theft attacks.

  The Guests group must be assigned this right to prevent unauthenticated access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>

fix_text:
  Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> "Deny access to this computer from the network" to include the following:

  Domain Systems Only:
  - Enterprise Admins group
  - Domain Admins group
  - "Local account and member of Administrators group" or "Local account" (see Note below)

  All Systems:
  - Guests group

  Note: These are built-in security groups. "Local account" is more restrictive but may cause issues on servers such as systems that provide failover clustering.

check_text:
  This applies to member servers and standalone or nondomain-joined systems. A separate version applies to domain controllers.

  Verify the effective setting in Local Group Policy Editor.

  Run "gpedit.msc".

  Navigate to Local Computer Policy >> Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment.

  If the following accounts or groups are not defined for the "Deny access to this computer from the network" user right, this is a finding.

  Domain Systems Only:
  - Enterprise Admins group
  - Domain Admins group
  - "Local account and member of Administrators group" or "Local account" (see Note below)

  All Systems:
  - Guests group

  For server core installations, run the following command:

  Secedit /Export /Areas User_Rights /cfg c:\path\filename.txt

  Review the text file.

  If the following SIDs are not defined for the "SeDenyNetworkLogonRight" user right, this is a finding.

  Domain Systems Only:
  S-1-5-root domain-519 (Enterprise Admins)
  S-1-5-domain-512 (Domain Admins)
  S-1-5-114 ("Local account and member of Administrators group") or S-1-5-113 ("Local account")

  All Systems:
  S-1-5-32-546 (Guests)

  Note: These are built-in security groups. "Local account" is more restrictive but may cause issues on servers such as systems that provide failover clustering.


