Bu Güvenlik Teknik Uygulama Kılavuzu, Savunma Bakanlığı (DOD) bilgi sistemlerinin güvenliğini artırmaya yönelik bir araç olarak yayınlanmıştır. Gereksinimler Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) 800-53 ve ilgili belgelerden alınmıştır.
Başlık | Açıklama | İşlem | Kontrol |
Local volumes must be formatted using NTFS. | 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 the NTFS file system. | Format all local volumes to use NTFS. | Run “Computer Management”. Navigate to Storage >> Disk Management. If the “File System” column does not indicate “NTFS” for each volume assigned a drive letter, this is a finding. This does not apply to system partitions such the Recovery and EFI System Partition. |
Alternate operating systems must not be permitted on the same system. | Allowing other operating systems to run on a secure system may allow security to be circumvented. | Ensure Windows 10 is the only operating system on a device. Remove alternate operating systems. | Verify the system does not include other operating system installations. Run “Advanced System Settings”. Select the “Advanced” tab. Click the “Settings” button in the “Startup and Recovery” section. If the drop-down list box “Default operating system:” shows any operating system other than Windows 10, this is a finding. |
Enhanced anti-spoofing for facial recognition must be enabled on Window 10. | Enhanced anti-spoofing provides additional protections when using facial recognition with devices that support it. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Biometrics >> Facial Features >> “Configure enhanced anti-spoofing” to “Enabled”. v1607: The policy name is “Use enhanced anti-spoofing when available”. | Windows 10 v1507 LTSB version does not include this setting; it is NA for those 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: \SOFTWARE\Policies\Microsoft\Biometrics\FacialFeatures\ Value Name: EnhancedAntiSpoofing Value Type: REG_DWORD Value: 0x00000001 (1) |
Microsoft consumer experiences must be turned off. | Microsoft consumer experiences provides suggestions and notifications to users, which may include the installation of Windows Store apps. Organizations may control the execution of applications through other means such as whitelisting. Turning off Microsoft consumer experiences will help prevent the unwanted installation of suggested applications. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Cloud Content >> “Turn off Microsoft consumer experiences” to “Enabled”. | Windows 10 v1507 LTSB version does not include this setting; it is NA for those 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: \SOFTWARE\Policies\Microsoft\Windows\CloudContent\ Value Name: DisableWindowsConsumerFeatures Type: REG_DWORD Value: 0x00000001 (1) |
The Windows Defender SmartScreen for Explorer must be enabled. | Windows Defender SmartScreen helps protect systems from programs downloaded from the internet that may be malicious. Enabling Windows Defender SmartScreen will warn or prevent users from running potentially malicious programs. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> File Explorer >> “Configure Windows Defender SmartScreen” to “Enabled” with “Warn and prevent bypass” selected. Windows 10 includes duplicate policies for this setting. It can also be configured under Computer Configuration >> Administrative Templates >> Windows Components >> Windows Defender SmartScreen >> Explorer. v1607 LTSB: Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> File Explorer >> “Configure Windows SmartScreen” to “Enabled”. (Selection options are not available.) v1507 LTSB: Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> File Explorer >> “Configure Windows SmartScreen” to “Enabled” with “Require approval from an administrator before running downloaded unknown software” selected. | This is applicable to unclassified systems, for other 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\System\ Value Name: EnableSmartScreen Value Type: REG_DWORD Value: 0x00000001 (1) And Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \SOFTWARE\Policies\Microsoft\Windows\System\ Value Name: ShellSmartScreenLevel Value Type: REG_SZ Value: Block v1607 LTSB: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \SOFTWARE\Policies\Microsoft\Windows\System\ Value Name: EnableSmartScreen Value Type: REG_DWORD Value: 0x00000001 (1) v1507 LTSB: Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \SOFTWARE\Policies\Microsoft\Windows\System\ Value Name: EnableSmartScreen Value Type: REG_DWORD Value: 0x00000002 (2) |
Explorer Data Execution Prevention must be enabled. | Data Execution Prevention (DEP) 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. | 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”. | 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: 0 (or if the Value Name does not exist) |
Windows Telemetry must not be configured to Full. | 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. “Enhanced” includes additional information on how Windows and apps are used and advanced reliability data. Windows Analytics can use a “limited enhanced” level to provide information such as health data for devices. This requires the configuration of an additional setting available with v1709 and later of Windows 10. | 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:”. If an organization is using v1709 or later of Windows 10, this may be configured to “2 – Enhanced” to support Windows Analytics. V-220833 must also be configured to limit the Enhanced diagnostic data to the minimum required by Windows Analytics. | 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) If an organization is using v1709 or later of Windows 10, this may be configured to “Enhanced” to support Windows Analytics. V-220833 must also be configured to limit the Enhanced diagnostic data to the minimum required by Windows Analytics. This registry value will then be 0x00000002 (2). |
If Enhanced diagnostic data is enabled it must be limited to the minimum required to support Windows Analytics. | 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 “Enhanced” level for telemetry includes additional information beyond “Security” and “Basic” on how Windows and apps are used and advanced reliability data. Windows Analytics can use a “limited enhanced” level to provide information such as health data for devices. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Data Collection and Preview Builds >> “Limit Enhanced diagnostic data to the minimum required by Windows Analytics” to “Enabled” with “Enable Windows Analytics collection” selected in “Options:”. | This setting requires v1709 or later of Windows 10; it is NA for prior versions. If “Enhanced” level is enabled for telemetry, this must be configured. If “Security” or “Basic” are configured, this is NA. (See V-220834). 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: LimitEnhancedDiagnosticDataWindowsAnalytics Type: REG_DWORD Value: 0x00000001 (1) |
Secure Boot must be enabled on Windows 10 systems. | 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 10, including Virtualization Based Security and Credential Guard. If Secure Boot is turned off, these security features will not function. | Enable Secure Boot in the system firmware. | 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 10 hardware and firmware requirements are expected to be met. Devices that have UEFI firmware must have Secure Boot enabled. For virtual desktop implementations (VDIs) where the virtual desktop instance is deleted or refreshed upon logoff, this is NA. Run “System Information”. Under “System Summary”, if “Secure Boot State” does not display “On”, this is finding. |
Windows 10 must employ automated mechanisms to determine the state of system components with regard to flaw remediation using the following frequency: continuously, where 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). | An approved tool for continuous network scanning must be installed and configured to run. 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. To support this requirement, the operating system may have an integrated solution incorporating continuous scanning using ESS and periodic scanning using other tools, as specified in the requirement. | Install DoD-approved ESS software and ensure it is operating continuously. | 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. |
Windows 10 information systems must use BitLocker to encrypt all disks to protect the confidentiality and integrity of all information at rest. | If data at rest is unencrypted, it is vulnerable to disclosure. Even if the operating system enforces permissions on data access, an adversary can remove non-volatile memory and read it directly, thereby circumventing operating system controls. Encrypting the data ensures that confidentiality is protected even when the operating system is not running. | Enable full disk encryption on all information systems (including SIPRNet) using BitLocker. BitLocker, included in Windows, can be enabled in the Control Panel under “BitLocker Drive Encryption” as well as other management tools. NOTE: An alternate encryption application may be used in lieu of BitLocker providing it is configured for full disk encryption and satisfies the pre-boot authentication requirements (WN10-00-000031 and WN10-00-000032). | Verify all Windows 10 information systems (including SIPRNet) employ BitLocker for full disk encryption. For virtual desktop implementations (VDIs) in which the virtual desktop instance is deleted or refreshed upon logoff, this is NA. For Azure Virtual Desktop (AVD) implementations with no data at rest, this is NA. If full disk encryption using BitLocker is not implemented, this is a finding. Verify BitLocker is turned on for the operating system drive and any fixed data drives. Open “BitLocker Drive Encryption” from the Control Panel. If the operating system drive or any fixed data drives have “Turn on BitLocker”, this is a finding. NOTE: An alternate encryption application may be used in lieu of BitLocker providing it is configured for full disk encryption and satisfies the pre-boot authentication requirements (WN10-00-000031 and WN10-00-000032). |
Windows 10 systems must use a BitLocker PIN for pre-boot authentication. | If data at rest is unencrypted, it is vulnerable to disclosure. Even if the operating system enforces permissions on data access, an adversary can remove non-volatile memory and read it directly, thereby circumventing operating system controls. Encrypting the data ensures that confidentiality is protected even when the operating system is not running. Pre-boot authentication prevents unauthorized users from accessing encrypted drives. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> BitLocker Drive Encryption >> Operating System Drives “Require additional authentication at startup” to “Enabled” with “Configure TPM Startup PIN:” set to “Require startup PIN with TPM” or with “Configure TPM startup key and PIN:” set to “Require startup key and PIN with TPM”. | If the following registry value does not exist or is not configured as specified, this is a finding. For virtual desktop implementations (VDIs) in which the virtual desktop instance is deleted or refreshed upon logoff, this is NA. For Azure Virtual Desktop (AVD) implementations with no data at rest, this is NA. Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \SOFTWARE\Policies\Microsoft\FVE\ Value Name: UseAdvancedStartup Type: REG_DWORD Value: 0x00000001 (1) If one of the following registry values does not exist or is not configured as specified, this is a finding. Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \SOFTWARE\Policies\Microsoft\FVE\ Value Name: UseTPMPIN Type: REG_DWORD Value: 0x00000001 (1) Value Name: UseTPMKeyPIN Type: REG_DWORD Value: 0x00000001 (1) When BitLocker network unlock is used: Value Name: UseTPMPIN Type: REG_DWORD Value: 0x00000002 (2) Value Name: UseTPMKeyPIN Type: REG_DWORD Value: 0x00000002 (2) BitLocker network unlock may be used in conjunction with a BitLocker PIN. Refer to the article at the link below for information about network unlock. https://docs.microsoft.com/en-us/windows/security/information-protection/bitlocker/bitlocker-how-to-enable-network-unlock |
Windows 10 systems must use a BitLocker PIN with a minimum length of six digits for pre-boot authentication. | If data at rest is unencrypted, it is vulnerable to disclosure. Even if the operating system enforces permissions on data access, an adversary can remove non-volatile memory and read it directly, thereby circumventing operating system controls. Encrypting the data ensures that confidentiality is protected even when the operating system is not running. Pre-boot authentication prevents unauthorized users from accessing encrypted drives. Increasing the PIN length requires a greater number of guesses for an attacker. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> BitLocker Drive Encryption >> Operating System Drives “Configure minimum PIN length for startup” to “Enabled” with “Minimum characters:” set to “6” or greater. | If the following registry value does not exist or is not configured as specified, this is a finding. For virtual desktop implementations (VDIs) in which the virtual desktop instance is deleted or refreshed upon logoff, this is NA. For Azure Virtual Desktop (AVD) implementations with no data at rest, this is NA. Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \SOFTWARE\Policies\Microsoft\FVE\ Value Name: MinimumPIN Type: REG_DWORD Value: 0x00000006 (6) or greater |
The operating system must employ a deny-all, permit-by-exception policy to allow the execution of authorized software programs. | Utilizing an allowlist provides a configuration management method for allowing 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. | 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 10 Enterprise. 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 | This is applicable to unclassified systems; for other systems, this is Not Applicable. Verify the operating system employs a deny-all, permit-by-exception policy to allow the execution of authorized software programs. This must include packaged apps such as the universal apps installed by default on systems. 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 10 Enterprise. 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: Run “PowerShell”. 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 |
Windows 10 systems must be maintained at a supported servicing level. | Windows 10 is maintained by Microsoft at servicing levels for specific periods of time to support Windows as a Service. Systems at unsupported servicing levels or releases will not receive security updates for new vulnerabilities, which leaves them subject to exploitation. New versions with feature updates are planned to be released on a semiannual basis with an estimated support timeframe of 18 to 30 months depending on the release. Support for previously released versions has been extended for Enterprise editions. A separate servicing branch intended for special-purpose systems is the Long-Term Servicing Channel (LTSC, formerly Branch – LTSB), which will receive security updates for 10 years but excludes feature updates. | Update systems on the Semi-Annual Channel to “Microsoft Windows Version 22H2 (OS Build 190xx.x)” or greater. It is recommended systems be upgraded to the most recently released version. Special-purpose systems using the LTSC\B may be at the following versions: v1507 (Build 10240) v1607 (Build 14393) v1809 (Build 17763) v21H2 (Build 19044) | Run “winver.exe”. If the “About Windows” dialog box does not display the following or greater, this is a finding: “Microsoft Windows Version 21H2 (OS Build 220xx.x)” Note: Microsoft has extended support for previous versions, providing critical and important updates for Windows 10 Enterprise. Microsoft scheduled end-of-support dates for current Semi-Annual Channel versions: v22H2 – 14 Oct 2025 v21H2 – 13 Jun 2024 No preview versions will be used in a production environment. Special-purpose systems using the Long-Term Servicing Branch\Channel (LTSC\B) may be at the following versions, which is not a finding: v1507 (Build 10240) v1607 (Build 14393) v1809 (Build 17763) v21H2 (Build 19044) |
The Windows 10 system must use an anti-virus program. | 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. | If no anti-virus software is on the system and in use, install Windows Defender or a third-party anti-virus solution. | Verify an anti-virus solution is installed on the system and in use. The anti-virus solution may be bundled with an approved Endpoint Security Solution. Verify if Windows Defender is in use or enabled: Open “PowerShell”. Enter “get-service | where {$_.DisplayName -Like “*Defender*”} | Select Status,DisplayName” Verify third-party antivirus 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” If there is no anti-virus solution installed on the system, this is a finding. |
Remote calls to the Security Account Manager (SAM) must be restricted to Administrators. | The Windows Security Account Manager (SAM) stores users’ passwords. Restricting remote rpc connections to the SAM to Administrators helps protect those credentials. | 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. | Windows 10 v1507 LTSB version does not include this setting, it is NA for those 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\Control\Lsa\ Value Name: RestrictRemoteSAM Value Type: REG_SZ Value: O:BAG:BAD:(A;;RC;;;BA) |
Anonymous access to Named Pipes and Shares must be restricted. | Allowing anonymous access to named pipes or shares provides the potential for unauthorized system access. This setting restricts access to those defined in “Network access: Named Pipes that can be accessed anonymously” and “Network access: Shares that can be accessed anonymously”, both of which must be blank under other requirements. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Network access: Restrict anonymous access to Named Pipes and Shares” to “Enabled”. | 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: RestrictNullSessAccess Value Type: REG_DWORD Value: 1 |
The system must be configured to prevent anonymous users from having the same rights as the Everyone group. | Access by anonymous users must be restricted. If this setting is enabled, then anonymous users have the same rights and permissions as the built-in Everyone group. Anonymous users must not have these permissions or rights. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Network access: Let Everyone permissions apply to anonymous users” to “Disabled”. | 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: EveryoneIncludesAnonymous Value Type: REG_DWORD Value: 0 |
Anonymous enumeration of shares must be restricted. | Allowing anonymous logon users (null session connections) to list all account names and enumerate all shared resources can provide a map of potential points to attack the system. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Network access: Do not allow anonymous enumeration of SAM accounts and shares” to “Enabled”. | 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: RestrictAnonymous Value Type: REG_DWORD Value: 1 |
The system must be configured to prevent the storage of the LAN Manager hash of passwords. | The LAN Manager hash uses a weak encryption algorithm and there are several tools available that use this hash to retrieve account passwords. This setting controls whether or not a LAN Manager hash of the password is stored in the SAM the next time the password is changed. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Network security: Do not store LAN Manager hash value on next password change” to “Enabled”. | 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: NoLMHash Value Type: REG_DWORD Value: 1 |
Kerberos encryption types must be configured to prevent the use of DES and RC4 encryption suites. | Certain encryption types are no longer considered secure. This setting configures a minimum encryption type for Kerberos, preventing the use of the DES and RC4 encryption suites. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Network security: Configure encryption types allowed for Kerberos” to “Enabled” with only the following selected: AES128_HMAC_SHA1 AES256_HMAC_SHA1 Future encryption types | 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\Kerberos\Parameters\ Value Name: SupportedEncryptionTypes Value Type: REG_DWORD Value: 0x7ffffff8 (2147483640) |
PKU2U authentication using online identities must be prevented. | PKU2U is a peer-to-peer authentication protocol. This setting prevents online identities from authenticating to domain-joined systems. Authentication will be centrally managed with Windows user accounts. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Network security: Allow PKU2U authentication requests to this computer to use online identities” to “Disabled”. | 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\pku2u\ Value Name: AllowOnlineID Value Type: REG_DWORD Value: 0 |
NTLM must be prevented from falling back to a Null session. | NTLM sessions that are allowed to fall back to Null (unauthenticated) sessions may gain unauthorized access. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Network security: Allow LocalSystem NULL session fallback” to “Disabled”. | 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\MSV1_0\ Value Name: allownullsessionfallback Value Type: REG_DWORD Value: 0 |
The system must be configured to the required LDAP client signing level. | This setting controls the signing requirements for LDAP clients. This setting must be set to Negotiate signing or Require signing, depending on the environment and type of LDAP server in use. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Network security: LDAP client signing requirements” to “Negotiate signing” at a minimum. | 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\LDAP\ Value Name: LDAPClientIntegrity Value Type: REG_DWORD Value: 1 |
The LanMan authentication level must be set to send NTLMv2 response only, and to refuse LM and NTLM. | The Kerberos v5 authentication protocol is the default for authentication of users who are logging on to domain accounts. NTLM, which is less secure, is retained in later Windows versions for compatibility with clients and servers that are running earlier versions of Windows or applications that still use it. It is also used to authenticate logons to stand-alone computers that are running later versions. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Network security: LAN Manager authentication level” to “Send NTLMv2 response only. Refuse LM & NTLM”. | 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: LmCompatibilityLevel Value Type: REG_DWORD Value: 5 |
The password history must be configured to 24 passwords remembered. | A system is more vulnerable to unauthorized access when system users recycle the same password several times without being required to change a password 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. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy >> “Enforce password history” to “24” passwords remembered. | 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. |
Windows Update must not obtain updates from other PCs on the internet. | Windows 10 allows Windows Update to obtain updates from additional sources instead of Microsoft. In addition to Microsoft, updates can be obtained from and sent to PCs on the local network as well as on the internet. This is part of the Windows Update trusted process; however, to minimize outside exposure, obtaining updates from or sending to systems on the internet must be prevented. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Delivery Optimization >> “Download Mode” to “Enabled” with any option except “Internet” selected. Acceptable selections include: Bypass (100) Group (2) HTTP only (0) LAN (1) Simple (99) v1507 (LTSB) does not include this group policy setting locally. For domain-joined systems, configure through domain group policy as “HTTP only (0)” or “Lan (1)”. For standalone or nondomain-joined systems, configure using Settings >> Update & Security >> Windows Update >> Advanced Options >> “Choose how updates are delivered” with either “Off” or “PCs on my local network” selected. | 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\DeliveryOptimization\ Value Name: DODownloadMode Value Type: REG_DWORD Value: 0x00000000 (0) – No peering (HTTP Only) 0x00000001 (1) – Peers on same NAT only (LAN) 0x00000002 (2) – Local Network / Private group peering (Group) 0x00000063 (99) – Simple download mode, no peering (Simple) 0x00000064 (100) – Bypass mode, Delivery Optimization not used (Bypass) A value of 0x00000003 (3), Internet, is a finding. v1507 LTSB: Domain joined systems: Verify the registry value above. If the value is not 0x00000000 (0) or 0x00000001 (1), this is a finding. Standalone or nondomain-joined systems (configured in Settings): 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\DeliveryOptimization\Config\ Value Name: DODownloadMode Value Type: REG_DWORD Value: 0x00000000 (0) – Off 0x00000001 (1) – LAN |
The Application event log size must be configured to 32768 KB or greater. | 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. | If the system is configured to send audit records directly to an audit server, this is NA. This must be documented with the ISSO. 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. | If the system is configured to send audit records directly to an audit server, this is NA. This must be documented with the ISSO. 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 Value Type: REG_DWORD Value: 0x00008000 (32768) (or greater) |
The system must be configured to audit System – System Integrity successes. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: System >> System Integrity – Success |
The system must be configured to audit System – Security State Change successes. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: System >> Security State Change – Success |
The system must be configured to audit System – Other System Events failures. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: System >> Other System Events – Failure |
The system must be configured to audit System – System Integrity failures. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: System >> System Integrity – Failure |
The system must be configured to audit System – Security System Extension successes. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: System >> Security System Extension – Success |
The system must be configured to audit Privilege Use – Sensitive Privilege Use successes. | 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”. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Privilege Use >> Sensitive Privilege Use – Success |
Turning off File Explorer heap termination on corruption must be disabled. | Legacy plug-in applications may continue to function when a File Explorer session has become corrupt. Disabling this feature will prevent this. | The default behavior is for File Explorer heap termination on corruption to be enabled. 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”. | 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) |
The system must be configured to audit System – Other System Events successes. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: System >> Other System Events – Success |
The system must be configured to audit System – IPSec Driver failures. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: System >> IPSec Driver – Failure |
The setting to allow Microsoft accounts to be optional for modern style apps must be enabled. | Control of credentials and the system must be maintained within the enterprise. Enabling this setting allows enterprise credentials to be used with modern style apps that support this, instead of Microsoft accounts. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> App Runtime >> “Allow Microsoft accounts to be optional” to “Enabled”. | Windows 10 LTSC\B versions do not support the Microsoft Store and modern apps; this is NA for those 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: \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ Value Name: MSAOptional Value Type: REG_DWORD Value: 0x00000001 (1) |
Unauthenticated RPC clients must be restricted from connecting to the RPC server. | Configuring RPC to restrict unauthenticated RPC clients from connecting to the RPC server will prevent anonymous connections. | Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Remote Procedure Call >> “Restrict Unauthenticated RPC clients” to “Enabled” and “Authenticated”. | 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 Value Type: REG_DWORD Value: 1 |
Simple Network Management Protocol (SNMP) must not be installed on the system. | Some protocols and services do not support required security features, such as encrypting passwords or traffic. | Uninstall “Simple Network Management Protocol (SNMP)” from the system. Run “Programs and Features”. Select “Turn Windows Features on or off”. De-select “Simple Network Management Protocol (SNMP)”. | “SNMP” is not installed by default. Verify it has not been installed. Navigate to the Windows\System32 directory. If the “SNMP” application exists, this is a finding. |
Internet Information System (IIS) or its subcomponents must not be installed on a workstation. | Installation of Internet Information System (IIS) may allow unauthorized internet services to be hosted. Websites must only be hosted on servers that have been designed for that purpose and can be adequately secured. | Uninstall “Internet Information Services” or “Internet Information Services Hostable Web Core” from the system. | IIS is not installed by default. Verify it has not been installed on the system. Run “Programs and Features”. Select “Turn Windows features on or off”. If the entries for “Internet Information Services” or “Internet Information Services Hostable Web Core” are selected, this is a finding. If an application requires IIS or a subset to be installed to function, this needs be documented with the ISSO. In addition, any applicable requirements from the IIS STIG must be addressed. |
Users must be prompted for a password on resume from sleep (on battery). | Authentication must always be required when accessing a system. This setting ensures the user is prompted for a password on resume from sleep (on battery). | 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”. | 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 Value Type: REG_DWORD Value: 1 |
Local users on domain-joined computers must not be enumerated. | 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. | This requirement is applicable to domain-joined systems. For standalone or nondomain-joined systems, this is NA. Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Logon >> “Enumerate local users on domain-joined computers” to “Disabled”. | This requirement is applicable to domain-joined systems. For 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 Value Type: REG_DWORD Value: 0 |
Solicited Remote Assistance must not be allowed. | Remote assistance allows another user to view or take control of the local session of a user. Solicited assistance is help that is specifically requested by the local user. This may allow unauthorized parties access to the resources on the computer. | Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Remote Assistance >> “Configure Solicited Remote Assistance” to “Disabled”. | 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: fAllowToGetHelp Value Type: REG_DWORD Value: 0 |
The user must be prompted for a password on resume from sleep (plugged in). | Authentication must always be required when accessing a system. This setting ensures the user is prompted for a password on resume from sleep (plugged in). | 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”. | 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 Value Type: REG_DWORD Value: 1 |
Only accounts responsible for the backup operations must be members of the Backup Operators group. | 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. | Create separate accounts for backup operations for users with this privilege. | Run “Computer Management”. Navigate to System Tools >> Local Users and Groups >> Groups. Review the members of the Backup Operators group. If the group contains no accounts, this is not a finding. If the group contains any accounts, the accounts must be specifically for backup functions. If the group contains any standard user accounts used for performing normal user tasks, this is a finding. |
Only accounts responsible for the administration of a system must have Administrator rights on the system. | 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 only using accounts with the minimum level of authority necessary. For domain-joined workstations, the Domain Admins group must be replaced by a domain workstation administrator group (see V-36434 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 local administrators group. | Configure the system to include only administrator groups or accounts that are responsible for the system in the local Administrators group. For domain-joined workstations, the Domain Admins group must be replaced by a domain workstation administrator group. Remove any standard user accounts. | Run “Computer Management”. Navigate to System Tools >> Local Users and Groups >> Groups. Review the members of the Administrators group. Only the appropriate administrator groups or accounts responsible for administration of the system may be members of the group. For domain-joined workstations, the Domain Admins group must be replaced by a domain workstation administrator 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. The built-in Administrator account or other required administrative accounts would not be a finding. |
Unused accounts must be disabled or removed from the system after 35 days of inactivity. | Outdated or unused accounts provide penetration points that may go undetected. Inactive accounts must be deleted if no longer necessary or, if still required, disable until needed. | Regularly review local accounts and verify their necessity. Disable or delete any active accounts that have not been used in the last 35 days. | Run “PowerShell”. Copy the lines below to the PowerShell window and enter. “([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 to determine the finding validity for each account reported. Exclude the following accounts: Built-in administrator account (Disabled, SID ending in 500) Built-in guest account (Disabled, SID ending in 501) Built-in DefaultAccount (Disabled, SID ending in 503) Local administrator account 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. |
Non system-created file shares on a system must limit access to groups that require it. | Shares which provide network access, should not typically exist on a workstation except for system-created administrative shares, and could potentially expose sensitive information. If a share is necessary, share permissions, as well as NTFS permissions, must be reconfigured to give the minimum access to those accounts that require it. | 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. | Non system-created shares should not typically exist on workstations. If only system-created shares exist on the system this is NA. Run “Computer Management”. Navigate to System Tools >> Shared Folders >> Shares. If the only shares listed are “ADMIN$”, “C$” and “IPC$”, this is NA. (Selecting Properties for system-created shares will display a message that it has been shared for administrative purposes.) Right click any non-system-created shares. Select “Properties”. Select the “Share Permissions” tab. Verify the necessity of any shares found. If the file shares have not been reconfigured to restrict permissions to the specific groups or accounts that require access, this is a finding. Select the “Security” tab. If the NTFS permissions have not been reconfigured to restrict permissions to the specific groups or accounts that require access, this is a finding. |
Permissions for system files and directories must conform to minimum requirements. | Changing the system’s file and directory permissions allows the possibility of unauthorized and anonymous modification to the operating system and installed applications. | Maintain the default file system permissions and configure the Security Option: “Network access: Let everyone permissions apply to anonymous users” to “Disabled” (WN10-SO-000160). | The default file system permissions are adequate when the Security Option “Network access: Let Everyone permissions apply to anonymous users” is set to “Disabled” (WN10-SO-000160). If the default file system permissions are maintained and the referenced option is set to “Disabled”, this is not a finding. Verify the default permissions for the sample directories below. Nonprivileged 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.) Viewing in File Explorer: Select the “Security” tab and the “Advanced” button. C:\ Type – “Allow” for all Inherited from – “None” for all Principal – Access – Applies to Administrators – Full control – This folder, subfolders and files SYSTEM – Full control – This folder, subfolders and files Users – Read & execute – This folder, subfolders and files Authenticated Users – Modify – Subfolders and files only Authenticated Users – Create folders / append data – This folder only \Program Files 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 \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. Run “CMD” as administrator. Enter “icacls” followed by the directory. icacls c:\ icacls “c:\program files” icacls c:\windows The following results will be displayed as each is entered: c:\S-1-15-3-65536-1888954469-739942743-1668119174-2468466756-4239452838-1296943325-355587736-700089176:(S,RD,X,RA) BUILTIN\Administrators:(OI)(CI)(F) NT AUTHORITY\SYSTEM:(OI)(CI)(F) BUILTIN\Users:(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(M) NT AUTHORITY\Authenticated Users:(AD) Mandatory Label\High Mandatory Level:(OI)(NP)(IO)(NW) Successfully processed 1 files; Failed processing 0 files c:\program files 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 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 |
The default autorun behavior must be configured to prevent autorun commands. | Allowing autorun commands to execute may introduce malicious code to a system. Configuring this setting prevents autorun commands from executing. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> AutoPlay Policies >> “Set the default behavior for AutoRun” to “Enabled:Do not execute any autorun commands”. | 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 Value Type: REG_DWORD Value: 1 |
Standard local user accounts must not exist on a system in a domain. | To minimize potential points of attack, local user accounts, other than built-in accounts and local administrator accounts, must not exist on a workstation in a domain. Users must log on to workstations in a domain with their domain accounts. | Limit local user accounts on domain-joined systems. Remove any unauthorized local accounts. | For standalone or nondomain-joined systems, this is Not Applicable. Run “Computer Management”. Navigate to System Tools >> Local Users and Groups >> Users. If local users other than the accounts listed below exist on a workstation in a domain, this is a finding. Built-in Administrator account (Disabled) Built-in Guest account (Disabled) Built-in DefaultAccount (Disabled) Built-in defaultuser0 (Disabled) Built-in WDAGUtilityAccount (Disabled) Local administrator account(s) All of the built-in accounts may not exist on a system, depending on the Windows 10 version. |
Only authorized user accounts must be allowed to create or run virtual machines on Windows 10 systems. | Allowing other operating systems to run on a secure system may allow users to circumvent security. For Hyper-V, preventing unauthorized users from being assigned to the Hyper-V Administrators group will prevent them from accessing or creating virtual machines on the system. The Hyper-V Hypervisor is used by Virtualization Based Security features such as Credential Guard on Windows 10; however, it is not the full Hyper-V installation. | For Hyper-V, remove any unauthorized groups or user accounts from the “Hyper-V Administrators” group. For hosted hypervisors other than Hyper-V, restrict access to create or run virtual machines to authorized user accounts only. | If a hosted hypervisor (Hyper-V, VMware Workstation, etc.) is installed on the system, verify only authorized user accounts are allowed to run virtual machines. For Hyper-V, Run “Computer Management”. Navigate to System Tools >> Local Users and Groups >> Groups. Double click on “Hyper-V Administrators”. If any unauthorized groups or user accounts are listed in “Members:”, this is a finding. For hosted hypervisors other than Hyper-V, verify only authorized user accounts have access to run the virtual machines. Restrictions may be enforced by access to the physical system, software restriction policies, or access restrictions built in to the application. If any unauthorized groups or user accounts have access to create or run virtual machines, this is a finding. All users authorized to create or run virtual machines must be documented with the ISSM/ISSO. Accounts nested within group accounts must be documented as individual accounts and not the group accounts. |
The US DoD CCEB Interoperability Root CA cross-certificates must be installed in the Untrusted Certificates Store on unclassified systems. | To ensure users do not experience denial of service when performing certificate-based authentication to DoD websites due to the system chaining to a root other than DoD Root CAs, the US DoD CCEB Interoperability Root CA cross-certificates must be installed in the Untrusted Certificate Store. This requirement only applies to unclassified systems. | Install the US DoD CCEB Interoperability Root CA cross-certificate on unclassified systems. Issued To – Issued By – Thumbprint DoD Root CA 3 – US DoD CCEB Interoperability Root CA 2 9B74964506C7ED9138070D08D5F8B969866560C8 The certificates can be installed using the InstallRoot tool. The tool and user guide are available on Cyber Exchange at https://cyber.mil/pki-pke/tools-configuration-files. PKI can be found at https://crl.gds.disa.mil/. | Verify the US DoD CCEB Interoperability Root CA cross-certificate is installed on unclassified systems as an Untrusted Certificate. Run “PowerShell” as an administrator. Execute the following command: Get-ChildItem -Path Cert:Localmachine\disallowed | Where Issuer -Like “*CCEB Interoperability*” | FL Subject, Issuer, Thumbprint, NotAfter If the following certificate “Subject”, “Issuer”, and “Thumbprint” information is not displayed, this is a finding. Subject: CN=DoD Root CA 3, OU=PKI, OU=DoD, O=U.S. Government, C=US Issuer: CN=US DoD CCEB Interoperability Root CA 2, OU=PKI, OU=DoD, O=U.S. Government, C=US Thumbprint: 9B74964506C7ED9138070D08D5F8B969866560C8 NotAfter: 7/18/2025 9:56:22 AM Alternately, use the Certificates MMC snap-in: Run “MMC”. Select “File”, “Add/Remove Snap-in”. Select “Certificates”, click “Add”. Select “Computer account”, click “Next”. Select “Local computer: (the computer this console is running on)”, click “Finish”. Click “OK”. Expand “Certificates” and navigate to Untrusted Certificates >> Certificates. For each certificate with “US DoD CCEB Interoperability Root CA …” under “Issued By”: Right-click on the certificate and select “Open”. Select the “Details” tab. Scroll to the bottom and select “Thumbprint”. If the certificate below is not listed or the value for the “Thumbprint” field is not as noted, this is a finding. Subject: CN=DoD Root CA 3, OU=PKI, OU=DoD, O=U.S. Government, C=US Issuer: CN=US DoD CCEB Interoperability Root CA 2, OU=PKI, OU=DoD, O=U.S. Government, C=US Thumbprint: 9B74964506C7ED9138070D08D5F8B969866560C8 NotAfter: 7/18/2025 9:56:22 AM |
Default permissions for the HKEY_LOCAL_MACHINE registry hive must be maintained. | 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. | 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 – This key and subkeys ALL APPLICATION PACKAGES – Read – This key and subkeys Microsoft has also given Read permission to the SOFTWARE and SYSTEM registry keys in later versions of Windows 10 to the following SID. S-1-15-3-1024-1065365936-1281604716-3511738428-1654721687-432734479-3232135806-4053264122-3456934681 | Verify the default registry permissions for the keys note below of the HKEY_LOCAL_MACHINE hive. If any non-privileged groups such as Everyone, Users or Authenticated Users have greater than Read permission, 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 – This key and subkeys ALL APPLICATION PACKAGES – Read – This key and subkeys Other subkeys under the noted keys may also be sampled. There may be some instances where non-privileged groups have greater than Read permission. Microsoft has given Read permission to the SOFTWARE and SYSTEM registry keys in later versions of Windows 10 to the following SID, this is currently not a finding. S-1-15-3-1024-1065365936-1281604716-3511738428-1654721687-432734479-3232135806-4053264122-3456934681 If the defaults have not been changed, these are not a finding. |
The External Root CA certificates must be installed in the Trusted Root Store on unclassified systems. | To ensure secure websites protected with External Certificate Authority (ECA) server certificates are properly validated, the system must trust the ECA Root CAs. The ECA root certificates will ensure the trust chain is established for server certificates issued from the External CAs. This requirement only applies to unclassified systems. | Install the ECA Root CA certificate on unclassified systems. ECA Root CA 4 The InstallRoot tool is available on Cyber Exchange at https://cyber.mil/pki-pke/tools-configuration-files. Certificate bundles published by the PKI can be found at https://crl.gds.disa.mil/. | Verify the ECA Root CA certificates are installed on unclassified systems as Trusted Root Certification Authorities. Run “PowerShell” as an administrator. Execute the following command: Get-ChildItem -Path Cert:Localmachine\root | Where Subject -Like “*ECA*” | FL Subject, Thumbprint, NotAfter If the following certificate “Subject” and “Thumbprint” information is not displayed, this is a finding. Subject: CN=ECA Root CA 4, OU=ECA, O=U.S. Government, C=US Thumbprint: 73E8BB08E337D6A5A6AEF90CFFDD97D9176CB582 NotAfter: 12/30/2029 Alternately use the Certificates MMC snap-in: Run “MMC”. Select “File”, “Add/Remove Snap-in”. Select “Certificates”, click “Add”. Select “Computer account”, click “Next”. Select “Local computer: (the computer this console is running on)”, click “Finish”. Click “OK”. Expand “Certificates” and navigate to “Trusted Root Certification Authorities >> Certificates”. For each of the ECA Root CA certificates noted below: Right-click on the certificate and select “Open”. Select the “Details” Tab. Scroll to the bottom and select “Thumbprint”. If the ECA Root CA certificate below is not listed or the value for the “Thumbprint” field is not as noted, this is a finding. ECA Root CA 4 Thumbprint: 73E8BB08E337D6A5A6AEF90CFFDD97D9176CB582 Valid to: Sunday, December 30, 2029 |
The DoD Interoperability Root CA cross-certificates must be installed in the Untrusted Certificates Store on unclassified systems. | To ensure users do not experience denial of service when performing certificate-based authentication to DoD websites due to the system chaining to a root other than DoD Root CAs, the DoD Interoperability Root CA cross-certificates must be installed in the Untrusted Certificate Store. This requirement only applies to unclassified systems. | Install the DoD Interoperability Root CA cross-certificates on unclassified systems. Issued To – Issued By – Thumbprint DoD Root CA 3 – DoD Interoperability Root CA 2 – 49CBE933151872E17C8EAE7F0ABA97FB610F6477 The certificates can be installed using the InstallRoot tool. The tool and user guide are available on Cyber Exchange at https://cyber.mil/pki-pke/tools-configuration-files. PKI can be found at https://crl.gds.disa.mil/. | Verify the DoD Interoperability cross-certificates are installed on unclassified systems as Untrusted Certificates. Run “PowerShell” as an administrator. Execute the following command: Get-ChildItem -Path Cert:Localmachine\disallowed | Where {$_.Issuer -Like “*DoD Interoperability*” -and $_.Subject -Like “*DoD*”} | FL Subject, Issuer, Thumbprint, NotAfter If the following certificate “Subject”, “Issuer”, and “Thumbprint” information is not displayed, this is a finding. Subject: CN=DoD Root CA 3, OU=PKI, OU=DoD, O=U.S. Government, C=US Issuer: CN=DoD Interoperability Root CA 2, OU=PKI, OU=DoD, O=U.S. Government, C=US Thumbprint: 49CBE933151872E17C8EAE7F0ABA97FB610F6477 NotAfter: 11/16/2024 Alternately, use the Certificates MMC snap-in: Run “MMC”. Select “File”, “Add/Remove Snap-in”. Select “Certificates”, click “Add”. Select “Computer account”, click “Next”. Select “Local computer: (the computer this console is running on)”, click “Finish”. Click “OK”. Expand “Certificates” and navigate to Untrusted Certificates >> Certificates. For each certificate with “DoD Root CA…” under “Issued To” and “DoD Interoperability Root CA…” under “Issued By”: Right-click on the certificate and select “Open”. Select the “Details” tab. Scroll to the bottom and select “Thumbprint”. If the certificates below are not listed or the value for the “Thumbprint” field is not as noted, this is a finding. Issued To: DoD Root CA 3 Issued By: DoD Interoperability Root CA 2 Thumbprint: 49CBE933151872E17C8EAE7F0ABA97FB610F6477 Valid to: Wednesday, November 16, 2024 |
Windows 10 Kernel (Direct Memory Access) DMA Protection must be enabled. | Kernel DMA Protection to protect PCs against drive-by Direct Memory Access (DMA) attacks using PCI hot plug devices connected to Thunderbolt™ 3 ports. Drive-by DMA attacks can lead to disclosure of sensitive information residing on a PC, or even injection of malware that allows attackers to bypass the lock screen or control PCs remotely. | Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Kernel DMA Protection >> “Enumeration policy for external devices incompatible with Kernel DMA Protection” to “Enabled” with “Enumeration Policy” set to “Block All”. | This is NA prior to v1803 of Windows 10. 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\Kernel DMA Protection Value Name: DeviceEnumerationPolicy Value Type: REG_DWORD Value: 0 |
The DoD Root CA certificates must be installed in the Trusted Root Store. | To ensure secure DoD websites and DoD-signed code are properly validated, the system must trust the DoD Root Certificate Authorities (CAs). The DoD root certificates will ensure the trust chain is established for server certificates issued from the DoD CAs. | Install the DoD Root CA certificates: DoD Root CA 3 DoD Root CA 4 DoD Root CA 5 DoD Root CA 6 The InstallRoot tool is available on Cyber Exchange at https://cyber.mil/pki-pke/tools-configuration-files. Certificate bundles published by the PKI can be found at https://crl.gds.disa.mil/. | Verify the DoD Root CA certificates are installed as Trusted Root Certification Authorities. The certificates and thumbprints referenced below apply to unclassified systems; refer to PKE documentation for other networks. Run “PowerShell” as an administrator. Execute the following command: Get-ChildItem -Path Cert:Localmachine\root | Where Subject -Like “*DoD*” | FL Subject, Thumbprint, NotAfter If the following certificate “Subject” and “Thumbprint” information is not displayed, this is a finding. Subject: CN=DoD Root CA 3, OU=PKI, OU=DoD, O=U.S. Government, C=US Thumbprint: D73CA91102A2204A36459ED32213B467D7CE97FB NotAfter: 12/30/2029 Subject: CN=DoD Root CA 4, OU=PKI, OU=DoD, O=U.S. Government, C=US Thumbprint: B8269F25DBD937ECAFD4C35A9838571723F2D026 NotAfter: 7/25/2032 Subject: CN=DoD Root CA 5, OU=PKI, OU=DoD, O=U.S. Government, C=US Thumbprint: 4ECB5CC3095670454DA1CBD410FC921F46B8564B NotAfter: 6/14/2041 Subject: CN=DoD Root CA 6, OU=PKI, OU=DoD, O=U.S. Government, C=US Thumbprint : D37ECF61C0B4ED88681EF3630C4E2FC787B37AEF NotAfter: 1/24/2053 Alternately, use the Certificates MMC snap-in: Run “MMC”. Select “File”, “Add/Remove Snap-in”. Select “Certificates”, click “Add”. Select “Computer account”, click “Next”. Select “Local computer: (the computer this console is running on)”, click “Finish”. Click “OK”. Expand “Certificates” and navigate to “Trusted Root Certification Authorities >> Certificates”. For each of the DoD Root CA certificates noted below: Right-click on the certificate and select “Open”. Select the “Details” tab. Scroll to the bottom and select “Thumbprint”. If the DoD Root CA certificates below are not listed or the value for the “Thumbprint” field is not as noted, this is a finding. DoD Root CA 3 Thumbprint: D73CA91102A2204A36459ED32213B467D7CE97FB Valid to: Sunday, December 30, 2029 DoD Root CA 4 Thumbprint: B8269F25DBD937ECAFD4C35A9838571723F2D026 Valid to: Sunday, July 25, 2032 DoD Root CA 5 Thumbprint: 4ECB5CC3095670454DA1CBD410FC921F46B8564B Valid to: Friday, June 14, 2041 DoD Root CA 6 Thumbprint : D37ECF61C0B4ED88681EF3630C4E2FC787B37AEF Valid to: Friday, January 24, 2053 |
The built-in administrator account must be disabled. | The built-in administrator account is a well-known account subject to attack. It also provides no accountability to individual administrators on a system. It must be disabled to prevent its use. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Accounts: Administrator account status” to “Disabled”. | 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 >> Security Options. If the value for “Accounts: Administrator account status” is not set to “Disabled”, this is a finding. |
The built-in guest account must be disabled. | A system faces an increased vulnerability threat if the built-in guest account is not disabled. This account is a known account that exists on all Windows systems and cannot be deleted. This account is initialized during the installation of the operating system with no password assigned. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Accounts: Guest account status” to “Disabled”. | 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 >> Security Options. If the value for “Accounts: Guest account status” is not set to “Disabled”, this is a finding. |
The Restore files and directories user right must only be assigned to the Administrators group. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Restore files and directories” user right can circumvent file and directory permissions and could allow access to sensitive data. It could also be used to over-write more current data. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Restore files and directories” to only include the following groups or accounts: Administrators | 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 groups or accounts other than the following are granted the “Restore files and directories” user right, this is a finding: Administrators |
The Take ownership of files or other objects user right must only be assigned to the Administrators group. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Take ownership of files or other objects” user right can take ownership of objects and make changes. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Take ownership of files or other objects” to only include the following groups or accounts: Administrators | 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 groups or accounts other than the following are granted the “Take ownership of files or other objects” user right, this is a finding: Administrators |
The Perform volume maintenance tasks user right must only be assigned to the Administrators group. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Perform volume maintenance tasks” user right can manage volume and disk configurations. They could potentially delete volumes, resulting in, data loss or a DoS. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Perform volume maintenance tasks” to only include the following groups or accounts: Administrators | 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 groups or accounts other than the following are granted the “Perform volume maintenance tasks” user right, this is a finding: Administrators |
The Profile single process user right must only be assigned to the Administrators group. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Profile single process” user right can monitor non-system processes performance. An attacker could potentially use this to identify processes to attack. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Profile single process” to only include the following groups or accounts: Administrators | 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 groups or accounts other than the following are granted the “Profile single process” user right, this is a finding: Administrators |
The Security event log size must be configured to 1024000 KB or greater. | 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. | 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 “1024000” or greater. If the system is configured to send audit records directly to an audit server, documented with the ISSO. | If the system is configured to send audit records directly to an audit server, this is NA. This must be documented with the ISSO. 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 Value Type: REG_DWORD Value: 0x000fa000 (1024000) (or greater) |
The System event log size must be configured to 32768 KB or greater. | 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. | If the system is configured to send audit records directly to an audit server, this is NA. This must be documented with the ISSO. 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. | If the system is configured to send audit records directly to an audit server, this is NA. This must be documented with the ISSO. 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 Value Type: REG_DWORD Value: 0x00008000 (32768) (or greater) |
Windows 10 permissions for the Application event log must prevent access by non-privileged accounts. | 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. | Ensure the permissions on the Application event log (Application.evtx) are configured to prevent standard user accounts or groups from having access. 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” directory. If the location of the logs has been changed, when adding Eventlog to the permissions, it must be entered as “NT Service\Eventlog”. | Verify the permissions on the Application event log (Application.evtx). Standard user accounts or groups must not have access. 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” directory. They may have been moved to another folder. If the permissions for these files are not as restrictive as the ACLs listed, this is a finding. NOTE: If “APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES” has Special Permissions, this would not be a finding. |
Windows 10 permissions for the Security event log must prevent access by non-privileged accounts. | 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. | Ensure the permissions on the Security event log (Security.evtx) are configured to prevent standard user accounts or groups from having access. 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” directory. If the location of the logs has been changed, when adding Eventlog to the permissions, it must be entered as “NT Service\Eventlog”. | Verify the permissions on the Security event log (Security.evtx). Standard user accounts or groups must not have access. 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” directory. They may have been moved to another folder. If the permissions for these files are not as restrictive as the ACLs listed, this is a finding. NOTE: If “APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES” has Special Permissions, this would not be a finding. |
Windows 10 permissions for the System event log must prevent access by non-privileged accounts. | 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. | Ensure the permissions on the System event log (System.evtx) are configured to prevent standard user accounts or groups from having access. 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” directory. If the location of the logs has been changed, when adding Eventlog to the permissions, it must be entered as “NT Service\Eventlog”. | Verify the permissions on the System event log (System.evtx). Standard user accounts or groups must not have access. 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” directory. They may have been moved to another folder. If the permissions for these files are not as restrictive as the ACLs listed, this is a finding. NOTE: If “APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES” has Special Permissions, this would not be a finding. |
Windows 10 must be configured to audit Other Policy Change Events Failures. | 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 Policy Change Events contains events about EFS Data Recovery Agent policy changes, changes in Windows Filtering Platform filter, status on Security policy settings updates for local Group Policy settings, Central Access Policy changes, and detailed troubleshooting events for Cryptographic Next Generation (CNG) operations. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Policy Change>> “Audit Other Policy Change Events” with “Failure” selected. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Policy Change >> Other Policy Change Events – Failure |
Windows 10 must be configured to audit other Logon/Logoff Events Successes. | 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 Logon/Logoff Events determines whether Windows generates audit events for other logon or logoff events. Logon events are essential to understanding user activity and detecting potential attacks. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Logon/Logoff >> “Audit Other Logon/Logoff Events” with “Success” selected. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Logon/Logoff >> Other Logon/Logoff Events – Success |
Windows 10 must be configured to audit other Logon/Logoff Events Failures. | 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 Logon/Logoff Events determines whether Windows generates audit events for other logon or logoff events. Logon events are essential to understanding user activity and detecting potential attacks. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Logon/Logoff >> “Audit Other Logon/Logoff Events” with “Failure” selected. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Logon/Logoff >> Other Logon/Logoff Events – Failure |
Windows 10 must be configured to audit Detailed File Share Failures. | 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 Detailed File Share allows the auditing of attempts to access files and folders on a shared folder. The Detailed File Share setting logs an event every time a file or folder is accessed, whereas the File Share setting only records one event for any connection established between a client and file share. Detailed File Share audit events include detailed information about the permissions or other criteria used to grant or deny access. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Object Access >> “Audit Detailed File Share” with “Failure” selected. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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 >> Detailed File Share – Failure |
File Explorer shell protocol must run in protected mode. | The shell protocol will limit the set of folders 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. | 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”. | 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: 0 (or if the Value Name does not exist) |
The system must be configured to require a strong session key. | A computer connecting to a domain controller will establish a secure channel. Requiring strong session keys enforces 128-bit encryption between systems. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Domain member: Require strong (Windows 2000 or Later) session key” to “Enabled”. | 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: RequireStrongKey Value Type: REG_DWORD Value: 1 Warning: This setting may prevent a system from being joined to a domain if not configured consistently between systems. |
The maximum age for machine account passwords must be configured to 30 days or less. | Computer account passwords are changed automatically on a regular basis. This setting controls the maximum password age that a machine account may have. This setting must be set to no more than 30 days, ensuring the machine changes its password monthly. | This is the default configuration for this setting (30 days). Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Domain member: Maximum machine account password age” to “30” or less (excluding 0 which is unacceptable). | This is the default configuration for this setting (30 days). 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: MaximumPasswordAge Value Type: REG_DWORD Value: 0x0000001e (30) (or less, excluding 0) |
The Windows PowerShell 2.0 feature must be disabled on the system. | Windows PowerShell 5.0 added advanced logging features which 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. | Disable “Windows PowerShell 2.0” on the system. Run “Windows PowerShell” with elevated privileges (run as administrator). Enter the following: Disable-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2Root This command should disable both “MicrosoftWindowsPowerShellV2Root” and “MicrosoftWindowsPowerShellV2” which correspond to “Windows PowerShell 2.0” and “Windows PowerShell 2.0 Engine” respectively in “Turn Windows features on or off”. Alternately: Search for “Features”. Select “Turn Windows features on or off”. De-select “Windows PowerShell 2.0”. | Run “Windows PowerShell” with elevated privileges (run as administrator). Enter the following: Get-WindowsOptionalFeature -Online | Where FeatureName -like *PowerShellv2* If either of the following have a “State” of “Enabled”, this is a finding. FeatureName : MicrosoftWindowsPowerShellV2 State : Enabled FeatureName : MicrosoftWindowsPowerShellV2Root State : Enabled Alternately: Search for “Features”. Select “Turn Windows features on or off”. If “Windows PowerShell 2.0” (whether the subcategory of “Windows PowerShell 2.0 Engine” is selected or not) is selected, this is a finding. |
The Server Message Block (SMB) v1 protocol must be disabled on the system. | 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. Disabling SMBv1 support may prevent access to file or print sharing resources with systems or devices that only support SMBv1. File shares and print services hosted on Windows Server 2003 are an example, however Windows Server 2003 is no longer a supported operating system. Some older Network Attached Storage (NAS) devices may only support SMBv1. | Disable the SMBv1 protocol. Run “Windows PowerShell” with elevated privileges (run as administrator). Enter the following: Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol Alternately: Search for “Features”. Select “Turn Windows features on or off”. De-select “SMB 1.0/CIFS File Sharing Support”. | Different methods are available to disable SMBv1 on Windows 10. This is the preferred method, however if V-220730 and V-220731 are configured, this is NA. Run “Windows PowerShell” with elevated privileges (run as administrator). Enter the following: Get-WindowsOptionalFeature -Online | Where FeatureName -eq SMB1Protocol If “State : Enabled” is returned, this is a finding. Alternately: Search for “Features”. Select “Turn Windows features on or off”. If “SMB 1.0/CIFS File Sharing Support” is selected, this is a finding. |
Data Execution Prevention (DEP) must be configured to at least OptOut. | Attackers are constantly looking for vulnerabilities in systems and applications. Data Execution Prevention (DEP) prevents harmful code from running in protected memory locations reserved for Windows and other programs. | Configure DEP to at least OptOut. Note: Suspend BitLocker before making changes to the DEP configuration. Open a command prompt (cmd.exe) or PowerShell with elevated privileges (Run as administrator). Enter “BCDEDIT /set {current} nx OptOut”. (If using PowerShell “{current}” must be enclosed in quotes.) “AlwaysOn”, a more restrictive selection, is also valid but does not allow applications that do not function properly to be opted out of DEP. Opted out exceptions can be configured in the “System Properties”. Open “System” in Control Panel. Select “Advanced system settings”. Click “Settings” in the “Performance” section. Select the “Data Execution Prevention” tab. Applications that are opted out are configured in the window below the selection “Turn on DEP for all programs and services except those I select:”. | Verify the DEP configuration. Open a command prompt (cmd.exe) or PowerShell with elevated privileges (Run as administrator). Enter “BCDEdit /enum {current}”. (If using PowerShell “{current}” must be enclosed in quotes.) If the value for “nx” is not “OptOut”, this is a finding. (The more restrictive configuration of “AlwaysOn” would not be a finding.) |
Structured Exception Handling Overwrite Protection (SEHOP) must be enabled. | Attackers are constantly looking for vulnerabilities in systems and applications. Structured Exception Handling Overwrite Protection (SEHOP) blocks exploits that use the Structured Exception Handling overwrite technique, a common buffer overflow attack. | Configure the policy value for Computer Configuration >> Administrative Templates >> MS Security Guide >> “Enable Structured Exception Handling Overwrite Protection (SEHOP)” 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. | This is applicable to Windows 10 prior to v1709. Verify SEHOP is turned on. 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\Session Manager\kernel\ Value Name: DisableExceptionChainValidation Value Type: REG_DWORD Value: 0x00000000 (0) |
A host-based firewall must be installed and enabled on the system. | A firewall provides a line of defense against attack, allowing or blocking inbound and outbound connections based on a set of rules. | Install and enable a host-based firewall on the system. | 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. |
Inbound exceptions to the firewall on Windows 10 domain workstations must only allow authorized remote management hosts. | Allowing inbound access to domain workstations from other systems may allow lateral movement across systems if credentials are compromised. Limiting inbound connections only from authorized remote management systems will help limit this exposure. | Configure firewall exceptions to inbound connections on domain workstations to include only authorized remote management hosts. Configure only inbound connection exceptions for authorized remote management hosts. Computer Configuration >> Windows Settings >> Security Settings >> Windows Defender Firewall with Advanced Security >> Windows Defender Firewall with Advanced Security >> Inbound Rules (this link will be in the right pane) For any inbound rules that allow connections, configure the Scope for Remote IP address to those of authorized remote management hosts. This may be defined as an IP address, subnet or range. Apply the rule to all firewall profiles. If a third-party firewall is used, configure inbound exceptions to only include authorized remote management hosts. | Verify firewall exceptions to inbound connections on domain workstations include only authorized remote management hosts. If allowed inbound exceptions are not limited to authorized remote management hosts, this is a finding. Review inbound firewall exceptions. Computer Configuration >> Windows Settings >> Security Settings >> Windows Defender Firewall with Advanced Security >> Windows Defender Firewall with Advanced Security >> Inbound Rules (this link will be in the right pane) For any inbound rules that allow connections view the Scope for Remote IP address. This may be defined as an IP address, subnet, or range. The rule must apply to all firewall profiles. If a third-party firewall is used, ensure comparable settings are in place. |
Outgoing secure channel traffic must be encrypted when possible. | Requests sent on the secure channel are authenticated, and sensitive information (such as passwords) is encrypted, but not all information is encrypted. If this policy is enabled, outgoing secure channel traffic will be encrypted. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Domain member: Digitally encrypt secure channel data (when possible)” to “Enabled”. | 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: SealSecureChannel Value Type: REG_DWORD Value: 1 |
Outgoing secure channel traffic must be encrypted or signed. | Requests sent on the secure channel are authenticated, and sensitive information (such as passwords) is encrypted, but not all information is encrypted. If this policy is enabled, outgoing secure channel traffic will be encrypted and signed. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Domain member: Digitally encrypt or sign secure channel data (always)” to “Enabled”. | 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: RequireSignOrSeal Value Type: REG_DWORD Value: 1 |
Simple TCP/IP Services must not be installed on the system. | Some protocols and services do not support required security features, such as encrypting passwords or traffic. | Uninstall “Simple TCPIP Services (i.e. echo, daytime etc)” from the system. Run “Programs and Features”. Select “Turn Windows Features on or off”. De-select “Simple TCPIP Services (i.e. echo, daytime etc)”. | “Simple TCP/IP Services” is not installed by default. Verify it has not been installed. Run “Services.msc”. If “Simple TCP/IP Services” is listed, this is a finding. |
The Telnet Client must not be installed on the system. | Some protocols and services do not support required security features, such as encrypting passwords or traffic. | Uninstall “Telnet Client” from the system. Run “Programs and Features”. Select “Turn Windows Features on or off”. De-select “Telnet Client”. | The “Telnet Client” is not installed by default. Verify it has not been installed. Navigate to the Windows\System32 directory. If the “telnet” application exists, this is a finding. |
Remote Desktop Services must always prompt a client for passwords upon connection. | 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. | 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”. | 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 Value Type: REG_DWORD Value: 1 |
The Remote Desktop Session Host must require secure RPC communications. | 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. | 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”. | 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 Value Type: REG_DWORD Value: 1 |
Remote Desktop Services must be configured with the client connection encryption set to the required level. | 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. | 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” and “High Level”. | 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 Value Type: REG_DWORD Value: 3 |
Attachments must be prevented from being downloaded from RSS feeds. | Attachments from RSS feeds may not be secure. This setting will prevent attachments from being downloaded from RSS feeds. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> RSS Feeds >> “Prevent downloading of enclosures” to “Enabled”. | 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 Value Type: REG_DWORD Value: 1 |
Basic authentication for RSS feeds over HTTP must not be used. | Basic authentication uses plain text passwords that could be used to compromise a system. | 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”. | 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: 0 (or if the Value Name does not exist) |
Indexing of encrypted files must be turned off. | Indexing of encrypted files may expose sensitive data. This setting prevents encrypted files from being indexed. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Search >> “Allow indexing of encrypted files” to “Disabled”. | 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: 0 |
Users must be prevented from changing installation options. | Installation options for applications are typically controlled by administrators. This setting prevents users from changing installation options that may bypass security features. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Installer >> “Allow user control over installs” to “Disabled”. | 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 Value Type: REG_DWORD Value: 0 |
The Windows Installer Always install with elevated privileges must be disabled. | 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. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Installer >> “Always install with elevated privileges” to “Disabled”. | 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 Value Type: REG_DWORD Value: 0 |
Users must be notified if a web-based program attempts to install software. | 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. | 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”. | 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: 0 (or if the Value Name does not exist) |
Automatically signing in the last interactive user after a system-initiated restart must be disabled. | 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. | 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”. | 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: DisableAutomaticRestartSignOn Value Type: REG_DWORD Value: 1 |
The system must be configured to audit Logon/Logoff – Account Lockout failures. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Logon/Logoff >> Account Lockout – Failure |
Bluetooth must be turned off unless approved by the organization. | If not configured properly, Bluetooth may allow rogue devices to communicate with a system. If a rogue device is paired with a system, there is potential for sensitive information to be compromised. | Turn off Bluetooth radios not organizationally approved. Establish an organizational policy for the use of Bluetooth. | This is NA if the system does not have Bluetooth. Verify the Bluetooth radio is turned off unless approved by the organization. If it is not, this is a finding. Approval must be documented with the ISSO. |
The Windows Remote Management (WinRM) service must not allow unencrypted traffic. | Unencrypted remote access to a system can allow sensitive information to be compromised. Windows remote management connections must be encrypted to prevent this. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Remote Management (WinRM) >> WinRM Service >> “Allow unencrypted traffic” to “Disabled”. | 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 Value Type: REG_DWORD Value: 0 |
Windows 10 must cover or disable the built-in or attached camera when not in use. | It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. Failing to disconnect from collaborative computing devices (i.e., cameras) can result in subsequent compromises of organizational information. Providing easy methods to physically disconnect from such devices after a collaborative computing session helps to ensure that participants actually carry out the disconnect activity without having to go through complex and tedious procedures. Satisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000370-GPOS-00155 | If the camera is not disconnected or covered, the following registry entry is required: Registry Hive: HKEY_LOCAL_MACHINE RegistryPath\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\webcam Value Name: Value Value Data: Deny | If the device or operating system does not have a camera installed, this requirement is not applicable. This requirement is not applicable to mobile devices (smartphones and tablets) where the use of the camera is a local AO decision. This requirement is not applicable to dedicated VTC suites located in approved VTC locations that are centrally managed. For an external camera, if there is not a method for the operator to manually disconnect the camera at the end of collaborative computing sessions, this is a finding. For a built-in camera, the camera must be protected by a camera cover (e.g., laptop camera cover slide) when not in use. If the built-in camera is not protected with a camera cover, or if the built-in camera is not disabled in the bios, this is a finding. If the camera is not disconnected or covered, the following registry entry is required: Registry Hive: HKEY_LOCAL_MACHINE RegistryPath\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\webcam Value Name: Value Value Data: Deny If “Value” is set to a value other than “Deny” and the collaborative computing device has not been authorized for use, this is a finding. |
Camera access from the lock screen must be disabled. | Enabling camera access from the lock screen could allow for unauthorized use. Requiring logon will ensure the device is only used by authorized personnel. | If the device does not have a camera, this is NA. Configure the policy value for Computer Configuration >> Administrative Templates >> Control Panel >> Personalization >> “Prevent enabling lock screen camera” to “Enabled”. | If the device does not have a camera, 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\Personalization\ Value Name: NoLockScreenCamera Value Type: REG_DWORD Value: 1 |
Windows 10 must be configured to audit MPSSVC Rule-Level Policy Change Failures. | 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 MPSSVC Rule-Level Policy Change determines whether the operating system generates audit events when changes are made to policy rules for the Microsoft Protection Service (MPSSVC.exe). | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Policy Change >> “Audit MPSSVC Rule-Level Policy Change” with “Failure” selected. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Policy Change >> MPSSVC Rule-Level Policy Change – Failure |
Windows 10 must be configured to audit MPSSVC Rule-Level Policy Change Successes. | 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 MPSSVC Rule-Level Policy Change determines whether the operating system generates audit events when changes are made to policy rules for the Microsoft Protection Service (MPSSVC.exe). | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Policy Change >> “Audit MPSSVC Rule-Level Policy Change” with “Success” selected. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Policy Change >> MPSSVC Rule-Level Policy Change – Success |
The system must be configured to prevent Internet Control Message Protocol (ICMP) redirects from overriding Open Shortest Path First (OSPF) generated routes. | Allowing ICMP redirect of routes can lead to traffic not being routed properly. When disabled, this forces ICMP to be routed via shortest path first. | 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. | 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: 0 |
The system must be configured to prevent IP source routing. | Configuring the system to disable IP source routing protects against spoofing. | Configure the policy value for Computer Configuration >> Administrative Templates >> MSS (Legacy) >> “MSS: (DisableIPSourceRouting) IP source routing protection level (protects against packet spoofing)” to “Highest protection, source routing is completely 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. | 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: 2 |
IPv6 source routing must be configured to highest protection. | Configuring the system to disable IPv6 source routing protects against spoofing. | Configure the policy value for Computer Configuration >> Administrative Templates >> MSS (Legacy) >> “MSS: (DisableIPSourceRouting IPv6) IP source routing protection level (protects against packet spoofing)” to “Highest protection, source routing is completely 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. | 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 Value Type: REG_DWORD Value: 2 |
The display of slide shows on the lock screen must be disabled. | 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. | Configure the policy value for Computer Configuration >> Administrative Templates >> Control Panel >> Personalization >> “Prevent enabling lock screen slide show” to “Enabled”. | 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\Personalization\ Value Name: NoLockScreenSlideshow Value Type: REG_DWORD Value: 1 |
Local administrator accounts must have their privileged token filtered to prevent elevated privileges from being used over the network on domain systems. | 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 built-in administrator accounts will prevent the elevated privileges of these accounts from being used over the network. | 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. | If the system is not a member of a domain, 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 Value Type: REG_DWORD Value: 0x00000000 (0) |
The system must be configured to ignore NetBIOS name release requests except from WINS servers. | 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 servers WINS resolution capability. | 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. | 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: 1 |
The Server Message Block (SMB) v1 protocol must be disabled on the SMB client. | 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. Disabling SMBv1 support may prevent access to file or print sharing resources with systems or devices that only support SMBv1. File shares and print services hosted on Windows Server 2003 are an example, however Windows Server 2003 is no longer a supported operating system. Some older network attached devices may only support SMBv1. | 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”. 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. The system must be restarted for the changes to take effect. | Different methods are available to disable SMBv1 on Windows 10, if V-220729 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) |
The Server Message Block (SMB) v1 protocol must be disabled on the SMB server. | 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. Disabling SMBv1 support may prevent access to file or print sharing resources with systems or devices that only support SMBv1. File shares and print services hosted on Windows Server 2003 are an example, however Windows Server 2003 is no longer a supported operating system. Some older network attached devices may only support SMBv1. | Configure the policy value for Computer Configuration >> Administrative Templates >> MS Security Guide >> “Configure SMBv1 Server” 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. The system must be restarted for the change to take effect. | Different methods are available to disable SMBv1 on Windows 10, if V-220729 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) |
Orphaned security identifiers (SIDs) must be removed from user rights on Windows 10. | 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. | 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. | 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. |
The Secondary Logon service must be disabled on Windows 10. | The Secondary Logon service provides a means for entering alternate credentials, typically used to run commands with elevated privileges. Using privileged credentials in a standard user session can expose those credentials to theft. | Configure the “Secondary Logon” service “Startup Type” to “Disabled”. | Run “Services.msc”. Locate the “Secondary Logon” service. If the “Startup Type” is not “Disabled” or the “Status” is “Running”, this is a finding. |
Bluetooth must be turned off when not in use. | If not configured properly, Bluetooth may allow rogue devices to communicate with a system. If a rogue device is paired with a system, there is potential for sensitive information to be compromised. | Turn off Bluetooth radios when not in use. Establish an organizational policy for the use of Bluetooth to include training of personnel. | This is NA if the system does not have Bluetooth. Verify the organization has a policy to turn off Bluetooth when not in use and personnel are trained. If it does not, this is a finding. |
The “Deny log on as a batch job” user right on domain-joined workstations must be configured to prevent access from highly privileged domain accounts. | Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities. The “Deny log on as a batch job” right defines accounts that are prevented from logging on to the system as a batch job, such as Task Scheduler. 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 that could lead to the compromise of an entire domain. | This requirement is applicable to domain-joined systems. For standalone or nondomain-joined systems, this is NA. 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: Domain Systems Only: Enterprise Admin Group Domain Admin Group | This requirement is applicable to domain-joined systems. For standalone or nondomain-joined systems, this is NA. 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 groups or accounts are not defined for the “Deny log on as a batch job” right, this is a finding. Domain Systems Only: Enterprise Admin Group Domain Admin Group |
Administrative accounts must not be used with applications that access the Internet, such as web browsers, or with potential Internet sources, such as email. | 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 requires 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. Technical means such as application whitelisting can be used to enforce the policy to ensure compliance. | Establish and enforce a policy that prohibits administrative accounts from using applications that access the Internet, such as web browsers, or with potential Internet sources, such as email. 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. Implement technical measures where feasible such as removal of applications or use of application whitelisting to restrict the use of applications that can access the Internet. | Determine whether administrative accounts are prevented 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. The organization must have a policy that 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. 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. Technical measures such as the removal of applications or application whitelisting must be used where feasible to prevent the use of applications that access the Internet. If accounts with administrative privileges are not prevented from using applications that access the Internet or with potential Internet sources, this is a finding. |
The system must notify the user when a Bluetooth device attempts to connect. | If not configured properly, Bluetooth may allow rogue devices to communicate with a system. If a rogue device is paired with a system, there is potential for sensitive information to be compromised | Configure Bluetooth to notify users if devices attempt to connect. View Bluetooth Settings. Ensure “Alert me when a new Bluetooth device wants to connect” is checked. | This is NA if the system does not have Bluetooth, or if Bluetooth is turned off per the organizations policy. Search for “Bluetooth”. View Bluetooth Settings. Select “More Bluetooth Options” If “Alert me when a new Bluetooth device wants to connect” is not checked, this is a finding. |
Windows 10 account lockout duration must be configured to 15 minutes or greater. | The account lockout feature, when enabled, prevents brute-force password attacks on the system. This parameter specifies the amount of time that an account will remain locked after the specified number of failed logon attempts. | 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. | 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. Configuring this to “0”, requiring an administrator to unlock the account, is more restrictive and is not a finding. |
Windows 10 nonpersistent VM sessions must not exceed 24 hours. | For virtual desktop implementations (VDIs) where the virtual desktop instance is deleted or refreshed upon logoff, the organization should enforce that sessions be terminated within 24 hours. This would ensure any data stored on the VM that is not encrypted or covered by Credential Guard is deleted. | Set nonpersistent VM sessions to not exceed 24 hours. | Ensure there is a documented policy or procedure in place that nonpersistent VM sessions do not exceed 24 hours. If the system is NOT a nonpersistent VM, this is Not Applicable. If no such documented policy or procedure is in place, this is a finding. |
The Create symbolic links user right must only be assigned to the Administrators group. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Create symbolic links” user right can create pointers to other objects, which could potentially expose the system to attack. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Create symbolic links” to only include the following groups or accounts: Administrators | 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 groups or accounts other than the following are granted the “Create symbolic links” user right, this is a finding: Administrators If the workstation has an approved use of Hyper-V, such as being used as a dedicated admin workstation using Hyper-V to separate administration and standard user functions, “NT VIRTUAL MACHINES\VIRTUAL MACHINE” may be assigned this user right and is not a finding. |
The Debug programs user right must only be assigned to the Administrators group. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Debug Programs” user right can attach a debugger to any process or to the kernel, providing complete access to sensitive and critical operating system components. This right is given to Administrators in the default configuration. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Debug programs” to only include the following groups or accounts: Administrators | 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 groups or accounts other than the following are granted the “Debug Programs” user right, this is a finding: Administrators |
The Back up files and directories user right must only be assigned to the Administrators group. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Back up files and directories” user right can circumvent file and directory permissions and could allow access to sensitive data.” | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Back up files and directories” to only include the following groups or accounts: Administrators | 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 groups or accounts other than the following are granted the “Back up files and directories” user right, this is a finding: Administrators |
The Change the system time user right must only be assigned to Administrators and Local Service and NT SERVICE\autotimesvc. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Change the system time” user right can change the system time, which can impact authentication, as well as affect time stamps on event log entries. The NT SERVICE\autotimesvc is added in v1909 cumulative update. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Change the system time” to only include the following groups or accounts: Administrators LOCAL SERVICE NT SERVICE\autotimesvc is added in v1909 cumulative update. | 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 groups or accounts other than the following are granted the “Change the system time” user right, this is a finding: Administrators LOCAL SERVICE NT SERVICE\autotimesvc is added in v1909 cumulative update. |
The Create a pagefile user right must only be assigned to the Administrators group. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Create a pagefile” user right can change the size of a pagefile, which could affect system performance. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Create a pagefile” to only include the following groups or accounts: Administrators | 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 groups or accounts other than the following are granted the “Create a pagefile” user right, this is a finding: Administrators |
The Create a token object user right must not be assigned to any groups or accounts. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. The “Create a token object” user right allows a process to create an access token. This could be used to provide elevated rights and compromise a system. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Create a token object” to be defined but containing no entries (blank). | 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 groups or accounts are granted the “Create a token object” user right, this is a finding. |
The password manager function in the Edge browser must be disabled. | Passwords save locally for re-use when browsing may be subject to compromise. Disabling the Edge password manager will prevent this for the browser. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Microsoft Edge >> “Configure Password Manager” to “Disabled”. | Windows 10 LTSC\B versions do not include Microsoft Edge, this is NA for those 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: \SOFTWARE\Policies\Microsoft\MicrosoftEdge\Main\ Value Name: FormSuggest Passwords Type: REG_SZ Value: no |
Windows 10 must be configured to prevent certificate error overrides in Microsoft Edge. | Web security certificates provide an indication whether a site is legitimate. This policy setting prevents the user from ignoring Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificate errors that interrupt browsing. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Microsoft Edge >> “Prevent certificate error overrides” to “Enabled”. | This setting is applicable starting with v1809 of Windows 10; it is NA for prior versions. Windows 10 LTSC\B versions do not include Microsoft Edge; this is NA for those 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: \SOFTWARE\Policies\Microsoft\MicrosoftEdge\Internet Settings\ Value Name: PreventCertErrorOverrides Type: REG_DWORD Value: 0x00000001 (1) |
Users must not be allowed to ignore Windows Defender SmartScreen filter warnings for unverified files in Microsoft Edge. | The Windows Defender SmartScreen filter in Microsoft Edge provides warning messages and blocks potentially malicious websites and file downloads. If users are allowed to ignore warnings from the Windows Defender SmartScreen filter they could still download potentially malicious files. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Microsoft Edge >> “Prevent bypassing Windows Defender SmartScreen prompts for files” to “Enabled”. Windows 10 includes duplicate policies for this setting. It can also be configured under Computer Configuration >> Administrative Templates >> Windows Components >> Windows Defender SmartScreen >> Microsoft Edge. | This is applicable to unclassified systems, for other systems this is NA. Windows 10 LTSC\B versions do not include Microsoft Edge, this is NA for those 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: \SOFTWARE\Policies\Microsoft\MicrosoftEdge\PhishingFilter\ Value Name: PreventOverrideAppRepUnknown Type: REG_DWORD Value: 0x00000001 (1) |
Users must not be allowed to ignore Windows Defender SmartScreen filter warnings for malicious websites in Microsoft Edge. | The Windows Defender SmartScreen filter in Microsoft Edge provides warning messages and blocks potentially malicious websites and file downloads. If users are allowed to ignore warnings from the Windows Defender SmartScreen filter they could still access malicious websites. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Microsoft Edge >> “Prevent bypassing Windows Defender SmartScreen prompts for sites” to “Enabled”. Windows 10 includes duplicate policies for this setting. It can also be configured under Computer Configuration >> Administrative Templates >> Windows Components >> Windows Defender SmartScreen >> Microsoft Edge. | This is applicable to unclassified systems, for other systems this is NA. Windows 10 LTSC\B versions do not include Microsoft Edge, this is NA for those 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: \SOFTWARE\Policies\Microsoft\MicrosoftEdge\PhishingFilter\ Value Name: PreventOverride Type: REG_DWORD Value: 0x00000001 (1) |
Windows 10 must be configured to require a minimum pin length of six characters or greater. | Windows allows the use of PINs as well as biometrics for authentication without sending a password to a network or website where it could be compromised. Longer minimum PIN lengths increase the available combinations an attacker would have to attempt. Shorter minimum length significantly reduces the strength. | Configure the policy value for Computer Configuration >> Administrative Templates >> System >> PIN Complexity >> “Minimum PIN length” to “6” or greater. v1607 LTSB: The policy path is Computer Configuration >> Administrative Templates >> Windows Components >> Windows Hello for Business >> Pin Complexity. v1507 LTSB: The policy path is Computer Configuration >> Administrative Templates >> Windows Components >> Microsoft Passport for Work >> Pin Complexity. | 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\PassportForWork\PINComplexity\ Value Name: MinimumPINLength Type: REG_DWORD Value: 6 (or greater) |
The use of a hardware security device with Windows Hello for Business must be enabled. | The use of a Trusted Platform Module (TPM) to store keys for Windows Hello for Business provides additional security. Keys stored in the TPM may only be used on that system while keys stored using software are more susceptible to compromise and could be used on other systems. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Hello for Business >> “Use a hardware security device” to “Enabled”. v1507 LTSB: The policy path is Computer Configuration >> Administrative Templates >> Windows Components >> Microsoft Passport for Work. | Virtual desktop implementations currently may not support the use of TPMs. For virtual desktop implementations where the virtual desktop instance is deleted or refreshed upon logoff, 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\PassportForWork\ Value Name: RequireSecurityDevice Type: REG_DWORD Value: 1 |
Windows 10 must be configured to disable Windows Game Recording and Broadcasting. | Windows Game Recording and Broadcasting is intended for use with games, however it could potentially record screen shots of other applications and expose sensitive data. Disabling the feature will prevent this from occurring. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Game Recording and Broadcasting >> “Enables or disables Windows Game Recording and Broadcasting” to “Disabled”. | This is NA for Windows 10 LTSC\B versions 1507 and 1607. 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\GameDVR\ Value Name: AllowGameDVR Type: REG_DWORD Value: 0x00000000 (0) |
The Windows Defender SmartScreen filter for Microsoft Edge must be enabled. | The Windows Defender SmartScreen filter in Microsoft Edge provides warning messages and blocks potentially malicious websites. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Microsoft Edge >> “Configure Windows Defender SmartScreen” to “Enabled”. Windows 10 includes duplicate policies for this setting. It can also be configured under Computer Configuration >> Administrative Templates >> Windows Components >> Windows Defender SmartScreen >> Microsoft Edge. | This is applicable to unclassified systems, for other systems this is NA. Windows 10 LTSC\B versions do not include Microsoft Edge, this is NA for those 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: \SOFTWARE\Policies\Microsoft\MicrosoftEdge\PhishingFilter\ Value Name: EnabledV9 Type: REG_DWORD Value: 0x00000001 (1) |
Local drives must be prevented from sharing with Remote Desktop Session Hosts. | Preventing users from sharing the local drives on their client computers to Remote Session Hosts that they access helps reduce possible exposure of sensitive data. | 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”. | 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 Value Type: REG_DWORD Value: 1 |
Passwords must not be saved in the Remote Desktop Client. | 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. | 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”. | 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 Value Type: REG_DWORD Value: 1 |
The Application Compatibility Program Inventory must be prevented from collecting data and sending the information to Microsoft. | 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 uncontrolled updates to the system. This setting will prevent the Program Inventory from collecting data about a system and sending the information to Microsoft. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Application Compatibility >> “Turn off Inventory Collector” to “Enabled”. | 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 Value Type: REG_DWORD Value: 1 |
Unencrypted passwords must not be sent to third-party SMB Servers. | Some non-Microsoft SMB servers only support unencrypted (plain text) password authentication. Sending plain text passwords across the network, when authenticating to an SMB server, reduces the overall security of the environment. Check with the vendor of the SMB server to see if there is a way to support encrypted password authentication. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Microsoft network client: Send unencrypted password to third-party SMB servers” to “Disabled”. | 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\LanmanWorkstation\Parameters\ Value Name: EnablePlainTextPassword Value Type: REG_DWORD Value: 0 |
Administrator accounts must not be enumerated during elevation. | 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. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Credential User Interface >> “Enumerate administrator accounts on elevation” to “Disabled”. | 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 Value Type: REG_DWORD Value: 0 |
The minimum password age must be configured to at least 1 day. | 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. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy >> “Minimum Password Age” to at least “1” day. | 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 less than “1” day, this is a finding. |
Passwords must, at a minimum, be 14 characters. | 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. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy >> “Minimum password length” to “14” characters. | 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. |
The built-in Microsoft password complexity filter must be enabled. | The use of complex passwords increases their strength against guessing and brute-force attacks. This setting configures the system to verify that newly created passwords conform to the Windows password complexity policy. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy >> “Password must meet complexity requirements” to “Enabled”. | 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. If the site is using a password filter that requires this setting be set to “Disabled” for the filter to be used, this would not be considered a finding. |
Reversible password encryption must be disabled. | Storing passwords using reversible encryption is essentially the same as storing clear-text versions of the passwords. For this reason, this policy must never be enabled. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Password Policy >> “Store passwords using reversible encryption” to “Disabled”. | 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 password using reversible encryption” is not set to “Disabled”, this is a finding. |
The number of allowed bad logon attempts must be configured to 3 or less. | 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 a normal user logon. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Account Lockout Policy >> “Account lockout threshold” to “3” or less invalid logon attempts (excluding “0” which is unacceptable). | 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. |
The period of time before the bad logon counter is reset must be configured to 15 minutes. | 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. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Account Policies >> Account Lockout Policy >> “Reset account lockout counter after” to “15” minutes. | 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. |
The Modify firmware environment values user right must only be assigned to the Administrators group. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Modify firmware environment values” user right can change hardware configuration environment variables. This could result in hardware failures or a DoS. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Modify firmware environment values” to only include the following groups or accounts: Administrators | 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 groups or accounts other than the following are granted the “Modify firmware environment values” user right, this is a finding: Administrators |
The Manage auditing and security log user right must only be assigned to the Administrators group. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Manage auditing and security log” user right can manage the security log and change auditing configurations. This could be used to clear evidence of tampering. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Manage auditing and security log” to only include the following groups or accounts: Administrators | 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 groups or accounts other than the following are granted the “Manage auditing and security log” user right, this is a finding: Administrators If the organization has an “Auditors” group the assignment of this group to the user right would not be a finding. |
The Lock pages in memory user right must not be assigned to any groups or accounts. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. The “Lock pages in memory” user right allows physical memory to be assigned to processes, which could cause performance issues or a DoS. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Lock pages in memory” to be defined but containing no entries (blank). | 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 groups or accounts are granted the “Lock pages in memory” user right, this is a finding. |
The Load and unload device drivers user right must only be assigned to the Administrators group. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. The “Load and unload device drivers” user right allows device drivers to dynamically be loaded on a system by a user. This could potentially be used to install malicious code by an attacker. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Load and unload device drivers” to only include the following groups or accounts: Administrators | 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 groups or accounts other than the following are granted the “Load and unload device drivers” user right, this is a finding: Administrators |
The Impersonate a client after authentication user right must only be assigned to Administrators, Service, Local Service, and Network Service. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. The “Impersonate a client after authentication” user right allows a program to impersonate another user or account to run on their behalf. An attacker could potentially use this to elevate privileges. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Impersonate a client after authentication” to only include the following groups or accounts: Administrators LOCAL SERVICE NETWORK SERVICE SERVICE | 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 groups or accounts other than the following are granted the “Impersonate a client after authentication” user right, this is a finding: Administrators LOCAL SERVICE NETWORK SERVICE SERVICE |
The Force shutdown from a remote system user right must only be assigned to the Administrators group. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Force shutdown from a remote system” user right can remotely shut down a system which could result in a DoS. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Force shutdown from a remote system” to only include the following groups or accounts: Administrators | 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 groups or accounts other than the following are granted the “Force shutdown from a remote system” user right, this is a finding: Administrators |
The system must be configured to audit Account Logon – Credential Validation failures. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Account Logon >> Credential Validation – Failure |
The system must be configured to audit Account Logon – Credential Validation successes. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Account Logon >> Credential Validation – Success |
The Deny log on locally user right on workstations must be configured to prevent access from highly privileged domain accounts on domain systems and unauthenticated access on all systems. | Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities. The “Deny log on locally” right defines accounts that are prevented from logging on interactively. 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. The Guests group must be assigned this right to prevent unauthenticated access. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Deny log on locally” to include the following. Domain Systems Only: Enterprise Admins Group Domain Admins Group Privileged Access Workstations (PAWs) dedicated to the management of Active Directory are exempt from denying the Enterprise Admins and Domain Admins groups. (See the Windows Privileged Access Workstation STIG for PAW requirements.) All Systems: Guests Group | 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 groups or accounts are not defined for the “Deny log on locally” right, this is a finding. Domain Systems Only: Enterprise Admins Group Domain Admins Group Privileged Access Workstations (PAWs) dedicated to the management of Active Directory are exempt from denying the Enterprise Admins and Domain Admins groups. (See the Windows Privileged Access Workstation STIG for PAW requirements.) All Systems: Guests Group |
The Deny log on as a service user right on Windows 10 domain-joined workstations must be configured to prevent access from highly privileged domain accounts. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. The “Deny log on as a service” right defines accounts that are denied log on as a service. 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. Incorrect configurations could prevent services from starting and result in a DoS. | This requirement is applicable to domain-joined systems. For standalone or nondomain-joined systems, this is NA. Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Deny log on as a service” to include the following: Domain Systems Only: Enterprise Admins Group Domain Admins Group | This requirement is applicable to domain-joined systems. For standalone or nondomain-joined systems, this is NA. 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 groups or accounts are not defined for the “Deny log on as a service” right , this is a finding. Domain Systems Only: Enterprise Admins Group Domain Admins Group |
Windows 10 should be configured to prevent users from receiving suggestions for third-party or additional applications. | Windows spotlight features may suggest apps and content from third-party software publishers in addition to Microsoft apps and content. | Configure the policy value for User Configuration >> Administrative Templates >> Windows Components >> Cloud Content >> “Do not suggest third-party content in Windows spotlight” to “Enabled | If the following registry value does not exist or is not configured as specified, this is a finding. If the following registry value does not exist or is not configured as specified, this is a finding: Registry Hive: HKEY_CURRENT_USER Registry Path: \SOFTWARE\Policies\Microsoft\Windows\CloudContent\ Value Name: DisableThirdPartySuggestions Type: REG_DWORD Value: 0x00000001 (1) |
The Deny access to this computer from the network user right on workstations must be configured to prevent access from highly privileged domain accounts and local accounts on domain systems and unauthenticated access on all systems. | Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities. The “Deny access to this computer from the network” 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. | 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 (see Note below) All Systems: Guests group Privileged Access Workstations (PAWs) dedicated to the management of Active Directory are exempt from denying the Enterprise Admins and Domain Admins groups. (See the Windows Privileged Access Workstation STIG for PAW requirements.) Note: “Local account” is a built-in security group used to assign user rights and permissions to all local accounts. | 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 groups or accounts are not defined for the “Deny access to this computer from the network” right, this is a finding: Domain Systems Only: Enterprise Admins group Domain Admins group Local account (see Note below) All Systems: Guests group Privileged Access Workstations (PAWs) dedicated to the management of Active Directory are exempt from denying the Enterprise Admins and Domain Admins groups. (See the Windows Privileged Access Workstation STIG for PAW requirements.) Note: “Local account” is a built-in security group used to assign user rights and permissions to all local accounts. |
The convenience PIN for Windows 10 must be disabled. | This policy controls whether a domain user can sign in using a convenience PIN to prevent enabling (Password Stuffer). | Disable the convenience PIN sign-in. If this needs to be corrected configure the policy value for Computer Configuration >> Administrative Templates >> System >> Logon >> Set “Turn on convenience PIN sign-in” to “Disabled”. | 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: AllowDomainPINLogon Value Type: REG_DWORD Value data: 0 |
Windows Ink Workspace must be configured to disallow access above the lock. | This action secures Windows Ink, which contains applications and features oriented toward pen computing. | Disable the convenience PIN sign-in. If this needs to be corrected, configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Ink Workspace >> Set “Allow Windows Ink Workspace” to “Enabled” and set Options “On, but disallow access above lock”. | 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\WindowsInkWorkspace Value Name: AllowWindowsInkWorkspace Value Type: REG_DWORD Value data: 1 |
Systems must at least attempt device authentication using certificates. | Using certificates to authenticate devices to the domain provides increased security over passwords. By default systems will attempt to authenticate using certificates and fall back to passwords if the domain controller does not support certificates for devices. This may also be configured to always use certificates for device authentication. | This requirement is applicable to domain-joined systems. For standalone or nondomain-joined systems, this is NA. The default behavior for “Support device authentication using certificate” is “Automatic”. If this needs to be corrected, configure the policy value for Computer Configuration >> Administrative Templates >> System >> Kerberos >> “Support device authentication using certificate” to “Not Configured or “Enabled” with either option selected in “Device authentication behavior using certificate:”. | This requirement is applicable to domain-joined systems. For standalone or nondomain-joined systems, this is NA. The default behavior for “Support device authentication using certificate” is “Automatic”. If the registry value name below does not exist, this is not a finding. If it exists and is configured with a value of “1”, this is not a finding. If it exists and is configured with a value of “0”, this is a finding. Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters\ Value Name: DevicePKInitEnabled Value Type: REG_DWORD Value: 1 (or if the Value Name does not exist) |
The network selection user interface (UI) must not be displayed on the logon screen. | Enabling interaction with the network selection UI allows users to change connections to available networks without signing into Windows. | Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Logon >> “Do not display network selection UI” to “Enabled”. | 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: DontDisplayNetworkSelectionUI Value Type: REG_DWORD Value: 1 |
WDigest Authentication must be disabled. | 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 10. This setting ensures this is enforced. | Configure the policy value for Computer Configuration >> Administrative Templates >> MS Security Guide >> “WDigest Authentication (disabling may require KB2871997)” to “Disabled”. The patch referenced in the policy title is not required for Windows 10. 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. | 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) |
Passwords for enabled local Administrator accounts must be changed at least every 60 days. | The longer a password is in use, the greater the opportunity for someone to gain unauthorized knowledge of the password. A local Administrator account is not generally used and its password may not be changed as frequently as necessary. Changing the password for enabled Administrator accounts on a regular basis will limit its exposure. Windows LAPS must be used to change the built-in Administrator account password. | Change the enabled local Administrator account password at least every 60 days. Windows LAPS must be used to change the built-in Administrator account password. Domain-joined systems can configure this to occur more frequently. LAPS will change the password every 30 days by default. More information is available at: https://techcommunity.microsoft.com/t5/windows-it-pro-blog/by-popular-demand-windows-laps-available-now/ba-p/3788747 https://learn.microsoft.com/en-us/windows-server/identity/laps/laps-overview#windows-laps-supported-platforms-and-azure-ad-laps-preview-status | If there are no enabled local Administrator accounts, this is Not Applicable. Review the password last set date for the enabled local Administrator account. On the local domain-joined workstation: Open “PowerShell”. Enter “Get-LocalUser -Name * | Select-Object *”. If the “PasswordLastSet” date is greater than “60” days old for the local Administrator account for administering the computer/domain, this is a finding. Verify LAPS is configured and operational. Navigate to Local Computer Policy >> Computer Configuration >> Administrative Templates >> System >> LAPS >> Password Settings >> Set to enabled. Password Complexity, large letters + small letters + numbers + special, Password Length 14, Password Age 60. If not configured as shown, this is a finding. Navigate to Local Computer Policy >> Computer Configuration >> Administrative Templates >> System >> LAPS >> Password Settings >> Name of administrator Account to manage >> Set to enabled >> Administrator account name is populated. If it is not, this is a finding. Verify LAPS Operational logs >> Event Viewer >> Applications and Services Logs >> Microsoft >> Windows >> LAPS >> Operational. Verify LAPS policy process is completing. If it is not, this is a finding. |
Windows 10 must not have portproxy enabled or in use. | Having portproxy enabled or configured in Windows 10 could allow a man-in-the-middle attack. | Contact the Administrator to run “netsh interface portproxy delete” with elevation. Remove any enabled portproxies that may be configured. | Check the registry key for existence of proxied ports: HKLM\SYSTEM\CurrentControlSet\Services\PortProxy\. If the key contains v4tov4\tcp\ or is populated v4tov4\tcp\, this is a finding. Run “netsh interface portproxy show all”. If the command displays any results, this is a finding. |
Local accounts with blank passwords must be restricted to prevent access from the network. | An account without a password can allow unauthorized access to a system as only the username would be required. Password policies should prevent accounts with blank passwords from existing on a system. However, if a local account with a blank password did exist, enabling this setting will prevent network access, limiting the account to local console logon only. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Accounts: Limit local account use of blank passwords to console logon only” to “Enabled”. | 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: LimitBlankPasswordUse Value Type: REG_DWORD Value: 1 |
Windows 10 must be configured to enable Remote host allows delegation of non-exportable credentials. | An exportable version of credentials is provided to remote hosts when using credential delegation which exposes them to theft on the remote host. Restricted Admin mode or Remote Credential Guard allow delegation of non-exportable credentials providing additional protection of the credentials. Enabling this configures the host to support Restricted Admin mode or Remote Credential Guard. | Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Credentials Delegation >> “Remote host allows delegation of non-exportable credentials” to “Enabled”. | This is NA for Windows 10 LTSC\B versions 1507 and 1607. 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\CredentialsDelegation\ Value Name: AllowProtectedCreds Type: REG_DWORD Value: 0x00000001 (1) |
Audit policy using subcategories must be enabled. | 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. This setting allows administrators to enable more precise auditing capabilities. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” to “Enabled”. | 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: SCENoApplyLegacyAuditPolicy Value Type: REG_DWORD Value: 1 |
PowerShell Transcription must be enabled on Windows 10. | 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 Transcription will record detailed information from the processing of PowerShell commands and scripts. This can provide additional detail when malware has run on a system. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows PowerShell >> “Turn on PowerShell Transcription” to “Enabled”. Specify the Transcript output directory to point to a Central Log Server or another secure location to prevent user access. | 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\Transcription\ Value Name: EnableTranscripting Value Type: REG_DWORD Value: 1 |
The system must be configured to audit Logon/Logoff – Logoff successes. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Logon/Logoff >> Logoff – Success |
The system must be configured to audit Logon/Logoff – Group Membership successes. | 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. | Configure the policy value for Computer Configuration >> Windows Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Logon/Logoff >> “Audit Group Membership” with “Success” selected. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Logon/Logoff >> Group Membership – Success |
The system must be configured to meet the minimum session security requirement for NTLM SSP based clients. | Microsoft has implemented a variety of security support providers for use with RPC sessions. All of the options must be enabled to ensure the maximum security level. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Network security: Minimum session security for NTLM SSP based (including secure RPC) clients” to “Require NTLMv2 session security” and “Require 128-bit encryption” (all options selected). | 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\MSV1_0\ Value Name: NTLMMinClientSec Value Type: REG_DWORD Value: 0x20080000 (537395200) |
The system must be configured to meet the minimum session security requirement for NTLM SSP based servers. | Microsoft has implemented a variety of security support providers for use with RPC sessions. All of the options must be enabled to ensure the maximum security level. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Network security: Minimum session security for NTLM SSP based (including secure RPC) servers” to “Require NTLMv2 session security” and “Require 128-bit encryption” (all options selected). | 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\MSV1_0\ Value Name: NTLMMinServerSec Value Type: REG_DWORD Value: 0x20080000 (537395200) |
The system must be configured to audit Detailed Tracking – PNP Activity successes. | 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. | Computer Configuration >> Windows Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Detailed Tracking >> “Audit PNP Activity” with “Success” selected. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Detailed Tracking >> Plug and Play Events – Success |
The system must be configured to audit Account Management – User Account Management successes. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Account Management >> User Account Management – Success |
The system must be configured to audit Account Management – User Account Management failures. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Account Management >> User Account Management – Failure |
The system must be configured to audit Account Management – Security Group Management successes. | 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 of security groups, including changes in group members. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Account Management >> Security Group Management – Success |
The Windows Explorer Preview pane must be disabled for Windows 10. | A known vulnerability in Windows 10 could allow the execution of malicious code by either opening a compromised document or viewing it in the Windows Preview pane. Organizations must disable the Windows Preview pane and Windows Detail pane. | Ensure the following settings are configured for Windows 10 locally or applied through group policy. Configure the policy value for User Configuration >> Administrative Templates >> Windows Components >> File Explorer >> Explorer Frame Pane “Turn off Preview Pane” to “Enabled”. Configure the policy value for User Configuration >> Administrative Templates >> Windows Components >> File Explorer >> Explorer Frame Pane “Turn on or off details pane” to “Enabled” and “Configure details pane” to “Always hide”. | If the following registry values do not exist or are not configured as specified, this is a finding: Registry Hive: HKEY_CURRENT_USER Registry Path: \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer Value Name: NoPreviewPane Value Type: REG_DWORD Value: 1 Registry Hive: HKEY_CURRENT_USER Registry Path: \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer Value Name: NoReadingPane Value Type: REG_DWORD Value: 1 |
The TFTP Client must not be installed on the system. | Some protocols and services do not support required security features, such as encrypting passwords or traffic. | Uninstall “TFTP Client” from the system. Run “Programs and Features”. Select “Turn Windows Features on or off”. De-select “TFTP Client”. | The “TFTP Client” is not installed by default. Verify it has not been installed. Navigate to the Windows\System32 directory. If the “TFTP” application exists, this is a finding. |
The Windows Remote Management (WinRM) client must not allow unencrypted traffic. | Unencrypted remote access to a system can allow sensitive information to be compromised. Windows remote management connections must be encrypted to prevent this. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Remote Management (WinRM) >> WinRM Client >> “Allow unencrypted traffic” to “Disabled”. | 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 Value Type: REG_DWORD Value: 0 |
The Windows Remote Management (WinRM) client must not use Basic authentication. | Basic authentication uses plain text passwords that could be used to compromise a system. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Remote Management (WinRM) >> WinRM Client >> “Allow Basic authentication” to “Disabled”. | 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 Value Type: REG_DWORD Value: 0 |
The Windows Remote Management (WinRM) service must not use Basic authentication. | Basic authentication uses plain text passwords that could be used to compromise a system. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Remote Management (WinRM) >> WinRM Service >> “Allow Basic authentication” to “Disabled”. Severity Override Guidance: The AO can allow the severity override if they have reviewed the overall protection. This would only be allowed temporarily for implementation as documented and approved. …. Allowing Basic authentication to be used for the sole creation of Office 365 DoD tenants. …. A documented mechanism and or script that can disable Basic authentication once administration completes. …. Use of a Privileged Access Workstation (PAW) and adherence to the Clean Source principle for administration. | 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 Value Type: REG_DWORD Value: 0 |
The system must be configured to audit Logon/Logoff – Logon successes. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Logon/Logoff >> Logon – Success |
Software certificate installation files must be removed from Windows 10. | 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. | 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 (e.g., Oracle Wallet Manager) or Adobe PreFlight certificate files. | 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 (e.g., Oracle Wallet Manager) 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. |
The computer account password must not be prevented from being reset. | Computer account passwords are changed automatically on a regular basis. Disabling automatic password changes can make the system more vulnerable to malicious access. Frequent password changes can be a significant safeguard for your system. A new password for the computer account will be generated every 30 days. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Domain member: Disable machine account password changes” to “Disabled”. | 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: DisablePasswordChange Value Type: REG_DWORD Value: 0 |
Virtualization Based Security must be enabled on Windows 10 with the platform security level configured to Secure Boot or Secure Boot with DMA Protection. | 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). | Virtualization based security, including Credential Guard, currently cannot be implemented in virtual desktop implementations (VDI) due to specific supporting requirements including a TPM, UEFI with Secure Boot, and the capability to run the Hyper-V feature within the virtual desktop. For VDIs where the virtual desktop instance is deleted or refreshed upon logoff, this is NA. 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 for “Select Platform Security Level:”. A Microsoft article on Credential Guard system requirement can be found at the following link. https://technet.microsoft.com/en-us/itpro/windows/keep-secure/credential-guard-requirements | Confirm Virtualization Based Security is enabled and running with Secure Boot or Secure Boot and DMA Protection. For those devices that support virtualization based security (VBS) features, including Credential Guard or protection of code integrity, this must be enabled. If the system meets the hardware and firmware dependencies for enabling VBS but it is not enabled, this is a CAT III finding. Virtualization based security, including Credential Guard, currently cannot be implemented in virtual desktop implementations (VDI) due to specific supporting requirements including a TPM, UEFI with Secure Boot, and the capability to run the Hyper-V feature within the virtual desktop. For VDIs where the virtual desktop instance is deleted or refreshed upon logoff, this is NA. Run “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 finding. If “Device Guard Required Security Properties” does not display “Base Virtualization Support, Secure Boot”, this is 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: 1 Value Name: RequirePlatformSecurityFeatures Value Type: REG_DWORD Value: 1 (Secure Boot only) or 3 (Secure Boot and DMA Protection) A Microsoft article on Credential Guard system requirement can be found at the following link: https://technet.microsoft.com/en-us/itpro/windows/keep-secure/credential-guard-requirements NOTE: The severity level for the requirement will be upgraded to CAT II starting January 2020. |
Outgoing secure channel traffic must be signed when possible. | Requests sent on the secure channel are authenticated, and sensitive information (such as passwords) is encrypted, but the channel is not integrity checked. If this policy is enabled, outgoing secure channel traffic will be signed. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Domain member: Digitally sign secure channel data (when possible)” to “Enabled”. | 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: SignSecureChannel Value Type: REG_DWORD Value: 1 |
Hardened UNC paths must be defined to require mutual authentication and integrity for at least the \\*\SYSVOL and \\*\NETLOGON shares. | 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. | 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 | 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. |
The built-in guest account must be renamed. | The built-in guest account is a well-known user account on all Windows systems and, as initially installed, does not require a password. This can allow access to system resources by unauthorized users. Renaming this account to an unidentified name improves the protection of this account and the system. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Accounts: Rename guest account” to a name other than “Guest”. | 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 >> Security Options. If the value for “Accounts: Rename guest account” is set to “Guest”, this is a finding. |
The Create global objects user right must only be assigned to Administrators, Service, Local Service, and Network Service. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Create global objects” user right can create objects that are available to all sessions, which could affect processes in other users’ sessions. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Create global objects” to only include the following groups or accounts: Administrators LOCAL SERVICE NETWORK SERVICE SERVICE | 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 groups or accounts other than the following are granted the “Create global objects” user right, this is a finding: Administrators LOCAL SERVICE NETWORK SERVICE SERVICE |
The system must be configured to audit Privilege Use – Sensitive Privilege Use failures. | 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”. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Privilege Use >> Sensitive Privilege Use – Failure |
Virtualization-based protection of code integrity must be enabled. | Virtualization-based protection of code integrity enforces kernel mode memory protections and protects Code Integrity validation paths. This isolates the processes from the rest of the operating system and can only be accessed by privileged system software. | Virtualization-based security currently cannot be implemented in VDIs due to specific supporting requirements, including a TPM, UEFI with Secure Boot, and the capability to run the Hyper-V feature within the virtual desktop. For VDIs where the virtual desktop instance is deleted or refreshed upon logoff, this is NA. Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Device Guard >> “Turn On Virtualization Based Security” to “Enabled” with “Enabled with UEFI lock” or “Enabled without lock” selected for “Virtualization Based Protection of Code Integrity:”. “Enabled with UEFI lock” is preferred as more secure; however, it cannot be turned off remotely through a group policy change if there is an issue. “Enabled without lock” will allow this to be turned off remotely while testing for issues. | Confirm virtualization-based protection of code integrity. For devices that support the virtualization based security (VBS) feature for protection of code integrity, this must be enabled. If the system meets the hardware, firmware, and compatible device driver dependencies for enabling virtualization-based protection of code integrity but it is not enabled, this is a CAT II finding. Virtualization based security currently cannot be implemented in virtual desktop implementations (VDI) due to specific supporting requirements including a TPM, UEFI with Secure Boot, and the capability to run the Hyper-V feature within the virtual desktop. For VDIs where the virtual desktop instance is deleted or refreshed upon logoff, this is NA. Run “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 “2” (e.g., “{1, 2}”), this is a finding. Alternately: Run “System Information”. Under “System Summary”, verify the following: If “Virtualization-based Security Services Running” does not list “Hypervisor enforced Code Integrity”, this is 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: HypervisorEnforcedCodeIntegrity Value Type: REG_DWORD Value: 0x00000001 (1) (Enabled with UEFI lock), or 0x00000002 (2) (Enabled without lock) |
Zone information must be preserved when saving attachments. | Preserving zone of origin (internet, intranet, local, restricted) information on file attachments allows Windows to determine risk. | The default behavior is for Windows to mark file attachments with their zone information. If this needs to be corrected, configure the policy value for User Configuration >> Administrative Templates >> Windows Components >> Attachment Manager >> “Do not preserve zone information in file attachments” to “Not Configured” or “Disabled”. | The default behavior is for Windows to mark file attachments with their zone information. If the registry Value Name below does not exist, this is not a finding. If it exists and is configured with a value of “2”, this is not a finding. If it exists and is configured with a value of “1”, this is a finding. Registry Hive: HKEY_CURRENT_USER Registry Path: \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Attachments\ Value Name: SaveZoneInformation Value Type: REG_DWORD Value: 0x00000002 (2) (or if the Value Name does not exist) |
Toast notifications to the lock screen must be turned off. | Toast notifications 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. | Configure the policy value for User Configuration >> Administrative Templates >> Start Menu and Taskbar >> Notifications >> “Turn off toast notifications on the lock screen” to “Enabled”. | If the following registry value does not exist or is not configured as specified, this is a finding: Registry Hive: HKEY_CURRENT_USER Registry Path: \SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\PushNotifications\ Value Name: NoToastApplicationNotificationOnLockScreen Value Type: REG_DWORD Value: 1 |
The Access this computer from the network user right must only be assigned to the Administrators and Remote Desktop Users groups. | 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 must be limited to those that require it. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Access this computer from the network” to only include the following groups or accounts: Administrators Remote Desktop Users | 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 groups or accounts other than the following are granted the “Access this computer from the network” user right, this is a finding: Administrators Remote Desktop Users If a domain application account such as for a management tool 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, managed at the domain level, must meet requirements for application account passwords, such as length and frequency of changes as defined in the Windows server STIGs. |
The Access Credential Manager as a trusted caller user right must not be assigned to any groups or accounts. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Access Credential Manager as a trusted caller” user right may be able to retrieve the credentials of other accounts from Credential Manager. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Access Credential Manager as a trusted caller” to be defined but containing no entries (blank). | 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 groups or accounts are granted the “Access Credential Manager as a trusted caller” user right, this is a finding. |
User Account Control must virtualize file and registry write failures to per-user locations. | User Account Control (UAC) is a security mechanism for limiting the elevation of privileges, including administrative accounts, unless authorized. This setting configures non-UAC compliant applications to run in virtualized file and registry entries in per-user locations, allowing them to run. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “User Account Control: Virtualize file and registry write failures to per-user locations” to “Enabled”. | 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: EnableVirtualization Value Type: REG_DWORD Value: 1 |
User Account Control must run all administrators in Admin Approval Mode, enabling UAC. | User Account Control (UAC) is a security mechanism for limiting the elevation of privileges, including administrative accounts, unless authorized. This setting enables UAC. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “User Account Control: Run all administrators in Admin Approval Mode” to “Enabled”. | 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: EnableLUA Value Type: REG_DWORD Value: 1 |
Windows 10 must have command line process auditing events enabled for failures. | When this policy setting is enabled, the operating system generates audit events when a process fails to start and the name of the program or user that created it. These audit events can assist in understanding how a computer is being used and tracking user activity. | Go to Computer Configuration >> Policies >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> Detailed Tracking >> Set “Audit Process Creation” to “Failure”. | Ensure Audit Process Creation auditing has been enabled: Computer Configuration >> Policies >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> Detailed Tracking >> Set to “Failure”. If “Audit Process Creation” is not set to “Failure”, this is a finding. |
Group Policy objects must be reprocessed even if they have not changed. | Enabling this setting and then selecting the “Process even if the Group Policy objects have not changed” option ensures that 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. | Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Group Policy >> “Configure registry policy processing” to “Enabled” and select the option “Process even if the Group Policy objects have not changed”. | 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 Value Type: REG_DWORD Value: 0 |
Downloading print driver packages over HTTP must be prevented. | 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 uncontrolled updates to the system. This setting prevents the computer from downloading print driver packages over HTTP. | 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”. | 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 Value Type: REG_DWORD Value: 1 |
Web publishing and online ordering wizards must be prevented from downloading a list of providers. | 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 uncontrolled updates to the system. This setting prevents Windows from downloading a list of providers for the Web publishing and online ordering wizards. | Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Internet Communication Management >> Internet Communication settings >> “Turn off Internet download for Web publishing and online ordering wizards” to “Enabled”. | 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: NoWebServices Value Type: REG_DWORD Value: 1 |
Printing over HTTP must be prevented. | 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 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. | Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Internet Communication Management >> Internet Communication settings >> “Turn off printing over HTTP” to “Enabled”. | 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 Value Type: REG_DWORD Value: 1 |
The Allow log on locally user right must only be assigned to the Administrators and Users groups. | Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities. Accounts with the “Allow log on locally” user right can log on interactively to a system. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Allow log on locally” to only include the following groups or accounts: Administrators Users | 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 groups or accounts other than the following are granted the “Allow log on locally” user right, this is a finding: Administrators Users |
The Act as part of the operating system user right must not be assigned to any groups or accounts. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Act as part of the operating system” user right can assume the identity of any user and gain access to resources that user is authorized to access. Any accounts with this right can take complete control of a system. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Act as part of the operating system” to be defined but containing no entries (blank). | 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 groups or accounts (to include administrators), are granted the “Act as part of the operating system” user right, this is a finding. |
Credential Guard must be running on Windows 10 domain-joined systems. | Credential Guard uses virtualization based security to protect information 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 operating system and can only be accessed by privileged system software. | Virtualization based security, including Credential Guard, currently cannot be implemented in VDIs due to specific supporting requirements including a TPM, UEFI with Secure Boot, and the capability to run the Hyper-V feature within the virtual desktop. For VDIs where the virtual desktop instance is deleted or refreshed upon logoff, this is Not Applicable. For VDIs with persistent desktops, this may be downgraded to a CAT II only where administrators have specific tokens for the VDI. Administrator accounts on virtual desktops must only be used on systems in the VDI; they may not have administrative privileges on any other systems such as servers and physical workstations. 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:”. v1507 LTSB does not include selection options; select “Enable Credential Guard”. A Microsoft TechNet article on Credential Guard, including system requirement details, can be found at the following link: https://docs.microsoft.com/en-us/windows/access-protection/credential-guard/credential-guard | Confirm Credential Guard is running on domain-joined systems. For devices that support Credential Guard, this feature must be enabled. Organizations must take the appropriate action to acquire and implement compatible hardware with Credential Guard enabled. Virtualization based security, including Credential Guard, currently cannot be implemented in virtual desktop implementations (VDIs) due to specific supporting requirements including a TPM, UEFI with Secure Boot, and the capability to run the Hyper-V feature within the virtual desktop. For VDIs where the virtual desktop instance is deleted or refreshed upon logoff, this is Not Applicable. Run “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 “Virtualization-based Security Services Running” does not list “Credential Guard”, this is 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) |
Early Launch Antimalware, Boot-Start Driver Initialization Policy must prevent boot drivers. | By being launched first by the kernel, ELAM ( Early Launch Antimalware) is ensured to be launched before any third-party software, and is therefore able to detect malware in the boot process and prevent it from initializing. | Ensure that Early Launch Antimalware – Boot-Start Driver Initialization policy is set to enforce “Good, unknown and bad but critical” (preventing “bad”). If this needs to be corrected configure the policy value for Computer Configuration >> Administrative Templates >> System >> Early Launch Antimalware >> “Boot-Start Driver Initialization Policy” to “Enabled” with “Good, unknown and bad but critical” selected. | The default behavior is for Early Launch Antimalware – Boot-Start Driver Initialization policy is to enforce “Good, unknown and bad but critical” (preventing “bad”). If the registry value name below does not exist, this a finding. If it exists and is configured with a value of “7”, this is a finding. Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \SYSTEM\CurrentControlSet\Policies\EarlyLaunch\ Value Name: DriverLoadPolicy Value Type: REG_DWORD Value: 1, 3, or 8 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) |
The Windows Remote Management (WinRM) client must not use Digest authentication. | Digest authentication is not as strong as other options and may be subject to man-in-the-middle attacks. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows Remote Management (WinRM) >> WinRM Client >> “Disallow Digest authentication” to “Enabled”. | 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 Value Type: REG_DWORD Value: 0 |
The system must be configured to audit Detailed Tracking – Process Creation successes. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Detailed Tracking >> Process Creation – Success |
The Enable computer and user accounts to be trusted for delegation user right must not be assigned to any groups or accounts. | 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 potentially allow unauthorized users to impersonate other users. | 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 be defined but containing no entries (blank). | 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 groups or accounts are granted the “Enable computer and user accounts to be trusted for delegation” user right, this is a finding. |
Windows 10 must use multifactor authentication for local and network access to privileged and nonprivileged accounts. | Without the use of multifactor authentication, the ease of access to privileged and nonprivileged functions is greatly increased. All domain accounts must be enabled for multifactor authentication with the exception of local emergency accounts. Multifactor authentication requires using two or more factors to achieve authentication. Factors include: 1) Something a user knows (e.g., password/PIN); 2) Something a user has (e.g., cryptographic identification device, token); and 3) Something a user is (e.g., biometric). A privileged account is defined as an information system account with authorizations of a privileged user. Network access is defined as access to an information system by a user (or a process acting on behalf of a user) communicating through a network (e.g., local area network, wide area network, or the internet). Local access is defined as access to an organizational information system by a user (or process acting on behalf of a user) communicating through a direct connection without the use of a network. The DoD CAC with DoD-approved PKI is an example of multifactor authentication. Satisfies: SRG-OS-000106-GPOS-00053, SRG-OS-000107-GPOS-00054, SRG-OS-000108-GPOS-00055 | For nondomain-joined systems, configuring Windows Hello for sign-on options is suggested based on the organization’s needs and capabilities. | If the system is not a member of a domain, this is Not Applicable. If one of the following settings does not exist and is not populated, this is a finding: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\Readers Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\SmartCards |
User Account Control must automatically deny elevation requests for standard users. | User Account Control (UAC) is a security mechanism for limiting the elevation of privileges, including administrative accounts, unless authorized. Denying elevation requests from standard user accounts requires tasks that need elevation to be initiated by accounts with administrative privileges. This ensures correct accounts are used on the system for privileged tasks to help mitigate credential theft. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “User Account Control: Behavior of the elevation prompt for standard users” to “Automatically deny elevation requests”. | 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: ConsentPromptBehaviorUser Value Type: REG_DWORD Value: 0 |
The maximum password age must be configured to 60 days or less. | 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. | 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). | 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. |
User Account Control approval mode for the built-in Administrator must be enabled. | User Account Control (UAC) is a security mechanism for limiting the elevation of privileges, including administrative accounts, unless authorized. This setting configures the built-in Administrator account so that it runs in Admin Approval Mode. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “User Account Control: Admin Approval Mode for the Built-in Administrator account” to “Enabled”. | 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: FilterAdministratorToken Value Type: REG_DWORD Value: 1 |
The Create permanent shared objects user right must not be assigned to any groups or accounts. | Inappropriate granting of user rights can provide system, administrative, and other high level capabilities. Accounts with the “Create permanent shared objects” user right could expose sensitive data by creating shared objects. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> User Rights Assignment >> “Create permanent shared objects” to be defined but containing no entries (blank). | 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 groups or accounts are granted the “Create permanent shared objects” user right, this is a finding. |
User Account Control must, at minimum, prompt administrators for consent on the secure desktop. | User Account Control (UAC) is a security mechanism for limiting the elevation of privileges, including administrative accounts, unless authorized. This setting configures the elevation requirements for logged on administrators to complete a task that requires raised privileges. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode” to “Prompt for consent on the secure desktop”. | 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: ConsentPromptBehaviorAdmin Value Type: REG_DWORD Value: 2 (Prompt for consent on the secure desktop) |
Autoplay must be turned off for non-volume devices. | Allowing autoplay to execute may introduce malicious code to a system. Autoplay begins reading from a drive as soon as you insert media in 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). | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> AutoPlay Policies >> “Disallow Autoplay for non-volume devices” to “Enabled”. | 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 Value Type: REG_DWORD Value: 1 |
Domain-joined systems must use Windows 10 Enterprise Edition 64-bit version. | Features such as Credential Guard use virtualization-based security to protect information 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. Virtualization-based security and Credential Guard are only available with Windows 10 Enterprise 64-bit version. | Use Windows 10 Enterprise 64-bit version for domain-joined systems. | Verify domain-joined systems are using Windows 10 Enterprise Edition 64-bit version. For standalone or nondomain-joined systems, this is NA. Open “Settings”. Select “System”, then “About”. If “Edition” is not “Windows 10 Enterprise”, this is a finding. If “System type” is not “64-bit operating system…”, this is a finding. |
The Deny log on through Remote Desktop Services user right on Windows 10 workstations must at a minimum be configured to prevent access from highly privileged domain accounts and local accounts on domain systems and unauthenticated access on all systems. | Inappropriate granting of user rights can provide system, administrative, and other high-level capabilities. The “Deny log on through Remote Desktop Services” right defines the accounts that are prevented from logging on using Remote Desktop Services. If Remote Desktop Services is not used by the organization, the Everyone group must be assigned this right to prevent all access. 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. | 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. If Remote Desktop Services is not used by the organization, assign the Everyone group this right to prevent all access. Domain Systems Only: Enterprise Admins group Domain Admins group Local account (see Note below) All Systems: Guests group Privileged Access Workstations (PAWs) dedicated to the management of Active Directory are exempt from denying the Enterprise Admins and Domain Admins groups. (See the Windows Privileged Access Workstation STIG for PAW requirements.) Note: “Local account” is a built-in security group used to assign user rights and permissions to all local accounts. | 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 groups or accounts are not defined for the “Deny log on through Remote Desktop Services” right, this is a finding: If Remote Desktop Services is not used by the organization, the “Everyone” group can replace all of the groups listed below. Domain Systems Only: Enterprise Admins group Domain Admins group Local account (see Note below) All Systems: Guests group Privileged Access Workstations (PAWs) dedicated to the management of Active Directory are exempt from denying the Enterprise Admins and Domain Admins groups. (See the Windows Privileged Access Workstation STIG for PAW requirements.) Note: “Local account” is a built-in security group used to assign user rights and permissions to all local accounts. |
PowerShell script block logging must be enabled on Windows 10. | 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. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows PowerShell >> “Turn on PowerShell Script Block Logging” to “Enabled”. | 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: 1 |
User Account Control must be configured to detect application installations and prompt for elevation. | User Account Control (UAC) is a security mechanism for limiting the elevation of privileges, including administrative accounts, unless authorized. This setting requires Windows to respond to application installation requests by prompting for credentials. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “User Account Control: Detect application installations and prompt for elevation” to “Enabled”. | 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: EnableInstallerDetection Value Type: REG_DWORD Value: 1 |
Windows 10 domain-joined systems must have a Trusted Platform Module (TPM) enabled and ready for use. | Credential Guard uses virtualization-based security to protect information 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. | For standalone or nondomain-joined systems, this is NA. Virtualization-based security, including Credential Guard, currently cannot be implemented in VDI due to specific supporting requirements including a TPM, UEFI with Secure Boot, and the capability to run the Hyper-V feature within the virtual desktop. For VDIs where the virtual desktop instance is deleted or refreshed upon logoff, this is NA. Ensure domain-joined systems have a Trusted Platform Module (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. | Verify domain-joined systems have a TPM enabled and ready for use. For standalone or nondomain-joined systems, this is NA. Virtualization-based security, including Credential Guard, currently cannot be implemented in virtual desktop implementations (VDI) due to specific supporting requirements including a TPM, UEFI with Secure Boot, and the capability to run the Hyper-V feature within the virtual desktop. For VDIs where the virtual desktop instance is deleted or refreshed upon logoff, this is NA. Verify the system has a TPM and 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. |
Windows 10 systems must have Unified Extensible Firmware Interface (UEFI) firmware and be configured to run in UEFI mode, not Legacy BIOS. | UEFI provides additional security features in comparison to legacy BIOS firmware, including Secure Boot. UEFI is required to support additional security features in Windows 10, including Virtualization Based Security and Credential Guard. Systems with UEFI that are operating in Legacy BIOS mode will not support these security features. | Configure UEFI firmware to run in UEFI mode, not Legacy BIOS mode. | For virtual desktop implementations (VDIs) where the virtual desktop instance is deleted or refreshed upon logoff, this is NA. 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. |
The system must be configured to use FIPS-compliant algorithms for encryption, hashing, and signing. | This setting ensures that the system uses algorithms that are FIPS-compliant for encryption, hashing, and signing. FIPS-compliant algorithms meet specific standards established by the U.S. Government and must be the algorithms used for all OS encryption functions. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing” to “Enabled”. | 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\FIPSAlgorithmPolicy\ Value Name: Enabled Value Type: REG_DWORD Value: 1 Warning: Clients with this setting enabled will not be able to communicate via digitally encrypted or signed protocols with servers that do not support these algorithms. Both the browser and web server must be configured to use TLS otherwise the browser will not be able to connect to a secure site. |
User Account Control must only elevate UIAccess applications that are installed in secure locations. | User Account Control (UAC) is a security mechanism for limiting the elevation of privileges, including administrative accounts, unless authorized. This setting configures Windows to only allow applications installed in a secure location on the file system, such as the Program Files or the Windows\System32 folders, to run with elevated privileges. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “User Account Control: Only elevate UIAccess applications that are installed in secure locations” to “Enabled”. | 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: EnableSecureUIAPaths Value Type: REG_DWORD Value: 1 |
Command line data must be included in process creation events. | 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. | Configure the policy value for Computer Configuration >> Administrative Templates >> System >> Audit Process Creation >> “Include command line in process creation events” to “Enabled”. | 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: 1 |
Wi-Fi Sense must be disabled. | Wi-Fi Sense automatically connects the system to known hotspots and networks that contacts have shared. It also allows the sharing of the system’s known networks to contacts. Automatically connecting to hotspots and shared networks can expose a system to unsecured or potentially malicious systems. | Configure the policy value for Computer Configuration >> Administrative Templates >> Network >> WLAN Service >> WLAN Settings>> “Allow Windows to automatically connect to suggested open hotspots, to networks shared by contacts, and to hotspots offering paid services” to “Disabled”. v1507 LTSB does not include this group policy setting. It may be configured through other means such as using group policy from a later version of Windows 10 or a registry update. | This is NA as of v1803 of Windows 10; Wi-Fi sense is no longer available. 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\WcmSvc\wifinetworkmanager\config\ Value Name: AutoConnectAllowedOEM Type: REG_DWORD Value: 0x00000000 (0) |
Connections to non-domain networks when connected to a domain authenticated network must be blocked. | Multiple network connections can provide additional attack vectors to a system and should be limited. When connected to a domain, communication must go through the domain connection. | Configure the policy value for Computer Configuration >> Administrative Templates >> Network >> Windows Connection Manager >> “Prohibit connection to non-domain networks when connected to domain authenticated network” to “Enabled”. | 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\WcmSvc\GroupPolicy\ Value Name: fBlockNonDomain Value Type: REG_DWORD Value: 1 |
Simultaneous connections to the internet or a Windows domain must be limited. | Multiple network connections can provide additional attack vectors to a system and must be limited. The “Minimize the number of simultaneous connections to the Internet or a Windows Domain” setting prevents systems from automatically establishing multiple connections. When both wired and wireless connections are available, for example, the less-preferred connection (typically wireless) will be disconnected. | The default behavior for “Minimize the number of simultaneous connections to the Internet or a Windows Domain” is “Enabled”. If this must be corrected, configure the policy value for Computer Configuration >> Administrative Templates >> Network >> Windows Connection Manager >> “Minimize the number of simultaneous connections to the Internet or a Windows Domain” to “Enabled”. Under “Options”, set “Minimize Policy Options” to “3 = Prevent Wi-Fi When on Ethernet”. | The default behavior for “Minimize the number of simultaneous connections to the Internet or a Windows Domain” is “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 “3”, this is not a finding. If it exists and is configured with a value of “0”, this is a finding. Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \SOFTWARE\Policies\Microsoft\Windows\WcmSvc\GroupPolicy\ Value Name: fMinimizeConnections Value Type: REG_DWORD Value: 3 (or if the Value Name does not exist) |
Windows 10 must be configured to prioritize ECC Curves with longer key lengths first. | Use of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. By default Windows uses ECC curves with shorter key lengths first. Requiring ECC curves with longer key lengths to be prioritized first helps ensure more secure algorithms are used. | Configure the policy value for Computer Configuration >> Administrative Templates >> Network >> SSL Configuration Settings >> “ECC Curve Order” to “Enabled” with “ECC Curve Order:” including the following in the order listed: NistP384 NistP256 | 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\Cryptography\Configuration\SSL\00010002\ Value Name: EccCurves Value Type: REG_MULTI_SZ Value: NistP384 NistP256 |
Internet connection sharing must be disabled. | Internet connection sharing makes it possible for an existing internet connection, such as through wireless, to be shared and used by other systems essentially creating a mobile hotspot. This exposes the system sharing the connection to others with potentially malicious purpose. | Configure the policy value for Computer Configuration >> Administrative Templates >> Network >> Network Connections >> “Prohibit use of Internet Connection Sharing on your DNS domain network” to “Enabled”. | 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\Network Connections\ Value Name: NC_ShowSharedAccessUI Type: REG_DWORD Value: 0x00000000 (0) |
Insecure logons to an SMB server must be disabled. | Insecure guest logons allow unauthenticated access to shared folders. Shared resources on a system must require authentication to establish proper access. | Configure the policy value for Computer Configuration >> Administrative Templates >> Network >> Lanman Workstation >> “Enable insecure guest logons” to “Disabled”. | Windows 10 v1507 LTSB version does not include this setting; it is NA for those 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: \SOFTWARE\Policies\Microsoft\Windows\LanmanWorkstation\ Value Name: AllowInsecureGuestAuth Type: REG_DWORD Value: 0x00000000 (0) |
Run as different user must be removed from context menus. | The “Run as different user” selection from context menus allows the use of credentials other than the currently logged on user. Using privileged credentials in a standard user session can expose those credentials to theft. Removing this option from context menus helps prevent this from occurring. | Configure the policy value for Computer Configuration >> Administrative Templates >> MS Security Guide >> “Remove “Run as Different User” from context menus” 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. | If the following registry values do not exist or are not configured as specified, this is a finding. The policy configures the same Value Name, Type and Value under four different registry paths. Registry Hive: HKEY_LOCAL_MACHINE Registry Paths: \SOFTWARE\Classes\batfile\shell\runasuser\ \SOFTWARE\Classes\cmdfile\shell\runasuser\ \SOFTWARE\Classes\exefile\shell\runasuser\ \SOFTWARE\Classes\mscfile\shell\runasuser\ Value Name: SuppressionPolicy Type: REG_DWORD Value: 0x00001000 (4096) |
Accounts must be configured to require password expiration. | Passwords that do not expire increase exposure with a greater probability of being discovered or cracked. | Configure all passwords to expire. Run “Computer Management”. Navigate to System Tools >> Local Users and Groups >> Users. Double click each active account. Ensure “Password never expires” is not checked on all active accounts. | Run “Computer Management”. Navigate to System Tools >> Local Users and Groups >> Users. Double click each active account. If “Password never expires” is selected for any account, this is a finding. |
The machine inactivity limit must be set to 15 minutes, locking the system with the screensaver. | Unattended systems are susceptible to unauthorized use and should be locked when unattended. The screen saver should be set at a maximum of 15 minutes and be password protected. This protects critical and sensitive data from exposure to unauthorized personnel with physical access to the computer. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Interactive logon: Machine inactivity limit” to “900” seconds” or less, excluding “0” which is effectively disabled. | 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: InactivityTimeoutSecs Value Type: REG_DWORD Value: 0x00000384 (900) (or less, excluding “0” which is effectively disabled) |
The required legal notice must be configured to display before console logon. | Failure to display the logon banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Interactive logon: Message text for users attempting to log on” to the following. You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests–not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. | 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: LegalNoticeText Value Type: REG_SZ Value: You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests–not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. |
The Windows dialog box title for the legal banner must be configured. | Failure to display the logon banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Interactive logon: Message title for users attempting to log on” to “DoD Notice and Consent Banner”, “US Department of Defense Warning Statement”, or a site-defined equivalent. If a site-defined title is used, it can in no case contravene or modify the language of the banner text required in WN10-SO-000075. | 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: LegalNoticeCaption Value Type: REG_SZ Value: See message title above “DoD Notice and Consent Banner”, “US Department of Defense Warning Statement” or a site-defined equivalent, this is a finding. If a site-defined title is used, it can in no case contravene or modify the language of the banner text required in WN10-SO-000075. |
Caching of logon credentials must be limited. | 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. | This is the default configuration for this setting (10 logons to cache). 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 “10” logons or less. This setting only applies to domain-joined systems, however, it is configured by default on all systems. | This is the default configuration for this setting (10 logons to cache). 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: 10 (or less) This setting only applies to domain-joined systems, however, it is configured by default on all systems. |
The Smart Card removal option must be configured to Force Logoff or Lock Workstation. | Unattended systems are susceptible to unauthorized use and must be locked. Configuring a system to lock when a smart card is removed will ensure the system is inaccessible when unattended. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Interactive logon: Smart card removal behavior” to “Lock Workstation” or “Force Logoff”. | 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: SCRemoveOption Value Type: REG_SZ Value: 1 (Lock Workstation) or 2 (Force Logoff) This can be left not configured or set to “No action” on workstations with the following conditions. This must be documented with the ISSO. -The setting cannot be configured due to mission needs, or because it interferes with applications. -Policy must be in place that users manually lock workstations when leaving them unattended. -The screen saver is properly configured to lock as required. |
The Windows SMB client must be configured to always perform SMB packet signing. | The server message block (SMB) protocol provides the basis for many network operations. Digitally signed SMB packets aid in preventing man-in-the-middle attacks. If this policy is enabled, the SMB client will only communicate with an SMB server that performs SMB packet signing. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Microsoft network client: Digitally sign communications (always)” to “Enabled”. | 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\LanmanWorkstation\Parameters\ Value Name: RequireSecuritySignature Value Type: REG_DWORD Value: 1 |
Windows 10 must be configured to prevent Windows apps from being activated by voice while the system is locked. | Allowing Windows apps to be activated by voice from the lock screen could allow for unauthorized use. Requiring logon will ensure the apps are only used by authorized personnel. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> App Privacy >> “Let Windows apps activate with voice while the system is locked” to “Enabled” with “Default for all Apps:” set to “Force Deny”. The requirement is NA if the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> App Privacy >> “Let Windows apps activate with voice” is configured to “Enabled” with “Default for all Apps:” set to “Force Deny”. | This setting requires v1903 or later of Windows 10; it is NA for prior versions. The setting is NA when the “Allow voice activation” policy is configured to disallow applications to be activated with voice for all users. 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\AppPrivacy\ Value Name: LetAppsActivateWithVoiceAboveLock Type: REG_DWORD Value: 0x00000002 (2) If the following registry value exists and is configured as specified, requirement is NA. Registry Hive: HKEY_LOCAL_MACHINE Registry Path: \SOFTWARE\Policies\Microsoft\Windows\AppPrivacy\ Value Name: LetAppsActivateWithVoice Type: REG_DWORD Value: 0x00000002 (2) |
The Windows SMB server must be configured to always perform SMB packet signing. | The server message block (SMB) protocol provides the basis for many network operations. Digitally signed SMB packets aid in preventing man-in-the-middle attacks. If this policy is enabled, the SMB server will only communicate with an SMB client that performs SMB packet signing. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Microsoft network server: Digitally sign communications (always)” to “Enabled”. | 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: RequireSecuritySignature Value Type: REG_DWORD Value: 1 |
Anonymous SID/Name translation must not be allowed. | Allowing anonymous SID/Name translation can provide sensitive information for accessing a system. Only authorized users must be able to perform such translations. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Network access: Allow anonymous SID/Name translation” to “Disabled”. | 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 >> Security Options. If the value for “Network access: Allow anonymous SID/Name translation” is not set to “Disabled”, this is a finding. |
Anonymous enumeration of SAM accounts must not be allowed. | Anonymous enumeration of SAM accounts allows anonymous log on users (null session connections) to list all accounts names, thus providing a list of potential points to attack the system. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Network access: Do not allow anonymous enumeration of SAM accounts” to “Enabled”. | 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: RestrictAnonymousSAM Value Type: REG_DWORD Value: 1 |
The system must be configured to audit Logon/Logoff – Logon failures. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Logon/Logoff >> Logon – Failure |
The system must be configured to audit Logon/Logoff – Special Logon successes. | 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 which have administrative privileges and can be used to elevate processes. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Logon/Logoff >> Special Logon – Success |
The default permissions of global system objects must be increased. | Windows systems maintain a global list of shared system resources such as DOS device names, mutexes, and semaphores. Each type of object is created with a default DACL that specifies who can access the objects with what permissions. If this policy is enabled, the default DACL is stronger, allowing non-admin users to read shared objects, but not modify shared objects that they did not create. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “System objects: Strengthen default permissions of internal system objects (e.g. Symbolic links)” to “Enabled”. | 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\Session Manager\ Value Name: ProtectionMode Value Type: REG_DWORD Value: 1 |
The Windows Remote Management (WinRM) service must not store RunAs credentials. | 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. | 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”. | 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 Value Type: REG_DWORD Value: 1 |
Autoplay must be disabled for all drives. | Allowing autoplay to execute may introduce malicious code to a system. Autoplay begins reading from a drive as soon as you insert media in 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. If you enable this policy, you can also disable autoplay on all drives. | Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> AutoPlay Policies >> “Turn off AutoPlay” to “Enabled:All Drives”. | 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 Value Type: REG_DWORD Value: 0x000000ff (255) Note: If the value for NoDriveTypeAutorun is entered manually, it must be entered as “ff” when Hexadecimal is selected, or “255” with Decimal selected. Using the policy value specified in the Fix section will enter it correctly. |
Internet Explorer must be disabled for Windows 10. | Internet Explorer 11 (IE11) is no longer supported on Windows 10 semi-annual channel. | For Windows 10 semi-annual channel, remove or disable the IE11 application. To disable IE11 as a standalone browser: Set the policy value for “Computer Configuration/Administrative Templates/Windows Components/Internet Explorer/Disable Internet Explorer 11 as a standalone browser” to “Enabled” with the option value set to “Never”. | Determine if IE11 is installed or enabled on Windows 10 semi-annual channel. If IE11 is installed or not disabled on Windows 10 semi-annual channel, this is a finding. If IE11 is installed on a unsupported operating system and is enabled or installed, this is a finding. For more information, visit: https://learn.microsoft.com/en-us/lifecycle/faq/internet-explorer-microsoft-edge#what-is-the-lifecycle-policy-for-internet-explorer- |
The system must be configured to audit Policy Change – Authentication Policy Change successes. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Policy Change >> Authentication Policy Change – Success |
The system must be configured to audit Policy Change – Authorization Policy Change successes. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: -Open 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. Policy Change >> Authorization Policy Change – Success |
Windows 10 must be configured to audit Object Access – File Share successes. | 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 file shares records events related to connection to shares on a system including system shares such as C$. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Object Access >> “Audit File Share” with “Success” selected. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) 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: Object Access >> File Share – Success If the system does not audit the above, this is a finding. |
Windows 10 must be configured to audit Object Access – Other Object Access Events successes. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) 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: Object Access >> Other Object Access Events – Success If the system does not audit the above, this is a finding. |
The built-in administrator account must be renamed. | The built-in administrator account is a well-known account subject to attack. Renaming this account to an unidentified name improves the protection of this account and the system. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Local Policies >> Security Options >> “Accounts: Rename administrator account” to a name other than “Administrator”. | 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 >> Security Options. If the value for “Accounts: Rename administrator account” is set to “Administrator”, this is a finding. |
Windows 10 must be configured to audit Object Access – File Share failures. | 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 file shares records events related to connection to shares on a system including system shares such as C$. | Configure the policy value for Computer Configuration >> Windows Settings >> Security Settings >> Advanced Audit Policy Configuration >> System Audit Policies >> Object Access >> “Audit File Share” with “Failure” selected. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) 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: Object Access >> File Share – Failure If the system does not audit the above, this is a finding. |
The system must be configured to audit Object Access – Removable Storage successes. | 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 object access for removable media records events related to access attempts on file system objects on removable storage devices. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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 >> Removable Storage – Success Some virtual machines may generate excessive audit events for access to the virtual hard disk itself when this setting is enabled. This may be set to Not Configured in such cases and would not be a finding. This must be documented with the ISSO to include mitigations such as monitoring or restricting any actual removable storage connected to the VM. |
The system must be configured to audit Policy Change – Audit Policy Change successes. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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: Policy Change >> Audit Policy Change – Success |
Windows 10 must be configured to audit Object Access – Other Object Access Events failures. | 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. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) 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: Object Access >> Other Object Access Events – Failure If the system does not audit the above, this is a finding. |
The system must be configured to audit Object Access – Removable Storage failures. | 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 object access for removable media records events related to access attempts on file system objects on removable storage devices. | 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. | Security Option “Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings” must be set to “Enabled” (WN10-SO-000030) for the detailed auditing subcategories to be effective. Use the AuditPol tool to review the current Audit Policy configuration: Open 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 >> Removable Storage – Failure Some virtual machines may generate excessive audit events for access to the virtual hard disk itself when this setting is enabled. This may be set to Not Configured in such cases and would not be a finding. This must be documented with the ISSO to include mitigations such as monitoring or restricting any actual removable storage connected to the VM. |