Skip to content

Commit

Permalink
Merge pull request #477 from microsoft/bcwilhite#476
Browse files Browse the repository at this point in the history
AuditSetting Rule for Windows STIGs has an incorrect operator when evaluating Service Pack information
  • Loading branch information
bcwilhite authored Aug 14, 2019
2 parents d407c94 + a7a47f9 commit 841eb0b
Show file tree
Hide file tree
Showing 14 changed files with 238 additions and 237 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Unreleased

* Fixed [#476](https://github.com/microsoft/PowerStig/issues/476): AuditSetting Rule for Windows STIGs has an incorrect operator when evaluating Service Pack information
* Added support for Dot Net Framework 4.0 STIG, Version 1, Release 8 [#447](https://github.com/microsoft/PowerStig/issues/447)
* Added support for Windows 10 STIG, Version 1, Release 17 & 18: [#466](https://github.com/microsoft/PowerStig/issues/466)
* Added support for Windows 2012 Server DNS STIG, Version 1, Release 12 [#464](https://github.com/microsoft/PowerStig/issues/464)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Class AuditSettingRuleConvert : AuditSettingRule
Write-Verbose "[$($MyInvocation.MyCommand.Name)] Service Pack"
$this.Query = 'SELECT * FROM Win32_OperatingSystem'
$this.Property = 'Version'
$this.Operator = '-ge'
$this.Operator = '-le'

$this.rawString -match "(?:Version\s*)(\d+(\.\d+)?)" | Out-Null

Expand Down
4 changes: 2 additions & 2 deletions StigData/Processed/WindowsClient-10-1.17.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<DISASTIG version="1" classification="UNCLASSIFIED" customname="" stigid="Windows_10_STIG" description="The Windows 10 Security Technical Implementation Guide (STIG) is published as a tool to improve the security of Department of Defense (DoD) information systems. Comments or proposed revisions to this document should be sent via e-mail to the following address: disa.stig_spt@mail.mil." filename="U_MS_Windows_10_STIG_V1R17_Manual-xccdf.xml" releaseinfo="Release: 17 Benchmark Date: 24 May 2019" title="Windows 10 Security Technical Implementation Guide" notice="terms-of-use" source="STIG.DOD.MIL" fullversion="1.17" created="8/12/2019">
<DISASTIG version="1" classification="UNCLASSIFIED" customname="" stigid="Windows_10_STIG" description="The Windows 10 Security Technical Implementation Guide (STIG) is published as a tool to improve the security of Department of Defense (DoD) information systems. Comments or proposed revisions to this document should be sent via e-mail to the following address: disa.stig_spt@mail.mil." filename="U_MS_Windows_10_STIG_V1R17_Manual-xccdf.xml" releaseinfo="Release: 17 Benchmark Date: 24 May 2019" title="Windows 10 Security Technical Implementation Guide" notice="terms-of-use" source="STIG.DOD.MIL" fullversion="1.17" created="8/14/2019">
<AccountPolicyRule dscresourcemodule="SecurityPolicyDsc">
<Rule id="V-63405" severity="medium" conversionstatus="pass" title="WN10-AC-000005" dscresource="AccountPolicy">
<Description>&lt;VulnDiscussion&gt;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.&lt;/VulnDiscussion&gt;&lt;FalsePositives&gt;&lt;/FalsePositives&gt;&lt;FalseNegatives&gt;&lt;/FalseNegatives&gt;&lt;Documentable&gt;false&lt;/Documentable&gt;&lt;Mitigations&gt;&lt;/Mitigations&gt;&lt;SeverityOverrideGuidance&gt;&lt;/SeverityOverrideGuidance&gt;&lt;PotentialImpacts&gt;&lt;/PotentialImpacts&gt;&lt;ThirdPartyTools&gt;&lt;/ThirdPartyTools&gt;&lt;MitigationControl&gt;&lt;/MitigationControl&gt;&lt;Responsibility&gt;&lt;/Responsibility&gt;&lt;IAControls&gt;&lt;/IAControls&gt;</Description>
Expand Down Expand Up @@ -908,7 +908,7 @@ A separate servicing branch intended for special purpose systems is the Long-Ter
<DesiredValue>10.0.15063</DesiredValue>
<DuplicateOf />
<IsNullOrEmpty>False</IsNullOrEmpty>
<Operator>-ge</Operator>
<Operator>-le</Operator>
<OrganizationValueRequired>False</OrganizationValueRequired>
<OrganizationValueTestString />
<Property>Version</Property>
Expand Down
44 changes: 22 additions & 22 deletions StigData/Processed/WindowsClient-10-1.18.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<DISASTIG version="1" classification="UNCLASSIFIED" customname="" stigid="Windows_10_STIG" description="The Windows 10 Security Technical Implementation Guide (STIG) is published as a tool to improve the security of Department of Defense (DoD) information systems. Comments or proposed revisions to this document should be sent via e-mail to the following address: disa.stig_spt@mail.mil." filename="U_MS_Windows_10_STIG_V1R18_Manual-xccdf.xml" releaseinfo="Release: 18 Benchmark Date: 26 Jul 2019" title="Windows 10 Security Technical Implementation Guide" notice="terms-of-use" source="STIG.DOD.MIL" fullversion="1.18" created="8/12/2019">
<DISASTIG version="1" classification="UNCLASSIFIED" customname="" stigid="Windows_10_STIG" description="The Windows 10 Security Technical Implementation Guide (STIG) is published as a tool to improve the security of Department of Defense (DoD) information systems. Comments or proposed revisions to this document should be sent via e-mail to the following address: disa.stig_spt@mail.mil." filename="U_MS_Windows_10_STIG_V1R18_Manual-xccdf.xml" releaseinfo="Release: 18 Benchmark Date: 26 Jul 2019" title="Windows 10 Security Technical Implementation Guide" notice="terms-of-use" source="STIG.DOD.MIL" fullversion="1.18" created="8/14/2019">
<AccountPolicyRule dscresourcemodule="SecurityPolicyDsc">
<Rule id="V-63405" severity="medium" conversionstatus="pass" title="WN10-AC-000005" dscresource="AccountPolicy">
<Description>&lt;VulnDiscussion&gt;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.&lt;/VulnDiscussion&gt;&lt;FalsePositives&gt;&lt;/FalsePositives&gt;&lt;FalseNegatives&gt;&lt;/FalseNegatives&gt;&lt;Documentable&gt;false&lt;/Documentable&gt;&lt;Mitigations&gt;&lt;/Mitigations&gt;&lt;SeverityOverrideGuidance&gt;&lt;/SeverityOverrideGuidance&gt;&lt;PotentialImpacts&gt;&lt;/PotentialImpacts&gt;&lt;ThirdPartyTools&gt;&lt;/ThirdPartyTools&gt;&lt;MitigationControl&gt;&lt;/MitigationControl&gt;&lt;Responsibility&gt;&lt;/Responsibility&gt;&lt;IAControls&gt;&lt;/IAControls&gt;</Description>
Expand Down Expand Up @@ -277,7 +277,7 @@ Plug and Play activity records events related to the successful connection of ex
<IsNullOrEmpty>False</IsNullOrEmpty>
<OrganizationValueRequired>False</OrganizationValueRequired>
<OrganizationValueTestString />
<RawString>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.
<RawString>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").
Expand Down Expand Up @@ -319,7 +319,7 @@ Account Lockout events can be used to identify potentially malicious logon attem
<IsNullOrEmpty>False</IsNullOrEmpty>
<OrganizationValueRequired>False</OrganizationValueRequired>
<OrganizationValueTestString />
<RawString>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.
<RawString>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").
Expand All @@ -340,7 +340,7 @@ Audit Group Membership records information related to the group membership of a
<IsNullOrEmpty>False</IsNullOrEmpty>
<OrganizationValueRequired>False</OrganizationValueRequired>
<OrganizationValueTestString />
<RawString>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.
<RawString>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").
Expand Down Expand Up @@ -638,7 +638,7 @@ Audit Other System Events records information related to cryptographic key opera
<IsNullOrEmpty>False</IsNullOrEmpty>
<OrganizationValueRequired>False</OrganizationValueRequired>
<OrganizationValueTestString />
<RawString>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.
<RawString>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").
Expand All @@ -659,7 +659,7 @@ Audit Other System Events records information related to cryptographic key opera
<IsNullOrEmpty>False</IsNullOrEmpty>
<OrganizationValueRequired>False</OrganizationValueRequired>
<OrganizationValueTestString />
<RawString>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.
<RawString>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").
Expand Down Expand Up @@ -787,7 +787,7 @@ Authorization Policy Change records events related to changes in user rights, su
<IsNullOrEmpty>False</IsNullOrEmpty>
<OrganizationValueRequired>False</OrganizationValueRequired>
<OrganizationValueTestString />
<RawString>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.
<RawString>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").
Expand Down Expand Up @@ -908,7 +908,7 @@ A separate servicing branch intended for special purpose systems is the Long-Ter
<DesiredValue>10.0.15063</DesiredValue>
<DuplicateOf />
<IsNullOrEmpty>False</IsNullOrEmpty>
<Operator>-ge</Operator>
<Operator>-le</Operator>
<OrganizationValueRequired>False</OrganizationValueRequired>
<OrganizationValueTestString />
<Property>Version</Property>
Expand Down Expand Up @@ -987,7 +987,7 @@ Copy the lines below to the PowerShell window and enter.
if ($lastLogin -eq $null) {
$lastLogin = 'Never'
}
Write-Host $user.Name $lastLogin $enabled
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).
Expand Down Expand Up @@ -1053,7 +1053,7 @@ 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 finding.
If the following certificate "Subject" and "Thumbprint" information is not displayed, this is finding.

If an expired certificate ("NotAfter" date) is not listed in the results, this is not a finding.

Expand Down Expand Up @@ -1386,7 +1386,7 @@ 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 finding.
If the following certificate "Subject" and "Thumbprint" information is not displayed, this is finding.

If an expired certificate ("NotAfter" date) is not listed in the results, this is not a finding.

Expand Down Expand Up @@ -1448,7 +1448,7 @@ 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 finding.
If the following certificate "Subject", "Issuer", and "Thumbprint", information is not displayed, this is finding.

If an expired certificate ("NotAfter" date) is not listed in the results, this is not a finding.

Expand Down Expand Up @@ -1514,7 +1514,7 @@ 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 finding.
If the following certificate "Subject", "Issuer", and "Thumbprint", information is not displayed, this is finding.

If an expired certificate ("NotAfter" date) is not listed in the results, this is not a finding.

Expand Down Expand Up @@ -1674,7 +1674,7 @@ Under "System Summary", if "BIOS Mode" does not display "UEFI", this is finding.
<IsNullOrEmpty>False</IsNullOrEmpty>
<OrganizationValueRequired>False</OrganizationValueRequired>
<OrganizationValueTestString />
<RawString>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.
<RawString>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.

Expand All @@ -1698,7 +1698,7 @@ Technical means such as application whitelisting can be used to enforce the poli

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.
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.</RawString>
</Rule>
Expand Down Expand Up @@ -4332,7 +4332,7 @@ Registry Hive: HKEY_LOCAL_MACHINE
Registry Path: \SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\

Value Name: fAllowToGetHelp

Value Type: REG_DWORD
Value: 0</RawString>
<ValueData>0</ValueData>
Expand Down Expand Up @@ -4465,7 +4465,7 @@ 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.</RawString>
<ValueData>1</ValueData>
<ValueName>RequireStrongKey</ValueName>
Expand Down Expand Up @@ -4573,7 +4573,7 @@ Registry Path: \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\
Value Name: LegalNoticeText

Value Type: REG_SZ
Value:
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:
Expand Down Expand Up @@ -4708,7 +4708,7 @@ If an organization is using v1709 or later of Windows 10 this may be configured

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

Registry Hive: HKEY_LOCAL_MACHINE
Registry Hive: HKEY_LOCAL_MACHINE
Registry Path: \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\

Value Name: CachedLogonsCount
Expand Down Expand Up @@ -5562,7 +5562,7 @@ 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.</RawString>
<ValueData>1</ValueData>
<ValueName>Enabled</ValueName>
Expand Down Expand Up @@ -5830,7 +5830,7 @@ Enabling "Include command line data for process creation events" will record the
<OrganizationValueTestString />
<RawString>If the following registry value does not exist or is not configured as specified, this is a finding.

Registry Hive: HKEY_LOCAL_MACHINE
Registry Hive: HKEY_LOCAL_MACHINE
Registry Path: \SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Audit\

Value Name: ProcessCreationIncludeCmdLine_Enabled
Expand All @@ -5853,7 +5853,7 @@ Enabling PowerShell script block logging will record detailed information from t
<OrganizationValueTestString />
<RawString>If the following registry value does not exist or is not configured as specified, this is a finding.

Registry Hive: HKEY_LOCAL_MACHINE
Registry Hive: HKEY_LOCAL_MACHINE
Registry Path: \SOFTWARE\ Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging\

Value Name: EnableScriptBlockLogging
Expand Down
Loading

0 comments on commit 841eb0b

Please sign in to comment.