Skip to content

Commit e1634c5

Browse files
authored
Merge pull request #62 from ansible-lockdown/devel
2 parents b8e0708 + 298138c commit e1634c5

12 files changed

+111
-24
lines changed

.github/workflows/devel_pipeline_validation.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ name: Ansible Remediate Devel Pipeline Validation
66

77
# Controls when the action will run.
88
# Triggers the workflow on push or pull request
9-
# events but only for the devel branch
9+
# events but only for the devel branch and any branch that contains benchmark in name.
1010
on: # yamllint disable-line rule:truthy
1111
pull_request_target:
1212
types: [opened, reopened, synchronize]
1313
branches:
1414
- devel
15+
- benchmark*
1516
paths:
1617
- '**.yml'
1718
- '**.sh'

.github/workflows/devel_pipeline_validation_gpo.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ name: GPO Devel Pipeline Validation
66

77
# Controls when the action will run.
88
# Triggers the workflow on push or pull request
9-
# events but only for the devel branch
9+
# events but only for the devel branch and any branch that contains benchmark in name.
1010
on: # yamllint disable-line rule:truthy
1111
pull_request_target:
1212
types: [opened, reopened, synchronize]
1313
branches:
1414
- devel
15+
- benchmark*
1516
paths:
1617
- '**.yml'
1718
- '**.sh'
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
3+
name: Export Private Repo Badges
4+
5+
# Use different minute offsets with the same hourly pattern:
6+
# Repo Group Suggested Cron Expression Explanation
7+
# Group A 0 */6 * * * Starts at top of hour
8+
# Group B 10 */6 * * * Starts art 10 after
9+
# And So On
10+
11+
on:
12+
push:
13+
branches:
14+
- latest
15+
schedule:
16+
- cron: '0 */6 * * *'
17+
workflow_dispatch:
18+
19+
jobs:
20+
export-badges:
21+
if: github.event_name == 'workflow_dispatch' || (github.event_name == 'schedule' && startsWith(inputs.repo_name, 'ansible-lockdown/Private-')) || (github.event_name == 'push' && github.ref_name == 'latest')
22+
uses: ansible-lockdown/github_windows_IaC/.github/workflows/export_badges_private.yml@self_hosted
23+
with:
24+
# Full org/repo path passed for GitHub API calls (e.g., ansible-lockdown/Private-Windows-2016-CIS)
25+
repo_name: ${{ github.repository }}
26+
secrets:
27+
BADGE_PUSH_TOKEN: ${{ secrets.BADGE_PUSH_TOKEN }}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
3+
name: Export Public Repo Badges
4+
5+
on:
6+
push:
7+
branches:
8+
- main
9+
- devel
10+
workflow_dispatch:
11+
12+
jobs:
13+
export-badges:
14+
if: github.repository_visibility == 'public' && (github.event_name == 'workflow_dispatch' || (github.event_name == 'push' && (github.ref_name == 'devel' || github.ref_name == 'main')))
15+
uses: ansible-lockdown/github_windows_IaC/.github/workflows/export_badges_public.yml@self_hosted
16+
with:
17+
repo_name: ${{ github.repository }}
18+
secrets:
19+
BADGE_PUSH_TOKEN: ${{ secrets.BADGE_PUSH_TOKEN }}

.github/workflows/main_pipeline_validation.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ name: Ansible Remediate Main Pipeline Validation
66

77
# Controls when the action will run.
88
# Triggers the workflow on push or pull request
9-
# events but only for the devel branch
9+
# events but only for the main or latest branch
1010
on: # yamllint disable-line rule:truthy
1111
pull_request_target:
1212
types: [opened, reopened, synchronize]
1313
branches:
1414
- main
15+
- latest
1516
paths:
1617
- '**.yml'
1718
- '**.sh'

.github/workflows/main_pipeline_validation_gpo.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ name: GPO Main Pipeline Validation
66

77
# Controls when the action will run.
88
# Triggers the workflow on push or pull request
9-
# events but only for the devel branch
9+
# events but only for the main or latest branch
1010
on: # yamllint disable-line rule:truthy
1111
pull_request_target:
1212
types: [opened, reopened, synchronize]
1313
branches:
1414
- main
15+
- latest
1516
paths:
1617
- '**.yml'
1718
- '**.sh'

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,4 @@ benchparse/
4545
.github/
4646
.github/.ansible/.lock
4747
.ansible/
48+
.DS_Store

ChangeLog.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,28 @@
11
# Changelog
22

3+
## Release 1.1.1
4+
5+
May 2025 Update
6+
- Fixed Control 18.6.14.1 For Missing RequirePrivacy=1 in Ansible Hardening. - Thanks @mfortin
7+
- Updated Pipelines branches run on.
8+
- Updated 18.10.56.3.10.2 value to 60000 from 6000 in Remediate and GPO - Thanks @mfortin
9+
- Updated 18.10.79.2 Path In Remediate - Thanks @mfortin
10+
- Updated 18.10.92.4.1 ManagePreviewBuildsPolicyValue to 1. - Thanks @mfortin
11+
312
## Release 1.1.0
413

14+
February 2025 Update
15+
- Added the cloud lockout cloud tasks import that was removed last release.
16+
17+
## Release 1.0.1
18+
519
February 2025 Update
620
- Added new Readme Badges
721
- General Typos and Fixes
822
- All Workflows Updated
923
- Fixed Control Tag for rule_2.3.10.9
10-
- Added the cloud lockout cloud tasks import that was removed last release.
1124

1225
## Release 1.0.0
1326

14-
February 2025
27+
February 2025 Update
1528
- Initial Release of Windows 2016 3.0.0 Benchmark

README.md

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,54 @@
66

77
---
88

9+
## Public Repository 📣
10+
911
![Org Stars](https://img.shields.io/github/stars/ansible-lockdown?label=Org%20Stars&style=social)
1012
![Stars](https://img.shields.io/github/stars/ansible-lockdown/Windows-2016-CIS?label=Repo%20Stars&style=social)
1113
![Forks](https://img.shields.io/github/forks/ansible-lockdown/Windows-2016-CIS?style=social)
1214
![Followers](https://img.shields.io/github/followers/ansible-lockdown?style=social)
1315
[![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/AnsibleLockdown.svg?style=social&label=Follow%20%40AnsibleLockdown)](https://twitter.com/AnsibleLockdown)
14-
1516
![Discord Badge](https://img.shields.io/discord/925818806838919229?logo=discord)
1617

18+
![License](https://img.shields.io/github/license/ansible-lockdown/Windows-2016-CIS?label=License)
19+
20+
## Lint & Pre-Commit Tools 🔧
21+
22+
[![Pre-Commit.ci](https://img.shields.io/endpoint?url=https://ansible-lockdown.github.io/github_windows_IaC/badges/Windows-2016-CIS/pre-commit-ci.json)](https://results.pre-commit.ci/latest/github/ansible-lockdown/Windows-2016-CIS/devel)
23+
![YamlLint](https://img.shields.io/badge/yamllint-Present-brightgreen?style=flat&logo=yaml&logoColor=white)
24+
![Ansible-Lint](https://img.shields.io/badge/ansible--lint-Present-brightgreen?style=flat&logo=ansible&logoColor=white)
25+
26+
## Community Release Information 📂
27+
1728
![Release Branch](https://img.shields.io/badge/Release%20Branch-Main-brightgreen)
18-
![Release Tag](https://img.shields.io/github/v/tag/ansible-lockdown/Windows-2016-CIS?label=Release%20Tag&&color=success)
29+
![Release Tag](https://img.shields.io/github/v/tag/ansible-lockdown/Windows-2016-CIS?label=Release%20Tag&color=success)
1930
![Main Release Date](https://img.shields.io/github/release-date/ansible-lockdown/Windows-2016-CIS?label=Release%20Date)
31+
![Benchmark Version Main](https://img.shields.io/endpoint?url=https://ansible-lockdown.github.io/github_windows_IaC/badges/Windows-2016-CIS/benchmark-version-main.json)
32+
![Benchmark Version Devel](https://img.shields.io/endpoint?url=https://ansible-lockdown.github.io/github_windows_IaC/badges/Windows-2016-CIS/benchmark-version-devel.json)
2033

2134
[![Main Pipeline Status](https://github.com/ansible-lockdown/Windows-2016-CIS/actions/workflows/main_pipeline_validation.yml/badge.svg?)](https://github.com/ansible-lockdown/Windows-2016-CIS/actions/workflows/main_pipeline_validation.yml)
2235
[![GPO Main Pipeline Status](https://github.com/ansible-lockdown/Windows-2016-CIS/actions/workflows/main_pipeline_validation_gpo.yml/badge.svg?)](https://github.com/ansible-lockdown/Windows-2016-CIS/actions/workflows/main_pipeline_validation_gpo.yml)
2336

2437
[![Devel Pipeline Status](https://github.com/ansible-lockdown/Windows-2016-CIS/actions/workflows/devel_pipeline_validation.yml/badge.svg?)](https://github.com/ansible-lockdown/Windows-2016-CIS/actions/workflows/devel_pipeline_validation.yml)
2538
[![GPO Devel Pipeline Status](https://github.com/ansible-lockdown/Windows-2016-CIS/actions/workflows/devel_pipeline_validation_gpo.yml/badge.svg?)](https://github.com/ansible-lockdown/Windows-2016-CIS/actions/workflows/devel_pipeline_validation_gpo.yml)
26-
![Devel Commits](https://img.shields.io/github/commit-activity/m/ansible-lockdown/Windows-2016-CIS/devel?color=dark%20green&label=Devel%20Branch%20Commits)
2739

28-
![Issues Open](https://img.shields.io/github/issues-raw/ansible-lockdown/Windows-2016-CIS?label=Open%20Issues)
29-
![Issues Closed](https://img.shields.io/github/issues-closed-raw/ansible-lockdown/Windows-2016-CIS?label=Closed%20Issues&&color=success)
40+
![Devel Commits](https://img.shields.io/github/commit-activity/m/ansible-lockdown/Windows-2016-CIS/devel?color=darkgreen&label=Devel%20Branch%20Commits)
41+
![Open Issues](https://img.shields.io/github/issues-raw/ansible-lockdown/Windows-2016-CIS?label=Open%20Issues)
42+
![Closed Issues](https://img.shields.io/github/issues-closed-raw/ansible-lockdown/Windows-2016-CIS?label=Closed%20Issues&color=success)
3043
![Pull Requests](https://img.shields.io/github/issues-pr/ansible-lockdown/Windows-2016-CIS?label=Pull%20Requests)
3144

32-
![License](https://img.shields.io/github/license/ansible-lockdown/Windows-2016-CIS?label=License)
45+
---
46+
47+
## Subscriber Release Information 🔐
48+
49+
![Private Release Branch](https://img.shields.io/endpoint?url=https://ansible-lockdown.github.io/github_windows_IaC/badges/Private-Windows-2016-CIS/release-branch.json)
50+
![Private Benchmark Version](https://img.shields.io/endpoint?url=https://ansible-lockdown.github.io/github_windows_IaC/badges/Private-Windows-2016-CIS/benchmark-version.json)
51+
52+
[![Private Remediate Pipeline](https://img.shields.io/endpoint?url=https://ansible-lockdown.github.io/github_windows_IaC/badges/Private-Windows-2016-CIS/remediate.json)](https://github.com/ansible-lockdown/Private-Windows-2016-CIS/actions/workflows/main_pipeline_validation.yml)
53+
[![Private GPO Pipeline](https://img.shields.io/endpoint?url=https://ansible-lockdown.github.io/github_windows_IaC/badges/Private-Windows-2016-CIS/gpo.json)](https://github.com/ansible-lockdown/Private-Windows-2016-CIS/actions/workflows/main_pipeline_validation_gpo.yml)
54+
55+
![Private Pull Requests](https://img.shields.io/endpoint?url=https://ansible-lockdown.github.io/github_windows_IaC/badges/Private-Windows-2016-CIS/prs.json)
56+
![Private Closed Issues](https://img.shields.io/endpoint?url=https://ansible-lockdown.github.io/github_windows_IaC/badges/Private-Windows-2016-CIS/issues-closed.json)
3357

3458
---
3559

tasks/ansible_hardening/section01_cloud_lockout_order.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22

33
# THE FOLLOWING 3 CONTROLS WILL FAIL UNLESS THEY ARE IN THE FOLLOWING ORDER FOR CLOUD-BASED SYSTEMS
4-
# CONTROL 1.2.2, CONTROL 1.2.1, CONTROL 1.2.4
4+
# CONTROL 1.2.2, CONTROL 1.2.4, CONTROL 1.2.1, CONTROL 1.2.3
55
- name: "1.2.2 | PATCH | Ensure Account lockout threshold is set to 5 or fewer invalid logon attempt(s), but not 0."
66
when: win16cis_rule_1_2_2
77
tags:
@@ -121,4 +121,3 @@
121121
section: System Access
122122
key: AllowAdministratorLockout
123123
value: "{{ win16cis_allow_admin_account_lockout }}"
124-

tasks/ansible_hardening/section18.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -727,7 +727,7 @@
727727
data: 1
728728
type: dword
729729

730-
- name: "18.6.14.1 | PATCH | Ensure Hardened UNC Paths is set to Enabled with Require Mutual Authentication and Require Integrity set for all NETLOGON and SYSVOL shares"
730+
- name: "18.6.14.1 | PATCH | Ensure 'Hardened UNC Paths' is set to 'Enabled, with Require Mutual Authentication, Require Integrity, and Require Privacy set for all NETLOGON and SYSVOL shares"
731731
when: win16cis_rule_18_6_14_1
732732
tags:
733733
- level1-domaincontroller
@@ -737,18 +737,18 @@
737737
- paths
738738
- unc
739739
block:
740-
- name: "18.6.14.1 | PATCH | Ensure Hardened UNC Paths is set to Enabled with Require Mutual Authentication and Require Integrity set for all NETLOGON shares"
740+
- name: "18.6.14.1 | PATCH | Ensure 'Hardened UNC Paths' is set to 'Enabled, with Require Mutual Authentication, Require Integrity, and Require Privacy set for all NETLOGON and SYSVOL shares"
741741
ansible.windows.win_regedit:
742742
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows\Networkprovider\Hardenedpaths
743743
name: "\\\\*\\NETLOGON"
744-
data: "RequireMutualAuthentication=1, RequireIntegrity=1"
744+
data: "RequireMutualAuthentication=1, RequireIntegrity=1, RequirePrivacy=1"
745745
type: string
746746

747-
- name: "18.6.14.1 | PATCH | Ensure Hardened UNC Paths is set to Enabled with Require Mutual Authentication and Require Integrity set for all SYSVOL shares"
747+
- name: "18.6.14.1 | PATCH | Ensure 'Hardened UNC Paths' is set to 'Enabled, with Require Mutual Authentication, Require Integrity, and Require Privacy set for all NETLOGON and SYSVOL shares"
748748
ansible.windows.win_regedit:
749749
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows\Networkprovider\Hardenedpaths
750750
name: "\\\\*\\SYSVOL"
751-
data: "RequireMutualAuthentication=1, RequireIntegrity=1"
751+
data: "RequireMutualAuthentication=1, RequireIntegrity=1, RequirePrivacy=1"
752752
type: string
753753

754754
- name: "18.6.19.2.1 | PATCH | Disable IPv6 Ensure TCPIP6 Parameter DisabledComponents is set to 0xff 255"
@@ -2950,7 +2950,7 @@
29502950
ansible.windows.win_regedit:
29512951
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows Nt\Terminal Services
29522952
name: MaxDisconnectionTime
2953-
data: 6000
2953+
data: 60000
29542954
type: dword
29552955

29562956
- name: "18.10.56.3.11.1 | PATCH | Ensure Do not delete temp folders upon exit is set to Disabled"
@@ -3102,7 +3102,7 @@
31023102
- name: "18.10.79.2 | PATCH | Ensure 'Allow suggested apps in Windows Ink Workspace' is set to 'Disabled' | Set Variable."
31033103
when: win16cis_allow_windows_ink_workspace == 0 or win16cis_allow_windows_ink_workspace == 1
31043104
ansible.windows.win_regedit:
3105-
path: HKLM:\SOFTWARE\Microsoft\Policies\Microsoft\WindowsInkWorkspace
3105+
path: HKLM:\SOFTWARE\Policies\Microsoft\WindowsInkWorkspace
31063106
name: AllowWindowsInkWorkspace
31073107
data: "{{ win16cis_allow_windows_ink_workspace }}"
31083108
type: dword
@@ -3411,7 +3411,7 @@
34113411
ansible.windows.win_regedit:
34123412
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
34133413
name: ManagePreviewBuildsPolicyValue
3414-
data: 0
3414+
data: 1
34153415
type: dword
34163416

34173417
- name: "18.10.92.4.2 | PATCH | Ensure 'Select when Preview Builds and Feature Updates are received' is set to 'Enabled: 180 or more days'"

tasks/gpo_creation/gpo_section18.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7181,7 +7181,7 @@
71817181
$registryKeyPath = "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services"
71827182
$registryValueName = "MaxDisconnectionTime"
71837183
$type = "DWORD"
7184-
$desiredValue = 6000
7184+
$desiredValue = 60000
71857185
71867186
# Get the current value of the registry key in the GPO
71877187
$currentValue = (Get-GPRegistryValue -Name $gpoName -Key $registryKeyPath -ValueName $registryValueName -ErrorAction SilentlyContinue).Value
@@ -8322,7 +8322,7 @@
83228322
$registryKeyPath = "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate"
83238323
$registryValueName2 = "ManagePreviewBuildsPolicyValue"
83248324
$type2 = "DWORD"
8325-
$desiredValue2 = 0
8325+
$desiredValue2 = 1
83268326
83278327
# Get the current value of the registry key in the GPO
83288328
$currentValue2 = (Get-GPRegistryValue -Name $gpoName -Key $registryKeyPath -ValueName $registryValueName2 -ErrorAction SilentlyContinue).Value

0 commit comments

Comments
 (0)