mirror of
https://github.com/ansible-lockdown/Windows-11-CIS.git
synced 2026-05-09 04:19:07 +02:00
v3.0.0 Release
Signed-off-by: Stephen Williams <stephenw@mindpointgroup.com>
This commit is contained in:
@@ -2,142 +2,150 @@
|
||||
|
||||
# This is a basic workflow to help you get started with Actions
|
||||
|
||||
name: Devel Pipeline Validation
|
||||
name: Ansible Remediate Devel Pipeline Validation
|
||||
|
||||
# Controls when the action will run.
|
||||
# Triggers the workflow on push or pull request
|
||||
# events but only for the devel branch
|
||||
on: # yamllint disable-line rule:truthy
|
||||
pull_request_target:
|
||||
types: [opened, reopened, synchronize]
|
||||
branches:
|
||||
- devel
|
||||
paths:
|
||||
- '**.yml'
|
||||
- '**.sh'
|
||||
- '**.j2'
|
||||
- '**.ps1'
|
||||
- '**.cfg'
|
||||
pull_request_target:
|
||||
types: [opened, reopened, synchronize]
|
||||
branches:
|
||||
- devel
|
||||
paths:
|
||||
- '**.yml'
|
||||
- '**.sh'
|
||||
- '**.j2'
|
||||
- '**.ps1'
|
||||
- '**.cfg'
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
# This section contains all the jobs below that are running in the workflow.
|
||||
jobs:
|
||||
# This will create messages for the first time contributors and direct them to the Discord server
|
||||
welcome:
|
||||
# The type of runner that the job will run on.
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/first-interaction@main
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
pr-message: |-
|
||||
Congrats on opening your first pull request and thank you for taking the time to help improve Ansible-Lockdown!
|
||||
Please join in the conversation happening on the [Discord Server](https://www.lockdownenterprise.com/discord) as well.
|
||||
# This will create messages for the first time contributors and direct them to the Discord server
|
||||
welcome:
|
||||
# The type of runner that the job will run on.
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/first-interaction@main
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
pr-message: |-
|
||||
Congrats on opening your first pull request and thank you for taking the time to help improve Ansible-Lockdown!
|
||||
Please join in the conversation happening on the [Discord Server](https://www.lockdownenterprise.com/discord) as well.
|
||||
|
||||
# This workflow will run Terraform to load an instance in Azure to test the playbook against a live cloud-based instance.
|
||||
playbook-test:
|
||||
# The type of runner that the job will run on.
|
||||
runs-on: ubuntu-latest
|
||||
build-azure-windows:
|
||||
# Use the AWS self-hosted runner
|
||||
runs-on: self-hosted
|
||||
env:
|
||||
# Imported as a variable by OpenTofu.
|
||||
ARM_CLIENT_ID: ${{ secrets.AZURE_AD_CLIENT_ID }}
|
||||
ARM_CLIENT_SECRET: ${{ secrets.AZURE_AD_CLIENT_SECRET }}
|
||||
ARM_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
||||
ARM_TENANT_ID: ${{ secrets.AZURE_AD_TENANT_ID }}
|
||||
WIN_USERNAME: ${{ secrets.WIN_USERNAME }}
|
||||
WIN_PASSWORD: ${{ secrets.WIN_PASSWORD }}
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
TF_VAR_repository: ${{ github.event.repository.name }}
|
||||
ANSIBLE_VERSION: ${{ vars.ANSIBLE_RUNNER_VERSION }}
|
||||
ENABLE_DEBUG: ${{ vars.ENABLE_DEBUG }}
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
working-directory: .github/workflows/github_windows_IaC
|
||||
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it.
|
||||
- name: Clone ${{ github.event.repository.name }}
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
|
||||
- name: If a variable for IAC_BRANCH is set use that branch
|
||||
working-directory: .github/workflows
|
||||
run: |
|
||||
if [ ${{ vars.IAC_BRANCH }} != '' ]; then
|
||||
echo "IAC_BRANCH=${{ vars.IAC_BRANCH }}" >> $GITHUB_ENV
|
||||
echo "Pipeline using the following IAC branch ${{ vars.IAC_BRANCH }}"
|
||||
else
|
||||
echo IAC_BRANCH=main >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
# Pull In OpenTofu Code For Windows Azure
|
||||
- name: Clone IaC Repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ansible-lockdown/github_windows_IaC
|
||||
path: .github/workflows/github_windows_IaC
|
||||
ref: ${{ env.IAC_BRANCH }}
|
||||
|
||||
# Sensitive Data Stored And Passed To OpenTofu
|
||||
# Default Working Dir Defined In Defaults Above.
|
||||
- name: Save Sensitive Info
|
||||
run: echo "{\"username\":\"${WIN_USERNAME}\",\"password\":\"${WIN_PASSWORD}\"}" >> sensitive_info.json
|
||||
|
||||
# Show the Os Var and Benchmark Type And Load
|
||||
- name: DEBUG - Show IaC files
|
||||
if: env.ENABLE_DEBUG == 'true'
|
||||
run: |
|
||||
echo "OSVAR = $OSVAR"
|
||||
echo "benchmark_type = $benchmark_type"
|
||||
pwd
|
||||
ls
|
||||
env:
|
||||
ENABLE_DEBUG: false
|
||||
# Imported as a variable by terraform.
|
||||
TF_VAR_repository: ${{ github.event.repository.name }}
|
||||
ARM_CLIENT_ID: ${{ secrets.AZURE_AD_CLIENT_ID }}
|
||||
ARM_CLIENT_SECRET: ${{ secrets.AZURE_AD_CLIENT_SECRET }}
|
||||
ARM_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
||||
ARM_TENANT_ID: ${{ secrets.AZURE_AD_TENANT_ID }}
|
||||
WIN_USERNAME: ${{ secrets.WIN_USERNAME }}
|
||||
WIN_PASSWORD: ${{ secrets.WIN_PASSWORD }}
|
||||
# Imported from github variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
working-directory: .github/workflows/github_windows_IaC
|
||||
# Initialize The OpenTofu Working Directory
|
||||
- name: Tofu init
|
||||
id: init
|
||||
run: tofu init
|
||||
env:
|
||||
# Imported from GitHub variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job.
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it.
|
||||
- name: Clone ${{ github.event.repository.name }}
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
# Validate The Syntax Of OpenTofu Files
|
||||
- name: Tofu validate
|
||||
id: validate
|
||||
run: tofu validate
|
||||
env:
|
||||
# Imported from GitHub variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
|
||||
# Pull In Terraform Code For Windows Azure
|
||||
- name: Clone github IaC plan
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: ansible-lockdown/github_windows_IaC
|
||||
path: .github/workflows/github_windows_IaC
|
||||
# Execute The Actions And Build Azure Server
|
||||
- name: Tofo Apply
|
||||
id: apply
|
||||
env:
|
||||
# Imported from github variables this is used to load the relevant OS.tfvars file
|
||||
WIN_USERNAME: ${{ secrets.WIN_USERNAME }}
|
||||
WIN_PASSWORD: ${{ secrets.WIN_PASSWORD }}
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
run: tofu apply -var-file "${OSVAR}.tfvars" --auto-approve -input=false
|
||||
|
||||
# Sensitive Data Stored And Passed To Terraform
|
||||
# Default Working Dir Defined In Defaults Above.
|
||||
- name: user details
|
||||
run: echo "{\"username\":\"${WIN_USERNAME}\",\"password\":\"${WIN_PASSWORD}\"}" >> sensitive_info.json
|
||||
# Debug Section
|
||||
- name: DEBUG - Show Ansible Hostfile
|
||||
if: env.ENABLE_DEBUG == 'true'
|
||||
run: cat hosts.yml
|
||||
|
||||
# Show the Os Var and Benchmark Type And Load
|
||||
- name: DEBUG - Show IaC files
|
||||
if: env.ENABLE_DEBUG == 'true'
|
||||
run: |
|
||||
echo "OSVAR = $OSVAR"
|
||||
echo "benchmark_type = $benchmark_type"
|
||||
pwd
|
||||
ls
|
||||
env:
|
||||
# Imported from github variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
# Run the Ansible Playbook
|
||||
- name: Run_Ansible_Playbook
|
||||
env:
|
||||
ANSIBLE_HOST_KEY_CHECKING: "false"
|
||||
ANSIBLE_DEPRECATION_WARNINGS: "false"
|
||||
run: |
|
||||
/opt/ansible_${{ env.ANSIBLE_VERSION }}_venv/bin/ansible-playbook -i hosts.yml ../../../site.yml
|
||||
|
||||
# Initialize The Terraform Working Directory
|
||||
- name: Terraform_Init
|
||||
id: init
|
||||
run: terraform init
|
||||
env:
|
||||
# Imported from github variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
|
||||
# Validate The Syntax Of Terraform Files
|
||||
- name: Terraform_Validate
|
||||
id: validate
|
||||
run: terraform validate
|
||||
env:
|
||||
# Imported from github variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
|
||||
# Execute The Actions And Build Azure Server
|
||||
- name: Terraform_Apply
|
||||
id: apply
|
||||
env:
|
||||
# Imported from github variables this is used to load the relevant OS.tfvars file
|
||||
WIN_USERNAME: ${{ secrets.WIN_USERNAME }}
|
||||
WIN_PASSWORD: ${{ secrets.WIN_PASSWORD }}
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
run: terraform apply -var-file "${OSVAR}.tfvars" --auto-approve
|
||||
|
||||
# Debug Section
|
||||
- name: DEBUG - Show Ansible Hostfile
|
||||
if: env.ENABLE_DEBUG == 'true'
|
||||
run: cat hosts.yml
|
||||
|
||||
# Run the Ansible Playbook
|
||||
- name: Run_Ansible_Playbook
|
||||
uses: arillso/action.playbook@master
|
||||
with:
|
||||
playbook: site.yml
|
||||
inventory: .github/workflows/github_windows_IaC/hosts.yml
|
||||
galaxy_file: collections/requirements.yml
|
||||
# verbose: 3
|
||||
env:
|
||||
ANSIBLE_HOST_KEY_CHECKING: "false"
|
||||
ANSIBLE_DEPRECATION_WARNINGS: "false"
|
||||
|
||||
# Destroy The Azure Test System
|
||||
- name: Terraform_Destroy
|
||||
if: always() && env.ENABLE_DEBUG == 'false'
|
||||
env:
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
run: terraform destroy -var-file "${OSVAR}.tfvars" --auto-approve
|
||||
# Destroy The Azure Test System
|
||||
- name: Tofu Destroy
|
||||
if: always() && env.ENABLE_DEBUG == 'false'
|
||||
env:
|
||||
# Imported from GitHub variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
run: tofu destroy -var-file "${OSVAR}.tfvars" --auto-approve
|
||||
|
||||
@@ -2,130 +2,139 @@
|
||||
|
||||
# This is a basic workflow to help you get started with Actions
|
||||
|
||||
name: Main Pipeline Validation
|
||||
name: Ansible Remediate Main Pipeline Validation
|
||||
|
||||
# Controls when the action will run.
|
||||
# Triggers the workflow on push or pull request
|
||||
# events but only for the devel branch
|
||||
on: # yamllint disable-line rule:truthy
|
||||
pull_request_target:
|
||||
types: [opened, reopened, synchronize]
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- '**.yml'
|
||||
- '**.sh'
|
||||
- '**.j2'
|
||||
- '**.ps1'
|
||||
- '**.cfg'
|
||||
pull_request_target:
|
||||
types: [opened, reopened, synchronize]
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- '**.yml'
|
||||
- '**.sh'
|
||||
- '**.j2'
|
||||
- '**.ps1'
|
||||
- '**.cfg'
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
# This section contains all the jobs below that are running in the workflow.
|
||||
jobs:
|
||||
# This workflow will run Terraform to load an instance in Azure to test the playbook against a live cloud-based instance.
|
||||
playbook-test:
|
||||
# The type of runner that the job will run on.
|
||||
runs-on: ubuntu-latest
|
||||
# This workflow will run OpenTofu to load an instance in Azure to test the playbook against a live cloud-based instance.
|
||||
build-azure-windows:
|
||||
# Use the AWS self-hosted runner
|
||||
runs-on: self-hosted
|
||||
env:
|
||||
# Imported as a variable by OpenTofu.
|
||||
ARM_CLIENT_ID: ${{ secrets.AZURE_AD_CLIENT_ID }}
|
||||
ARM_CLIENT_SECRET: ${{ secrets.AZURE_AD_CLIENT_SECRET }}
|
||||
ARM_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
||||
ARM_TENANT_ID: ${{ secrets.AZURE_AD_TENANT_ID }}
|
||||
WIN_USERNAME: ${{ secrets.WIN_USERNAME }}
|
||||
WIN_PASSWORD: ${{ secrets.WIN_PASSWORD }}
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
TF_VAR_repository: ${{ github.event.repository.name }}
|
||||
ANSIBLE_VERSION: ${{ vars.ANSIBLE_RUNNER_VERSION }}
|
||||
ENABLE_DEBUG: ${{ vars.ENABLE_DEBUG }}
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
working-directory: .github/workflows/github_windows_IaC
|
||||
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it.
|
||||
- name: Clone ${{ github.event.repository.name }}
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
|
||||
- name: If a variable for IAC_BRANCH is set use that branch
|
||||
working-directory: .github/workflows
|
||||
run: |
|
||||
if [ ${{ vars.IAC_BRANCH }} != '' ]; then
|
||||
echo "IAC_BRANCH=${{ vars.IAC_BRANCH }}" >> $GITHUB_ENV
|
||||
echo "Pipeline using the following IAC branch ${{ vars.IAC_BRANCH }}"
|
||||
else
|
||||
echo IAC_BRANCH=main >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
# Pull In OpenTofu Code For Windows Azure
|
||||
- name: Clone IaC Repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ansible-lockdown/github_windows_IaC
|
||||
path: .github/workflows/github_windows_IaC
|
||||
ref: ${{ env.IAC_BRANCH }}
|
||||
|
||||
# Sensitive Data Stored And Passed To OpenTofu
|
||||
# Default Working Dir Defined In Defaults Above.
|
||||
- name: Save Sensitive Info
|
||||
run: echo "{\"username\":\"${WIN_USERNAME}\",\"password\":\"${WIN_PASSWORD}\"}" >> sensitive_info.json
|
||||
|
||||
# Show the Os Var and Benchmark Type And Load
|
||||
- name: DEBUG - Show IaC files
|
||||
if: env.ENABLE_DEBUG == 'true'
|
||||
run: |
|
||||
echo "OSVAR = $OSVAR"
|
||||
echo "benchmark_type = $benchmark_type"
|
||||
pwd
|
||||
ls
|
||||
env:
|
||||
ENABLE_DEBUG: false
|
||||
# Imported as a variable by terraform.
|
||||
TF_VAR_repository: ${{ github.event.repository.name }}
|
||||
ARM_CLIENT_ID: ${{ secrets.AZURE_AD_CLIENT_ID }}
|
||||
ARM_CLIENT_SECRET: ${{ secrets.AZURE_AD_CLIENT_SECRET }}
|
||||
ARM_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
||||
ARM_TENANT_ID: ${{ secrets.AZURE_AD_TENANT_ID }}
|
||||
WIN_USERNAME: ${{ secrets.WIN_USERNAME }}
|
||||
WIN_PASSWORD: ${{ secrets.WIN_PASSWORD }}
|
||||
# Imported from github variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
working-directory: .github/workflows/github_windows_IaC
|
||||
# Initialize The OpenTofu Working Directory
|
||||
- name: Tofu init
|
||||
id: init
|
||||
run: tofu init
|
||||
env:
|
||||
# Imported from GitHub variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job.
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it.
|
||||
- name: Clone ${{ github.event.repository.name }}
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
# Validate The Syntax Of OpenTofu Files
|
||||
- name: Tofu validate
|
||||
id: validate
|
||||
run: tofu validate
|
||||
env:
|
||||
# Imported from GitHub variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
|
||||
# Pull In Terraform Code For Windows Azure
|
||||
- name: Clone github IaC plan
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: ansible-lockdown/github_windows_IaC
|
||||
path: .github/workflows/github_windows_IaC
|
||||
# Execute The Actions And Build Azure Server
|
||||
- name: Tofo Apply
|
||||
id: apply
|
||||
env:
|
||||
# Imported from github variables this is used to load the relevant OS.tfvars file
|
||||
WIN_USERNAME: ${{ secrets.WIN_USERNAME }}
|
||||
WIN_PASSWORD: ${{ secrets.WIN_PASSWORD }}
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
run: tofu apply -var-file "${OSVAR}.tfvars" --auto-approve -input=false
|
||||
|
||||
# Sensitive Data Stored And Passed To Terraform
|
||||
# Default Working Dir Defined In Defaults Above.
|
||||
- name: user details
|
||||
run: echo "{\"username\":\"${WIN_USERNAME}\",\"password\":\"${WIN_PASSWORD}\"}" >> sensitive_info.json
|
||||
# Debug Section
|
||||
- name: DEBUG - Show Ansible Hostfile
|
||||
if: env.ENABLE_DEBUG == 'true'
|
||||
run: cat hosts.yml
|
||||
|
||||
# Show the Os Var and Benchmark Type And Load
|
||||
- name: DEBUG - Show IaC files
|
||||
if: env.ENABLE_DEBUG == 'true'
|
||||
run: |
|
||||
echo "OSVAR = $OSVAR"
|
||||
echo "benchmark_type = $benchmark_type"
|
||||
pwd
|
||||
ls
|
||||
env:
|
||||
# Imported from github variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
# Run the Ansible Playbook
|
||||
- name: Run_Ansible_Playbook
|
||||
env:
|
||||
ANSIBLE_HOST_KEY_CHECKING: "false"
|
||||
ANSIBLE_DEPRECATION_WARNINGS: "false"
|
||||
run: |
|
||||
/opt/ansible_${{ env.ANSIBLE_VERSION }}_venv/bin/ansible-playbook -i hosts.yml ../../../site.yml
|
||||
|
||||
# Initialize The Terraform Working Directory
|
||||
- name: Terraform_Init
|
||||
id: init
|
||||
run: terraform init
|
||||
env:
|
||||
# Imported from github variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
|
||||
# Validate The Syntax Of Terraform Files
|
||||
- name: Terraform_Validate
|
||||
id: validate
|
||||
run: terraform validate
|
||||
env:
|
||||
# Imported from github variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
|
||||
# Execute The Actions And Build Azure Server
|
||||
- name: Terraform_Apply
|
||||
id: apply
|
||||
env:
|
||||
# Imported from github variables this is used to load the relevant OS.tfvars file
|
||||
WIN_USERNAME: ${{ secrets.WIN_USERNAME }}
|
||||
WIN_PASSWORD: ${{ secrets.WIN_PASSWORD }}
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
run: terraform apply -var-file "${OSVAR}.tfvars" --auto-approve
|
||||
|
||||
# Debug Section
|
||||
- name: DEBUG - Show Ansible Hostfile
|
||||
if: env.ENABLE_DEBUG == 'true'
|
||||
run: cat hosts.yml
|
||||
|
||||
# Run the Ansible Playbook
|
||||
- name: Run_Ansible_Playbook
|
||||
uses: arillso/action.playbook@master
|
||||
with:
|
||||
playbook: site.yml
|
||||
inventory: .github/workflows/github_windows_IaC/hosts.yml
|
||||
galaxy_file: collections/requirements.yml
|
||||
# verbose: 3
|
||||
env:
|
||||
ANSIBLE_HOST_KEY_CHECKING: "false"
|
||||
ANSIBLE_DEPRECATION_WARNINGS: "false"
|
||||
|
||||
# Destroy The Azure Test System
|
||||
- name: Terraform_Destroy
|
||||
if: always() && env.ENABLE_DEBUG == 'false'
|
||||
env:
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
run: terraform destroy -var-file "${OSVAR}.tfvars" --auto-approve
|
||||
# Destroy The Azure Test System
|
||||
- name: Tofu Destroy
|
||||
if: always() && env.ENABLE_DEBUG == 'false'
|
||||
env:
|
||||
# Imported from GitHub variables this is used to load the relevant OS.tfvars file
|
||||
OSVAR: ${{ vars.OSVAR }}
|
||||
TF_VAR_benchmark_type: ${{ vars.BENCHMARK_TYPE }}
|
||||
run: tofu destroy -var-file "${OSVAR}.tfvars" --auto-approve
|
||||
|
||||
@@ -5,20 +5,21 @@ name: Update Galaxy
|
||||
# Controls when the action will run.
|
||||
# Triggers the workflow on push or pull request
|
||||
# events but only for the devel branch
|
||||
on: # yamllint disable-line rule:truthy
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
update_role:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout V3
|
||||
uses: actions/checkout@v3
|
||||
update_role:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
- name: Update Galaxy
|
||||
uses: robertdebock/galaxy-action@master
|
||||
with:
|
||||
galaxy_api_key: ${{ secrets.GALAXY_API_KEY }}
|
||||
git_branch: main
|
||||
steps:
|
||||
- name: Checkout V4
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Update Galaxy
|
||||
uses: ansible-actions/ansible-galaxy-action@main
|
||||
with:
|
||||
galaxy_api_key: ${{ secrets.GALAXY_API_KEY }}
|
||||
git_branch: main
|
||||
|
||||
@@ -43,3 +43,5 @@ benchparse/
|
||||
|
||||
# GitHub Action/Workflow files
|
||||
.github/
|
||||
.github/.ansible/.lock
|
||||
.ansible/
|
||||
|
||||
+163
-2
@@ -1,8 +1,167 @@
|
||||
# Changelog
|
||||
|
||||
## Release 3.0.0
|
||||
|
||||
#### Janurary 2025
|
||||
General Updates
|
||||
- hku_loaded_list renamed to discovered_hku_loaded_list
|
||||
- General findings fixed when comparing win10 to win11
|
||||
- Added additional when statements for domain joined systems. - Thanks @mfortin
|
||||
|
||||
Controls Changed
|
||||
- Updated Control 2.2.29 with proper variable.
|
||||
- Control 5.9 Tag updated.
|
||||
- Control 17.2.1 added tag (- rule_17.2.1)
|
||||
- Control 18.9.5.2 Title Update
|
||||
- Control 18.9.25.5 Fixed Variable In It.
|
||||
|
||||
Things To Do
|
||||
- Move to 2 spacing
|
||||
- Update formatting
|
||||
- Add NIST
|
||||
|
||||
## Release 2.0.0
|
||||
|
||||
#### July 2024
|
||||
General Updates
|
||||
- Benchmark 3.0.0 Update
|
||||
- Added Tag "always" to Hyper-V Prelim Task
|
||||
- Tags: All tags contain underscores except for Level Tags (use dashes). (Need to finish)
|
||||
- Enhanced/Reordered Tags
|
||||
|
||||
Controls Changed
|
||||
- Control 1.2.3: Changed from Audit to Patch in Tags
|
||||
- Control 2.2.14: Updated when statement to stdout
|
||||
- Control 2.3.4.1: Removed "Ensure 'Devices: Allowed to format and eject removable media' is set to 'Administrators and Interactive Users'"
|
||||
- Control 2.3.4.2: Renamed to 2.3.4.1
|
||||
- Control 2.3.10.8: Added "Is Configured" to the Title
|
||||
- Control 2.3.11.11: Added
|
||||
- Control 2.3.11.12: Added with variable in default main (Fix setting to 1 - Audit All, not 2 - Deny All)
|
||||
- Control 2.3.14.1: Changed to "level2-high-security-sensitive-data-environment"
|
||||
- Control 5.3: Updated name to "Not Installed"
|
||||
- Control 5.8: ICS Sharing Removed
|
||||
- Control 5.8 v3.0.0: Changed to "level2-high-security-sensitive-data-environment"
|
||||
- Control 5.9 v3.0.0: Updated name to include "LxssManager"
|
||||
- Control 5.11 v3.0.0: Changed to "level2-high-security-sensitive-data-environment"
|
||||
- Control 5.27 v3.0.0: Changed to "level1-corporate-enterprise-environment"
|
||||
- All Controls from 5.9 v2.0.0: Moved one control number lower in v3.0.0
|
||||
- Control 9.1.3 v2.0.0: Removed in v3.0.0
|
||||
- All subsequent controls moved one number lower
|
||||
- Control 9.2.3 v2.0.0: Removed in v3.0.0
|
||||
- All subsequent controls moved one number lower
|
||||
- Control 9.3.3 v2.0.0: Removed in v3.0.0
|
||||
- All subsequent controls moved one number lower
|
||||
- Control 17.6.3: Added tags
|
||||
- Control 18.4.5 v2.0.0: Moved to 19.4.6 in v3.0.0, all subsequent controls moved down one number
|
||||
- Control 18.4.5: New benchmark in v3.0.0
|
||||
- Control 18.5.2: Updated title
|
||||
- Control 18.5.3: Updated title
|
||||
- Control 18.5.8: Updated title
|
||||
- Control 18.6.4.1: Fixed when statement to "or" instead of "and"
|
||||
- Control 18.6.4.2: Fixed when statement to "or" instead of "and"
|
||||
- Control 18.6.14.1: Added RequirePrivacy=1 to the settings per v3.0.0
|
||||
- Control 18.6.21.1: Updated title
|
||||
- Control 18.6.21.2: Updated title
|
||||
- Control 18.7.6: Fixed when statement to "or" instead of "and"
|
||||
- Control 18.8.1.1: Changed to "level2-high-security-sensitive-data-environment"
|
||||
- Control 18.9.5.2: Fixed when statement to "or" instead of "and"
|
||||
- Control 18.9.19.4: Added new control in v3.0.0
|
||||
- Control 18.9.19.5: Added new control in v3.0.0
|
||||
- Controls 18.9.19.4 - 5 in v2.0.0 now moved to 18.9.19.6 - 7 in v3.0.0
|
||||
- Control 18.9.51.1.1: Changed to "level1-corporate-enterprise-environment"
|
||||
- Control 18.9.51.2.1: Changed to "level1-corporate-enterprise-environment," title updated
|
||||
- Control 18.10.5.2: Fixed title name
|
||||
- Control 18.10.9.1.1: Fixed value from none to []
|
||||
- Control 18.10.9.1.4: Added new variable
|
||||
- Control 18.10.9.1.11: Updated title name to match v3.0.0
|
||||
- Control 18.10.9.2.11: Fixed title name
|
||||
- Control 18.10.9.2.12: Fixed title name
|
||||
- Control 18.10.9.3.1: Fixed value from none to []
|
||||
- Control 18.10.9.3.4: Updated name from RDVManageDRA to RDVRecoveryPassword
|
||||
- Control 18.10.9.3.13: Fixed title name
|
||||
- Control 18.10.13.1: Fixed when statement to "or" instead of "and"
|
||||
- Control 18.10.15.1: Fixed when statement to "or" instead of "and"
|
||||
- Control 18.10.16.1: Fixed when statement lines
|
||||
- Control 18.10.75.1.1: New control, all existing controls moved down one
|
||||
- Control 18.10.75.2.1: Updated title
|
||||
- Control 18.10.76.3.1 - 2: Removed in v3.0.0
|
||||
- Control 18.10.79.2: Updated title
|
||||
- Control 18.10.86.1: Changed to "level2-high-security-sensitive-data-environment"
|
||||
- Control 18.10.86.2: Changed to "level2-high-security-sensitive-data-environment"
|
||||
- Control 18.10.90.2: Updated title
|
||||
- Control 18.10.92.2.1: Fixed when statement
|
||||
- Control 18.10.92.2.3: New, causing all others to move down one
|
||||
- Adjusted Registry to remove PP in Policies
|
||||
- Control 18.10.92.4.1: Data value changed to 1
|
||||
- Control 19.6.6.1: Renamed to 19.6.6.1.1 - Typo Fix
|
||||
- Control 19.7.38.1: Added in v3.0.0
|
||||
- Section 18.10.26.x in v2.0.0: Moved to 18.10.25.x in v3.0.0, all controls updated, all variables adjusted, all Default/main toggles updated
|
||||
- Section 18.10.29.x in v2.0.0: Moved to 18.10.28.x in v3.0.0, all controls updated, all variables adjusted, all Default/main toggles updated
|
||||
- Section 18.10.37.x in v2.0.0: Moved to 18.10.36.x in v3.0.0, all controls updated, all variables adjusted, all Default/main toggles updated
|
||||
- Section 18.10.43.x in v2.0.0: Moved to 18.10.42.x in v3.0.0, all controls updated, all variables adjusted, all Default/main toggles updated
|
||||
|
||||
Section Moves
|
||||
- Section 18.3.x v2.0.0: Removed in v3.0.0, all variables removed in defaults/main
|
||||
- Section 18.9.25 in v2.0.0: Moved to 18.9.26 in v3.0.0
|
||||
- Section 18.9.26 in v2.0.0: Moved to 18.9.27 in v3.0.0
|
||||
- Section 18.9.30 in v2.0.0: Moved to 18.9.31 in v3.0.0
|
||||
- Section 18.9.32 in v2.0.0: Moved to 18.9.33 in v3.0.0
|
||||
- Section 18.9.34 in v2.0.0: Moved to 18.9.35 in v3.0.0
|
||||
- Section 18.9.35 in v2.0.0: Moved to 18.9.36 in v3.0.0
|
||||
- Section 18.9.37 in v2.0.0: Moved to 18.9.28 in v3.0.0
|
||||
- Section 18.9.46 in v2.0.0: Moved to 18.9.47 in v3.0.0
|
||||
- Section 18.9.48 in v2.0.0: Moved to 18.9.49 in v3.0.0
|
||||
- Section 18.9.50 in v2.0.0: Moved to 18.9.51 in v3.0.0
|
||||
- Section 18.10.33: Moved to 10.10.32, removed all controls in v3.0.0
|
||||
- Section 18.10.41.x in v2.0.0: Moved to 18.10.40.x in v3.0.0
|
||||
- Section 18.10.42.x in v2.0.0: Moved to 18.10.41.x in v3.0.0
|
||||
- Section 18.10.44.x in v2.0.0: Moved to 18.10.43.x in v3.0.0
|
||||
- Section 18.10.50.x in v2.0.0: Moved to 18.10.49.x in v3.0.0
|
||||
- Section 18.10.51.x in v2.0.0: Moved to 18.10.50.x in v3.0.0
|
||||
- Section 18.10.56.x in v2.0.0: Moved to 18.10.55.x in v3.0.0
|
||||
- Section 18.10.57.x in v2.0.0: Moved to 18.10.56.x in v3.0.0
|
||||
- Section 18.10.58.x in v2.0.0: Moved to 18.10.57.x in v3.0.0
|
||||
- Section 18.10.59.x in v2.0.0: Moved to 18.10.58.x in v3.0.0
|
||||
- Section 18.10.63.x in v2.0.0: Moved to 18.10.62.x in v3.0.0
|
||||
- Section 18.10.66.x in v2.0.0: Moved to 18.10.65.x in v3.0.0
|
||||
- Section 18.10.72.x in v2.0.0: Moved to 18.10.71.x in v3.0.0
|
||||
- Section 18.10.76.x in v2.0.0: Moved to 18.10.75.x in v3.0.0
|
||||
- Section 18.10.78.x in v2.0.0: Moved to 18.10.77.x in v3.0.0
|
||||
- Section 18.10.79.x in v2.0.0: Moved to 18.10.78.x in v3.0.0
|
||||
- Section 18.10.80.x in v2.0.0: Moved to 18.10.79.x in v3.0.0
|
||||
- Section 18.10.81.x in v2.0.0: Moved to 18.10.80.x in v3.0.0
|
||||
- Section 18.10.82.x in v2.0.0: Moved to 18.10.81.x in v3.0.0
|
||||
- Section 18.10.87.x in v2.0.0: Moved to 18.10.86.x in v3.0.0
|
||||
- Section 18.10.89.x in v2.0.0: Moved to 18.10.88.x in v3.0.0
|
||||
- Section 18.10.90.x in v2.0.0: Moved to 18.10.89.x in v3.0.0
|
||||
- Section 18.10.91.x in v2.0.0: Moved to 18.10.90.x in v3.0.0
|
||||
- Section 18.10.92.x in v2.0.0: Moved to 18.10.91.x in v3.0.0
|
||||
- Section 18.10.93.x in v2.0.0: Moved to 18.10.92.x in v3.0.0
|
||||
- Section 19.1.3.x v2.0.0: Removed in v3.0.0
|
||||
- Section 19.7.7.x in v2.0.0: Renumbered to 19.7.8.x in v3.0.0, all controls updated
|
||||
- Section 19.7.25.x in v2.0.0: Renumbered to 19.7.26.x in v3.0.0
|
||||
- Section 19.7.25.1 in v2.0.0: Moved to 19.7.26.1 in v3.0.0
|
||||
- Control 19.7.40.1 in v2.0.0: Moved to 19.7.42.1 in v3.0.0
|
||||
- Control 19.7.47.2.1 in v2.0.0: Moved to 19.7.44.2.1 in v3.0.0
|
||||
|
||||
#### June 2024
|
||||
- Updated 18.9.19.5 To 0 "Disabled" - Thanks @dennisharder-alight
|
||||
- Updated 18.10.43.10.2 To 0 "Disabled"
|
||||
- Updated 18.5.1 Value to name. - Thanks @mfortin
|
||||
- Updated 18.5.1 path missing \ between Software and Microsoft.
|
||||
- Updated 2.2.11 To allow variables to be input if site requires it.
|
||||
- Updated PRELIM | Set Fact If Cloud Based System to include ansible_system_vendor. - Thanks @mfortin
|
||||
- Updated Pipelines - Thanks @mfortin
|
||||
- Added discovered to Prelim reistered names.
|
||||
- Added discovered_controlid to controls that register values.
|
||||
- Verified 1.1.6 RelaxMinimumPasswordLengthLimits is using registry style entry not win_security_policy.
|
||||
- Verified 18.10.93.4.1 ManagePreviewBuildsPolicyValue is set to 0 value.
|
||||
- Control 17.9.5 updated changed_when.
|
||||
- Removed all win_regedit state: present: (Default) value for the module.
|
||||
|
||||
## Release 1.0.0
|
||||
|
||||
March 2024
|
||||
#### March 2024
|
||||
- Updated Section 19 To Take Into Account All HKU Accounts And Windows Default Template.
|
||||
- Fixed A Number Of Typos
|
||||
- Updated Readme
|
||||
@@ -12,5 +171,7 @@ March 2024
|
||||
- 18.10.89.2.3
|
||||
- Removed When Checks For Domain, Member Server, And Standalone
|
||||
|
||||
September 2023
|
||||
#### September 2023
|
||||
- Initial Release For Benchmark 2.0.0 Released 03.07.2023
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 MindPoint Group / Lockdown Enterprise
|
||||
Copyright (c) 2025 Mindpoint Group - A Tyto Athene Company / Ansible Lockdown
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Configure a Windows 11 Enterprise system to be [CIS](https://www.cisecurity.org/cis-benchmarks/) compliant
|
||||
|
||||
### Based on [ Microsoft Windows 11 Enterprise Benchmark v2.0.0 - 03-07-2023 ](https://www.cisecurity.org/cis-benchmarks/)
|
||||
### Based on [ Microsoft Windows 11 Enterprise Benchmark v3.0.0 - 02-22-2024 ](https://www.cisecurity.org/cis-benchmarks/)
|
||||
|
||||
---
|
||||
|
||||
@@ -32,23 +32,23 @@
|
||||
|
||||
---
|
||||
|
||||
## Looking for support?
|
||||
## Looking For Support? 🤝
|
||||
|
||||
[Lockdown Enterprise](https://www.lockdownenterprise.com#GH_AL_WINDOWS_11_cis)
|
||||
|
||||
[Ansible Support](https://www.mindpointgroup.com/cybersecurity-products/ansible-counselor#GH_AL_WINDOWS_11_cis)
|
||||
|
||||
### Community
|
||||
### Community 💬
|
||||
|
||||
On our [Discord Server](https://www.lockdownenterprise.com/discord) to ask questions, discuss features, or just chat with other Ansible-Lockdown users
|
||||
|
||||
---
|
||||
|
||||
## Caution(s)
|
||||
## 🚨 Caution(s) 🚨
|
||||
|
||||
This role **will make changes to the system** which may have unintended consequences. This is not an auditing tool but rather a remediation tool to be used after an audit has been conducted.
|
||||
|
||||
Check Mode is not supported! The role will complete in check mode without errors, but it is not supported and should be used with caution.
|
||||
Check Mode is not supported! 🚫 The role will complete in check mode without errors, but it is not supported and should be used with caution.
|
||||
|
||||
This role was developed against a clean install of the Windows 11 Enterprise 22H2 Operating System. If you are implementing to an existing system please review this role for any site specific changes that are needed.
|
||||
|
||||
@@ -56,17 +56,13 @@ To use release version please point to main branch and relevant release for the
|
||||
|
||||
---
|
||||
|
||||
## Matching a security Level for CIS
|
||||
## Matching A Security Level For CIS 🔐
|
||||
|
||||
It is possible to only run level 1 or level 2 controls for CIS as well as a variety of other tags that are available for this role.
|
||||
This is managed using tags:
|
||||
|
||||
- level1-corporate-enterprise-environment
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- level1-next-generation-windows-security
|
||||
- level1-bitlocker-next-generation-windows-security
|
||||
- level2-next-generation-windows-security
|
||||
- level2-bitlocker-next-generation-windows-security
|
||||
- next-generation-windows-security
|
||||
- level1-bitlocker
|
||||
- level2-bitlocker
|
||||
@@ -74,18 +70,18 @@ This is managed using tags:
|
||||
|
||||
The controls found in defaults/main also need to reflect those control numbers due to aligning every control to the audit component.
|
||||
|
||||
## Coming from a previous release
|
||||
## Coming From A Previous Release ⏪
|
||||
|
||||
CIS releases always contain changes, so it is highly recommended to review the new references and available variables. This has changed significantly since the ansible-lockdown initial release.
|
||||
This is now compatible with python3 if it is found to be the default interpreter. This does come with prerequisites that configure the system accordingly.
|
||||
|
||||
Further details can be seen in the [Changelog](./ChangeLog.md)
|
||||
|
||||
## Auditing (new)
|
||||
## Auditing (new) 🔍
|
||||
|
||||
Currently this release does not have a auditing tool that is up to date.
|
||||
|
||||
## Documentation
|
||||
## Documentation 📖
|
||||
|
||||
- [Read The Docs](https://ansible-lockdown.readthedocs.io/en/latest/)
|
||||
- [Getting Started](https://www.lockdownenterprise.com/docs/getting-started-with-lockdown#GH_AL_WINDOWS_11_cis)
|
||||
@@ -93,7 +89,7 @@ Currently this release does not have a auditing tool that is up to date.
|
||||
- [Per-Host Configuration](https://www.lockdownenterprise.com/docs/per-host-lockdown-enterprise-configuration#GH_AL_WINDOWS_11_cis)
|
||||
- [Getting the Most Out of the Role](https://www.lockdownenterprise.com/docs/get-the-most-out-of-lockdown-enterprise#GH_AL_WINDOWS_11_cis)
|
||||
|
||||
## Requirements
|
||||
## Requirements ✅
|
||||
|
||||
**General:**
|
||||
|
||||
@@ -106,7 +102,7 @@ Currently this release does not have a auditing tool that is up to date.
|
||||
- Functioning Ansible and/or Tower Installed, configured, and running. This includes all of the base Ansible/Tower configurations, needed packages installed, and infrastructure setup.
|
||||
- Please read through the tasks in this role to gain an understanding of what each control is doing. Some of the tasks are disruptive and can have unintended consequences in a live production system. Also familiarize yourself with the variables in the defaults/main.yml file.
|
||||
|
||||
**Technical Dependencies:**
|
||||
**Technical Dependencies:** ⚙️
|
||||
|
||||
- Windows 11 Enterprise 22H2 - Other versions are not supported
|
||||
- Running Ansible/Tower setup (this role is tested against Ansible version 2.10.1 and newer)
|
||||
@@ -119,27 +115,28 @@ Currently this release does not have a auditing tool that is up to date.
|
||||
|
||||
Package 'python-xmltodict' is required if you enable the OpenSCAP tool installation and run a report. Packages python(2)-passlib and python-jmespath are required for tasks with custom filters or modules. These are all required on the controller host that executes Ansible.
|
||||
|
||||
## Role Variables
|
||||
## Role Variables 📋
|
||||
|
||||
This role is designed so that the end user should not have to edit the tasks themselves. All customizing should be done via the defaults/main.yml file or with extra vars within the project, job, workflow, etc.
|
||||
|
||||
## Tags
|
||||
## Tags 🏷️
|
||||
|
||||
There are many tags available for added control precision. Each control has it's own set of tags noting what level, if its automated or manual check, if it's a patch or audit, and the rule number.
|
||||
|
||||
Below is an example of the tag section from a control within this role. Using this example if you set your run to skip all controls with the tag rpc, this task will be skipped. The opposite can also happen where you run only controls tagged with smb.
|
||||
Below is an example of the tag section from a control within this role. Using this example if you set your run to skip all controls with the tag manage_updates_offered_from_windows_update, this task will be skipped. The opposite can also happen where you run only controls tagged with manage_updates_offered_from_windows_update.
|
||||
|
||||
```sh
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.4.2
|
||||
- automated
|
||||
- patch
|
||||
- rpc
|
||||
- automated
|
||||
- rule_18.10.92.4.3
|
||||
- manage_updates_offered_from_windows_update
|
||||
- updates
|
||||
```
|
||||
Tags for entire sections can be run using the tags that are in the main.yml files for each section. In this particular case this is the following example and how it breaks down for sections.
|
||||
|
||||
Section 18 - administrative-templates-computer <br>
|
||||
Section 18 - administrative_templates_computer <br>
|
||||
Section 18.10 - windows-components <br>
|
||||
Section 18.10.3 - app-package-deployment
|
||||
|
||||
@@ -148,12 +145,12 @@ Section 18.10.3 - app-package-deployment
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.3.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- app-package-deployment
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- app_package_deployment
|
||||
```
|
||||
|
||||
## Community Contribution
|
||||
## Community Contribution 🧑🤝🧑
|
||||
|
||||
We encourage you (the community) to contribute to this role. Please read the rules below.
|
||||
|
||||
@@ -162,11 +159,23 @@ We encourage you (the community) to contribute to this role. Please read the rul
|
||||
- Pull Requests into devel will confirm your commits have a GPG signature, Signed-off, and a functional test before being approved
|
||||
- Once your changes are merged and a more detailed review is complete, an authorized member will merge your changes into the main branch for a new release
|
||||
|
||||
## Pipeline Testing
|
||||
## Pipeline Testing 🔄
|
||||
|
||||
uses:
|
||||
|
||||
- ansible-core 2.12
|
||||
- ansible-core 2.16.x
|
||||
- ansible collections - pulls in the latest version based on requirements file
|
||||
- runs the audit using the devel branch
|
||||
- This is an automated test that occurs on pull requests into devel
|
||||
- self-hosted runners using OpenTofu
|
||||
|
||||
## Local Testing 💻
|
||||
|
||||
- Ansible
|
||||
- ansible-core 2.15.0 - python 3.11
|
||||
|
||||
## Credits and Thanks 🙏
|
||||
|
||||
Massive thanks to the fantastic community and all its members.
|
||||
|
||||
This includes a huge thanks and credit to the original authors and maintainers.
|
||||
|
||||
+365
-197
@@ -10,7 +10,7 @@ win11cis_section19: true
|
||||
|
||||
# Global Variables
|
||||
|
||||
win11cis_min_ansible_version: "2.10.1"
|
||||
win11cis_min_ansible_version: "2.14"
|
||||
|
||||
# win_skip_for_test is the setting that will skip tasks that may cause changes that will affect the system.
|
||||
# These controls are primarily around RDP and WinRM
|
||||
@@ -18,16 +18,16 @@ win11cis_min_ansible_version: "2.10.1"
|
||||
# Controls that will be skipped:
|
||||
# 2.2.16 - Breaks Local Admin Connection
|
||||
# 2.2.20 - Breaks Local Admin Connection
|
||||
# 5.22 - Disables Remote Desktop Service Disabled
|
||||
# 5.40 - Disables WinRm Service
|
||||
# 5.21 - Disables Remote Desktop Service Disabled
|
||||
# 5.39 - Disables WinRm Service
|
||||
# 9.3.5 - Enables Firewall Public Rules *Breaks Reboot*
|
||||
# 18.10.57.3.2.1 - Disables Remote Desktop Connections
|
||||
# 18.10.89.1.1 - Disables WinRM Allow Client Basic Auth
|
||||
# 18.10.89.1.2 - Disables Client Ensure Allow unencrypted traffic is set to Disabled Control.
|
||||
# 18.10.89.2.1 - Disables WinRM Allow Service Basic Auth
|
||||
# 18.10.89.2.2 - Disables Remote Server Management through WinRM
|
||||
# 18.10.89.2.3 - Disables Service Ensure Allow unencrypted traffic is set to Disabled Control.
|
||||
# 18.10.90.1 - Disables Remote Shell Access
|
||||
# 18.10.56.3.2.1 - Disables Remote Desktop Connections
|
||||
# 18.10.88.1.1 - Disables WinRM Allow Client Basic Auth
|
||||
# 18.10.88.1.2 - Disables Client Ensure Allow unencrypted traffic is set to Disabled Control.
|
||||
# 18.10.88.2.1 - Disables WinRM Allow Service Basic Auth
|
||||
# 18.10.88.2.2 - Disables Remote Server Management through WinRM
|
||||
# 18.10.88.2.3 - Disables Service Ensure Allow unencrypted traffic is set to Disabled Control.
|
||||
# 18.10.89.1 - Disables Remote Shell Access
|
||||
win_skip_for_test: false
|
||||
|
||||
# Changes will be made that will require a system reboot.
|
||||
@@ -99,7 +99,6 @@ win11cis_rule_2_3_1_5: true
|
||||
win11cis_rule_2_3_2_1: true
|
||||
win11cis_rule_2_3_2_2: true
|
||||
win11cis_rule_2_3_4_1: true
|
||||
win11cis_rule_2_3_4_2: true
|
||||
win11cis_rule_2_3_6_1: true
|
||||
win11cis_rule_2_3_6_2: true
|
||||
win11cis_rule_2_3_6_3: true
|
||||
@@ -145,6 +144,8 @@ win11cis_rule_2_3_11_7: true
|
||||
win11cis_rule_2_3_11_8: true
|
||||
win11cis_rule_2_3_11_9: true
|
||||
win11cis_rule_2_3_11_10: true
|
||||
win11cis_rule_2_3_11_11: true
|
||||
win11cis_rule_2_3_11_12: true
|
||||
win11cis_rule_2_3_14_1: true
|
||||
win11cis_rule_2_3_15_1: true
|
||||
win11cis_rule_2_3_15_2: true
|
||||
@@ -186,8 +187,8 @@ win11cis_rule_5_22: true
|
||||
win11cis_rule_5_23: true
|
||||
win11cis_rule_5_24: true
|
||||
win11cis_rule_5_25: true
|
||||
# 5.26 Causes warnings with SID Retrieval in Ansible
|
||||
win11cis_rule_5_26: true
|
||||
# 5.27 Causes warnings with SID Retrieval in Ansible
|
||||
win11cis_rule_5_27: true
|
||||
win11cis_rule_5_28: true
|
||||
win11cis_rule_5_29: true
|
||||
@@ -206,7 +207,6 @@ win11cis_rule_5_41: true
|
||||
win11cis_rule_5_42: true
|
||||
win11cis_rule_5_43: true
|
||||
win11cis_rule_5_44: true
|
||||
win11cis_rule_5_45: true
|
||||
|
||||
# Section 9
|
||||
win11cis_rule_9_1_1: true
|
||||
@@ -216,7 +216,6 @@ win11cis_rule_9_1_4: true
|
||||
win11cis_rule_9_1_5: true
|
||||
win11cis_rule_9_1_6: true
|
||||
win11cis_rule_9_1_7: true
|
||||
win11cis_rule_9_1_8: true
|
||||
win11cis_rule_9_2_1: true
|
||||
win11cis_rule_9_2_2: true
|
||||
win11cis_rule_9_2_3: true
|
||||
@@ -224,7 +223,6 @@ win11cis_rule_9_2_4: true
|
||||
win11cis_rule_9_2_5: true
|
||||
win11cis_rule_9_2_6: true
|
||||
win11cis_rule_9_2_7: true
|
||||
win11cis_rule_9_2_8: true
|
||||
win11cis_rule_9_3_1: true
|
||||
win11cis_rule_9_3_2: true
|
||||
win11cis_rule_9_3_3: true
|
||||
@@ -234,7 +232,6 @@ win11cis_rule_9_3_6: true
|
||||
win11cis_rule_9_3_7: true
|
||||
win11cis_rule_9_3_8: true
|
||||
win11cis_rule_9_3_9: true
|
||||
win11cis_rule_9_3_10: true
|
||||
|
||||
# Section 17
|
||||
win11cis_rule_17_1_1: true
|
||||
@@ -270,12 +267,6 @@ win11cis_rule_18_1_1_1: true
|
||||
win11cis_rule_18_1_1_2: true
|
||||
win11cis_rule_18_1_2_2: true
|
||||
win11cis_rule_18_1_3: true
|
||||
win11cis_rule_18_3_1: true
|
||||
win11cis_rule_18_3_2: true
|
||||
win11cis_rule_18_3_3: true
|
||||
win11cis_rule_18_3_4: true
|
||||
win11cis_rule_18_3_5: true
|
||||
win11cis_rule_18_3_6: true
|
||||
win11cis_rule_18_4_1: true
|
||||
win11cis_rule_18_4_2: true
|
||||
win11cis_rule_18_4_3: true
|
||||
@@ -283,6 +274,7 @@ win11cis_rule_18_4_4: true
|
||||
win11cis_rule_18_4_5: true
|
||||
win11cis_rule_18_4_6: true
|
||||
win11cis_rule_18_4_7: true
|
||||
win11cis_rule_18_4_8: true
|
||||
win11cis_rule_18_5_1: true
|
||||
win11cis_rule_18_5_2: true
|
||||
win11cis_rule_18_5_3: true
|
||||
@@ -348,6 +340,8 @@ win11cis_rule_18_9_19_2: true
|
||||
win11cis_rule_18_9_19_3: true
|
||||
win11cis_rule_18_9_19_4: true
|
||||
win11cis_rule_18_9_19_5: true
|
||||
win11cis_rule_18_9_19_6: true
|
||||
win11cis_rule_18_9_19_7: true
|
||||
win11cis_rule_18_9_20_1_1: true
|
||||
win11cis_rule_18_9_20_1_2: true
|
||||
win11cis_rule_18_9_20_1_3: true
|
||||
@@ -366,31 +360,39 @@ win11cis_rule_18_9_23_1: true
|
||||
win11cis_rule_18_9_24_1: true
|
||||
win11cis_rule_18_9_25_1: true
|
||||
win11cis_rule_18_9_25_2: true
|
||||
win11cis_rule_18_9_25_3: true
|
||||
win11cis_rule_18_9_25_4: true
|
||||
win11cis_rule_18_9_25_5: true
|
||||
win11cis_rule_18_9_25_6: true
|
||||
win11cis_rule_18_9_25_7: true
|
||||
win11cis_rule_18_9_25_8: true
|
||||
win11cis_rule_18_9_26_1: true
|
||||
win11cis_rule_18_9_26_2: true
|
||||
win11cis_rule_18_9_27_1: true
|
||||
win11cis_rule_18_9_27_2: true
|
||||
win11cis_rule_18_9_27_3: true
|
||||
win11cis_rule_18_9_27_4: true
|
||||
win11cis_rule_18_9_27_5: true
|
||||
win11cis_rule_18_9_27_6: true
|
||||
win11cis_rule_18_9_27_7: true
|
||||
win11cis_rule_18_9_30_1: true
|
||||
win11cis_rule_18_9_30_2: true
|
||||
win11cis_rule_18_9_32_6_1: true
|
||||
win11cis_rule_18_9_32_6_2: true
|
||||
win11cis_rule_18_9_32_6_3: true
|
||||
win11cis_rule_18_9_32_6_4: true
|
||||
win11cis_rule_18_9_32_6_5: true
|
||||
win11cis_rule_18_9_32_6_6: true
|
||||
win11cis_rule_18_9_34_1: true
|
||||
win11cis_rule_18_9_34_2: true
|
||||
win11cis_rule_18_9_28_1: true
|
||||
win11cis_rule_18_9_28_2: true
|
||||
win11cis_rule_18_9_28_3: true
|
||||
win11cis_rule_18_9_28_4: true
|
||||
win11cis_rule_18_9_28_5: true
|
||||
win11cis_rule_18_9_28_6: true
|
||||
win11cis_rule_18_9_28_7: true
|
||||
win11cis_rule_18_9_31_1: true
|
||||
win11cis_rule_18_9_31_2: true
|
||||
win11cis_rule_18_9_33_6_1: true
|
||||
win11cis_rule_18_9_33_6_2: true
|
||||
win11cis_rule_18_9_33_6_3: true
|
||||
win11cis_rule_18_9_33_6_4: true
|
||||
win11cis_rule_18_9_33_6_5: true
|
||||
win11cis_rule_18_9_33_6_6: true
|
||||
win11cis_rule_18_9_35_1: true
|
||||
win11cis_rule_18_9_35_2: true
|
||||
win11cis_rule_18_9_46_5_1: true
|
||||
win11cis_rule_18_9_46_11_1: true
|
||||
win11cis_rule_18_9_48_1: true
|
||||
win11cis_rule_18_9_50_1_1: true
|
||||
win11cis_rule_18_9_50_1_2: true
|
||||
win11cis_rule_18_9_36_1: true
|
||||
win11cis_rule_18_9_36_2: true
|
||||
win11cis_rule_18_9_47_5_1: true
|
||||
win11cis_rule_18_9_47_11_1: true
|
||||
win11cis_rule_18_9_49_1: true
|
||||
win11cis_rule_18_9_51_1_1: true
|
||||
win11cis_rule_18_9_51_1_2: true
|
||||
win11cis_rule_18_10_3_1: true
|
||||
win11cis_rule_18_10_3_2: true
|
||||
win11cis_rule_18_10_4_1: true
|
||||
@@ -427,6 +429,10 @@ win11cis_rule_18_10_9_2_11: true
|
||||
win11cis_rule_18_10_9_2_12: true
|
||||
win11cis_rule_18_10_9_2_13: true
|
||||
win11cis_rule_18_10_9_2_14: true
|
||||
win11cis_rule_18_10_9_2_15: true
|
||||
win11cis_rule_18_10_9_2_16: true
|
||||
win11cis_rule_18_10_9_2_17: true
|
||||
win11cis_rule_18_10_9_2_18: true
|
||||
win11cis_rule_18_10_9_3_1: true
|
||||
win11cis_rule_18_10_9_3_2: true
|
||||
win11cis_rule_18_10_9_3_3: true
|
||||
@@ -464,131 +470,130 @@ win11cis_rule_18_10_17_1: true
|
||||
win11cis_rule_18_10_17_2: true
|
||||
win11cis_rule_18_10_17_3: true
|
||||
win11cis_rule_18_10_17_4: true
|
||||
win11cis_rule_18_10_26_1_1: true
|
||||
win11cis_rule_18_10_26_1_2: true
|
||||
win11cis_rule_18_10_26_2_1: true
|
||||
win11cis_rule_18_10_26_2_2: true
|
||||
win11cis_rule_18_10_26_3_1: true
|
||||
win11cis_rule_18_10_26_3_2: true
|
||||
win11cis_rule_18_10_26_4_1: true
|
||||
win11cis_rule_18_10_26_4_2: true
|
||||
win11cis_rule_18_10_29_2: true
|
||||
win11cis_rule_18_10_29_3: true
|
||||
win11cis_rule_18_10_29_4: true
|
||||
win11cis_rule_18_10_29_5: true
|
||||
win11cis_rule_18_10_33_1: true
|
||||
win11cis_rule_18_10_37_2: true
|
||||
win11cis_rule_18_10_25_1_1: true
|
||||
win11cis_rule_18_10_25_1_2: true
|
||||
win11cis_rule_18_10_25_2_1: true
|
||||
win11cis_rule_18_10_25_2_2: true
|
||||
win11cis_rule_18_10_25_3_1: true
|
||||
win11cis_rule_18_10_25_3_2: true
|
||||
win11cis_rule_18_10_25_4_1: true
|
||||
win11cis_rule_18_10_25_4_2: true
|
||||
win11cis_rule_18_10_28_2: true
|
||||
win11cis_rule_18_10_28_3: true
|
||||
win11cis_rule_18_10_28_4: true
|
||||
win11cis_rule_18_10_28_5: true
|
||||
win11cis_rule_18_10_36_1: true
|
||||
win11cis_rule_18_10_40_1: true
|
||||
win11cis_rule_18_10_41_1: true
|
||||
win11cis_rule_18_10_42_1: true
|
||||
win11cis_rule_18_10_43_5_1: true
|
||||
win11cis_rule_18_10_43_5_2: true
|
||||
win11cis_rule_18_10_43_6_1_1: true
|
||||
win11cis_rule_18_10_43_6_1_2: true
|
||||
win11cis_rule_18_10_43_6_3_1: true
|
||||
win11cis_rule_18_10_43_7_1: true
|
||||
win11cis_rule_18_10_43_10_1: true
|
||||
win11cis_rule_18_10_43_10_2: true
|
||||
win11cis_rule_18_10_43_10_3: true
|
||||
win11cis_rule_18_10_43_10_4: true
|
||||
win11cis_rule_18_10_43_12_1: true
|
||||
win11cis_rule_18_10_43_13_1: true
|
||||
win11cis_rule_18_10_43_13_2: true
|
||||
win11cis_rule_18_10_43_16: true
|
||||
win11cis_rule_18_10_43_17: true
|
||||
win11cis_rule_18_10_44_1: true
|
||||
win11cis_rule_18_10_44_2: true
|
||||
win11cis_rule_18_10_44_3: true
|
||||
win11cis_rule_18_10_44_4: true
|
||||
win11cis_rule_18_10_44_5: true
|
||||
win11cis_rule_18_10_44_6: true
|
||||
win11cis_rule_18_10_42_5_1: true
|
||||
win11cis_rule_18_10_42_5_2: true
|
||||
win11cis_rule_18_10_42_6_1_1: true
|
||||
win11cis_rule_18_10_42_6_1_2: true
|
||||
win11cis_rule_18_10_42_6_3_1: true
|
||||
win11cis_rule_18_10_42_7_1: true
|
||||
win11cis_rule_18_10_42_10_1: true
|
||||
win11cis_rule_18_10_42_10_2: true
|
||||
win11cis_rule_18_10_42_10_3: true
|
||||
win11cis_rule_18_10_42_10_4: true
|
||||
win11cis_rule_18_10_42_12_1: true
|
||||
win11cis_rule_18_10_42_13_1: true
|
||||
win11cis_rule_18_10_42_13_2: true
|
||||
win11cis_rule_18_10_42_13_3: true
|
||||
win11cis_rule_18_10_42_16: true
|
||||
win11cis_rule_18_10_42_17: true
|
||||
win11cis_rule_18_10_43_1: true
|
||||
win11cis_rule_18_10_43_2: true
|
||||
win11cis_rule_18_10_43_3: true
|
||||
win11cis_rule_18_10_43_4: true
|
||||
win11cis_rule_18_10_43_5: true
|
||||
win11cis_rule_18_10_43_6: true
|
||||
win11cis_rule_18_10_49_1: true
|
||||
win11cis_rule_18_10_50_1: true
|
||||
win11cis_rule_18_10_51_1: true
|
||||
win11cis_rule_18_10_56_1: true
|
||||
win11cis_rule_18_10_57_2_2: true
|
||||
win11cis_rule_18_10_57_2_3: true
|
||||
win11cis_rule_18_10_57_3_2_1: true
|
||||
win11cis_rule_18_10_57_3_3_1: true
|
||||
win11cis_rule_18_10_57_3_3_2: true
|
||||
win11cis_rule_18_10_57_3_3_3: true
|
||||
win11cis_rule_18_10_57_3_3_4: true
|
||||
win11cis_rule_18_10_57_3_3_5: true
|
||||
win11cis_rule_18_10_57_3_3_6: true
|
||||
win11cis_rule_18_10_57_3_3_7: true
|
||||
win11cis_rule_18_10_57_3_9_1: true
|
||||
win11cis_rule_18_10_57_3_9_2: true
|
||||
win11cis_rule_18_10_57_3_9_3: true
|
||||
win11cis_rule_18_10_57_3_9_4: true
|
||||
win11cis_rule_18_10_57_3_9_5: true
|
||||
win11cis_rule_18_10_57_3_10_1: true
|
||||
win11cis_rule_18_10_57_3_10_2: true
|
||||
win11cis_rule_18_10_57_3_11_1: true
|
||||
win11cis_rule_18_10_58_1: true
|
||||
win11cis_rule_18_10_59_2: true
|
||||
win11cis_rule_18_10_59_3: true
|
||||
win11cis_rule_18_10_59_4: true
|
||||
win11cis_rule_18_10_59_5: true
|
||||
win11cis_rule_18_10_59_6: true
|
||||
win11cis_rule_18_10_59_7: true
|
||||
win11cis_rule_18_10_63_1: true
|
||||
win11cis_rule_18_10_66_1: true
|
||||
win11cis_rule_18_10_66_2: true
|
||||
win11cis_rule_18_10_66_3: true
|
||||
win11cis_rule_18_10_66_4: true
|
||||
win11cis_rule_18_10_66_5: true
|
||||
win11cis_rule_18_10_55_1: true
|
||||
win11cis_rule_18_10_56_2_2: true
|
||||
win11cis_rule_18_10_56_2_3: true
|
||||
win11cis_rule_18_10_56_3_2_1: true
|
||||
win11cis_rule_18_10_56_3_3_1: true
|
||||
win11cis_rule_18_10_56_3_3_2: true
|
||||
win11cis_rule_18_10_56_3_3_3: true
|
||||
win11cis_rule_18_10_56_3_3_4: true
|
||||
win11cis_rule_18_10_56_3_3_5: true
|
||||
win11cis_rule_18_10_56_3_3_6: true
|
||||
win11cis_rule_18_10_56_3_3_7: true
|
||||
win11cis_rule_18_10_56_3_9_1: true
|
||||
win11cis_rule_18_10_56_3_9_2: true
|
||||
win11cis_rule_18_10_56_3_9_3: true
|
||||
win11cis_rule_18_10_56_3_9_4: true
|
||||
win11cis_rule_18_10_56_3_9_5: true
|
||||
win11cis_rule_18_10_56_3_10_1: true
|
||||
win11cis_rule_18_10_56_3_10_2: true
|
||||
win11cis_rule_18_10_56_3_11_1: true
|
||||
win11cis_rule_18_10_57_1: true
|
||||
win11cis_rule_18_10_58_2: true
|
||||
win11cis_rule_18_10_58_3: true
|
||||
win11cis_rule_18_10_58_4: true
|
||||
win11cis_rule_18_10_58_5: true
|
||||
win11cis_rule_18_10_58_6: true
|
||||
win11cis_rule_18_10_58_7: true
|
||||
win11cis_rule_18_10_62_1: true
|
||||
win11cis_rule_18_10_65_1: true
|
||||
win11cis_rule_18_10_65_2: true
|
||||
win11cis_rule_18_10_65_3: true
|
||||
win11cis_rule_18_10_65_4: true
|
||||
win11cis_rule_18_10_65_5: true
|
||||
win11cis_rule_18_10_71_1: true
|
||||
win11cis_rule_18_10_72_1: true
|
||||
win11cis_rule_18_10_76_1_1: true
|
||||
win11cis_rule_18_10_76_1_2: true
|
||||
win11cis_rule_18_10_76_1_3: true
|
||||
win11cis_rule_18_10_76_1_4: true
|
||||
win11cis_rule_18_10_76_2_1: true
|
||||
win11cis_rule_18_10_76_3_1: true
|
||||
win11cis_rule_18_10_76_3_2: true
|
||||
win11cis_rule_18_10_75_1_1: true
|
||||
win11cis_rule_18_10_75_1_2: true
|
||||
win11cis_rule_18_10_75_1_3: true
|
||||
win11cis_rule_18_10_75_1_4: true
|
||||
win11cis_rule_18_10_75_1_5: true
|
||||
win11cis_rule_18_10_75_2_1: true
|
||||
win11cis_rule_18_10_77_1: true
|
||||
win11cis_rule_18_10_78_1: true
|
||||
win11cis_rule_18_10_79_1: true
|
||||
win11cis_rule_18_10_79_2: true
|
||||
win11cis_rule_18_10_80_1: true
|
||||
win11cis_rule_18_10_80_2: true
|
||||
win11cis_rule_18_10_80_3: true
|
||||
win11cis_rule_18_10_81_1: true
|
||||
win11cis_rule_18_10_81_2: true
|
||||
win11cis_rule_18_10_81_3: true
|
||||
win11cis_rule_18_10_82_1: true
|
||||
win11cis_rule_18_10_82_2: true
|
||||
win11cis_rule_18_10_87_1: true
|
||||
win11cis_rule_18_10_87_2: true
|
||||
win11cis_rule_18_10_89_1_1: true
|
||||
win11cis_rule_18_10_89_1_2: true
|
||||
win11cis_rule_18_10_89_1_3: true
|
||||
win11cis_rule_18_10_89_2_1: true
|
||||
win11cis_rule_18_10_89_2_2: true
|
||||
win11cis_rule_18_10_89_2_3: true
|
||||
win11cis_rule_18_10_89_2_4: true
|
||||
win11cis_rule_18_1_90_1: true
|
||||
win11cis_rule_18_1_91_1: true
|
||||
win11cis_rule_18_1_91_2: true
|
||||
win11cis_rule_18_10_86_1: true
|
||||
win11cis_rule_18_10_86_2: true
|
||||
win11cis_rule_18_10_88_1_1: true
|
||||
win11cis_rule_18_10_88_1_2: true
|
||||
win11cis_rule_18_10_88_1_3: true
|
||||
win11cis_rule_18_10_88_2_1: true
|
||||
win11cis_rule_18_10_88_2_2: true
|
||||
win11cis_rule_18_10_88_2_3: true
|
||||
win11cis_rule_18_10_88_2_4: true
|
||||
win11cis_rule_18_10_89_1: true
|
||||
win11cis_rule_18_10_90_1: true
|
||||
win11cis_rule_18_10_90_2: true
|
||||
win11cis_rule_18_10_91_2_1: true
|
||||
win11cis_rule_18_10_92_1_1: true
|
||||
win11cis_rule_18_10_92_2_1: true
|
||||
win11cis_rule_18_10_93_1_1: true
|
||||
win11cis_rule_18_10_93_2_1: true
|
||||
win11cis_rule_18_10_93_2_2: true
|
||||
win11cis_rule_18_10_93_2_3: true
|
||||
win11cis_rule_18_10_93_4_1: true
|
||||
win11cis_rule_18_10_93_4_2: true
|
||||
win11cis_rule_18_10_93_4_3: true
|
||||
win11cis_rule_18_10_92_2_2: true
|
||||
win11cis_rule_18_10_92_2_3: true
|
||||
win11cis_rule_18_10_92_2_4: true
|
||||
win11cis_rule_18_10_92_4_1: true
|
||||
win11cis_rule_18_10_92_4_2: true
|
||||
win11cis_rule_18_10_92_4_3: true
|
||||
|
||||
# Section 19
|
||||
win11cis_rule_19_1_3_1: true
|
||||
win11cis_rule_19_1_3_2: true
|
||||
win11cis_rule_19_1_3_3: true
|
||||
win11cis_rule_19_5_1_1: true
|
||||
win11cis_rule_19_6_6_1_1: true
|
||||
win11cis_rule_19_7_4_1: true
|
||||
win11cis_rule_19_7_4_2: true
|
||||
win11cis_rule_19_7_7_1: true
|
||||
win11cis_rule_19_7_7_2: true
|
||||
win11cis_rule_19_7_7_3: true
|
||||
win11cis_rule_19_7_7_4: true
|
||||
win11cis_rule_19_7_7_5: true
|
||||
win11cis_rule_19_7_25_1: true
|
||||
win11cis_rule_19_7_40_1: true
|
||||
win11cis_rule_19_7_47_2_1: true
|
||||
win11cis_rule_19_7_5_1: true
|
||||
win11cis_rule_19_7_5_2: true
|
||||
win11cis_rule_19_7_8_1: true
|
||||
win11cis_rule_19_7_8_2: true
|
||||
win11cis_rule_19_7_8_3: true
|
||||
win11cis_rule_19_7_8_4: true
|
||||
win11cis_rule_19_7_8_5: true
|
||||
win11cis_rule_19_7_26_1: true
|
||||
win11cis_rule_19_7_38_1: true
|
||||
win11cis_rule_19_7_42_1: true
|
||||
win11cis_rule_19_7_44_2_1: true
|
||||
|
||||
# Section 1 Variables
|
||||
|
||||
@@ -644,6 +649,15 @@ win11cis_account_lockout_counter_reset: 15
|
||||
|
||||
# Section 2 Variables
|
||||
|
||||
# 2.2.11
|
||||
# Windows 11 Create a token object user right must not be assigned to any groups or accounts.
|
||||
# If any SIDs other than the following are granted the "SeCreateTokenPrivilege" user right, this is a finding.
|
||||
# If an application requires this user right, this would not be a finding. Vendor documentation must support the
|
||||
# requirement for having the user right. The requirement must be documented with the ISSO.
|
||||
# NOTE: Improper Accounts Or Groups listed here will FAIL task.
|
||||
# Default: []
|
||||
wn11cis_secreatetokenprivilege: []
|
||||
|
||||
# 2.2.28
|
||||
# This policy setting allows accounts to log on using the task scheduler service.
|
||||
# If you install optional components such as ASP.NET or IIS, you might need to assign this user right to
|
||||
@@ -659,13 +673,17 @@ win11cis_sebatchlogonright: Administrators
|
||||
# Log on as a service user right to additional accounts that are required by those components. IIS requires that
|
||||
# this user right be explicitly granted to the ASPNET user account. On Windows Workstations with the Hyper-V
|
||||
# feature installed, this user right should also be granted to the special group NT VIRTUAL MACHINE\Virtual Machines.
|
||||
# When using Windows Defender Application Guard, such as in the Next Generation Windows Security profile) WDAGUtilityAccount
|
||||
# Auto Set By Ansible
|
||||
# [] - No Accounts Put In.
|
||||
# Hyper V Discovered Enabled - NT VIRTUAL MACHINE\Virtual Machines
|
||||
# WDAG Discovered Enabled - WDAGUtilityAccount
|
||||
# Hyper V & WDAG Discovered Enabled - WDAGUtilityAccount,NT VIRTUAL MACHINE\Virtual Machines
|
||||
# Settings Note:
|
||||
# When Hyper-V not installed no one will be set. If Hyper-V is set in win11cis_hyperv_installed to true
|
||||
# the control will automatically add the proper setting.
|
||||
# If you defining your own input list them in win11cis_seservicelogonright by commas and no spacing between them.
|
||||
# NOTE: Improper Accounts Or Groups listed here will FAIL task.
|
||||
# Default: ""
|
||||
win11cis_seservicelogonright: ""
|
||||
# If you defining your own input list them in win10cis_seservicelogonright by commas and no spacing between them.
|
||||
# NOTE: Improper Accounts Or Groups listed here will FAIL task. When adding place items in ""
|
||||
# Default: []
|
||||
win11cis_seservicelogonright: []
|
||||
|
||||
# 2.3.1.4
|
||||
# The built-in local administrator account is a well-known account name that attackers will target. It is
|
||||
@@ -780,6 +798,20 @@ win11cis_legacy_rc4_hmac_md5_support: false
|
||||
# Default: 1
|
||||
win11cis_ldap_client_integrity: 1
|
||||
|
||||
# 2.3.11.12
|
||||
# win11cis_restrict_sending_ntlm_traffic is This policy setting allows the auditing of outgoing NTLM traffic. Events for this setting
|
||||
# are recorded in the operational event log (e.g. Applications and Services Log\Microsoft\Windows\NTLM).
|
||||
# The recommended state for this setting is: Audit all. Configuring this setting to Deny All also conforms to the benchmark.
|
||||
# Note: Configuring this setting to Deny All is more secure, however it could have a negative impact
|
||||
# on applications that still require NTLM. Test carefully before implementing the Deny All value. 7.26.24 - CIS documentation is
|
||||
# incorrect stating that audit all is 2. CIS has a fix in the works and that is already applied here.
|
||||
# Note: Possible Valid Settings
|
||||
# Default: 1
|
||||
# 1 - Audit All
|
||||
# 2 - Deny All
|
||||
# Default: 1
|
||||
win11cis_restrict_sending_ntlm_traffic: 1
|
||||
|
||||
# 2.3.14.1
|
||||
# win11cis_force_key_protection is the policy setting determines whether users' private keys (such as their S-MIME keys) require
|
||||
# a password to be used. Configuring this setting to User must enter a password each time they use a key also conforms to the benchmark.
|
||||
@@ -800,55 +832,137 @@ win11cis_force_key_protection: 1
|
||||
# Default: 2
|
||||
win11cis_consent_prompt_behavior_admin: 2
|
||||
|
||||
# Section 5 Variables
|
||||
|
||||
# The variables below have been added to take into account the option added to CIS to uninstall the services.
|
||||
# NOTE: By default the services will be disabled and stopped as per the CIS standard listed first.
|
||||
# Not all the services are setup in CIS to be uninstalled and we have documetned them below in single vars.
|
||||
|
||||
# 5.3
|
||||
# This Maintains an updated list of computers on the network and supplies this list to computers
|
||||
# designated as browsers.
|
||||
# Default: false
|
||||
win11cis_uninstall_computer_browser_service: false
|
||||
|
||||
# 5.6
|
||||
# This service is not installed by default. It is supplied with Windows, but is installed
|
||||
# by enabling an optional Windows feature (Internet Information Services).
|
||||
# Default: false
|
||||
win11cis_uninstall_iis_admin_service: false
|
||||
|
||||
# 5.7
|
||||
# Irmon Service Detects other Infrared devices that are in range and launches the file transfer application.
|
||||
# Default: false
|
||||
win11cis_uninstall_irmon_service: false
|
||||
|
||||
# 5.9
|
||||
# The LXSS Manager service supports running native ELF binaries. The service provides the infrastructure
|
||||
# necessary for ELF binaries to run on Windows.
|
||||
# This service is not installed by default. It is supplied with Windows, but is installed
|
||||
# by enabling an optional Windows feature (Windows Subsystem for Linux).
|
||||
# Note: If your organization has made an exception to this recommendation and is using Windows Subsystem for Linux (WSL),
|
||||
# the Internet Connection Sharing (ICS) (SharedAccess) service will need to be Enabled for WSL to function.
|
||||
# Default: false
|
||||
win11cis_uninstall_lxssmanager_service: false
|
||||
|
||||
# 5.10
|
||||
# ftpsvc service is not installed by default. It is supplied with Windows, but is installed by
|
||||
# enabling an optional Windows feature (Internet Information Services - FTP Server).
|
||||
# Default: false
|
||||
win11cis_uninstall_ftpsvc_service: false
|
||||
|
||||
# 5.11
|
||||
# msiscsi Manages Internet SCSI (iSCSI) sessions from this computer to remote target devices.
|
||||
# Default: false
|
||||
win11cis_uninstall_msiscsi_service: false
|
||||
|
||||
# 5.12
|
||||
# service sshd uses SSH protocol based service to provide secure encrypted communications between
|
||||
# two untrusted hosts over an insecure network.
|
||||
# Note: This service is not installed by default. It is supplied with Windows, but it is
|
||||
# installed by enabling an optional Windows feature (OpenSSH Server).
|
||||
# Default: false
|
||||
win11cis_uninstall_sshd_service: false
|
||||
|
||||
# 5.27
|
||||
# simptcp supports the following TCP/IP services: Character Generator, Daytime, Discard, Echo, and Quote of the Day.
|
||||
# Note: This service is not installed by default. It is supplied with Windows, but is installed by enabling
|
||||
# an optional Windows feature (Simple TCPIP services (i.e. echo, daytime etc)).
|
||||
# Default: false
|
||||
win11cis_uninstall_simptcp_service: false
|
||||
|
||||
# 5.28
|
||||
# snmp enables Simple Network Management Protocol (SNMP) requests to be processed by this computer.
|
||||
# Note: This service is not installed by default. It is supplied with Windows, but is installed by enabling an optional
|
||||
# Windows feature (Simple Network Management Protocol (SNMP)).
|
||||
# Default: false
|
||||
win11cis_uninstall_snmp_service: false
|
||||
|
||||
# 5.29
|
||||
# sacsvr service allows administrators to remotely access a command prompt using Emergency Management Services.
|
||||
# Note: This service is not installed by default. It is supplied with Windows, but it is installed by enabling an optional
|
||||
# Windows capability (Windows Emergency Management Services and Serial Console).
|
||||
# Default: false
|
||||
win11cis_uninstall_sacsvr_service: false
|
||||
|
||||
# 5.32
|
||||
# wmsvc enables remote and delegated management capabilities for administrators to manage for the Web server,
|
||||
# sites and applications present on the machine.
|
||||
# Note: This service is not installed by default. It is supplied with Windows, but is installed by enabling an
|
||||
# optional Windows feature (Internet Information Services - Web Management Tools - IIS Management Service).
|
||||
# Default: false
|
||||
win11cis_uninstall_wmsvc_service: false
|
||||
|
||||
# 5.35
|
||||
# wmpnetworksvc shares Windows Media Player libraries to other networked players and media devices using
|
||||
# Universal Plug and Play.
|
||||
# Default: false
|
||||
win11cis_uninstall_wmpnetworksvc_service: false
|
||||
|
||||
# 5.40
|
||||
# w3svc provides Web connectivity and administration through the Internet Information Services Manager.
|
||||
# Note: This service is not installed by default. It is supplied with Windows, but is installed by enabling
|
||||
# an optional Windows feature (Internet Information Services - World Wide Web Services).
|
||||
# Default: false
|
||||
win11cis_uninstall_w3svc_service: false
|
||||
|
||||
# Section 9 Variables
|
||||
|
||||
# 9.1.5
|
||||
# 9.1.4
|
||||
# win11cis_domain_firewall_log_path is the path to the domain firewall log files. The control suggests %SystemRoot%\System32\logfiles\firewall\domainfw.log
|
||||
# This is a variable to give some leeway on where to store these log files.
|
||||
# Default: '%SystemRoot%\System32\logfiles\firewall\domainfw.log'
|
||||
win11cis_domain_firewall_log_path: '%SystemRoot%\System32\logfiles\firewall\domainfw.log'
|
||||
|
||||
# 9.1.6
|
||||
# 9.1.5
|
||||
# win11cis_domain_firewall_log_size is the size of the log file generated
|
||||
# To conform to CIS standards the value should be 16,384 or greater. Value is in KB
|
||||
# Default: 16384
|
||||
win11cis_domain_firewall_log_size: 16384
|
||||
|
||||
# 9.2.5
|
||||
# 9.2.4
|
||||
# win11cis_private_firewall_log_path is the path to the private firewall log files. The control suggests %SystemRoot%\System32\logfiles\firewall\privatefw.log
|
||||
# This is a variable to give some leeway on where to store these log files
|
||||
win11cis_private_firewall_log_path: '%SystemRoot%\System32\logfiles\firewall\privatefw.log'
|
||||
|
||||
# 9.2.6
|
||||
# 9.2.5
|
||||
# win11cis_private_firewall_log_size is the size of the log file
|
||||
# To conform to CIS standards the value should be 16,384 or greater. Value is in KB
|
||||
win11cis_private_firewall_log_size: 16384
|
||||
|
||||
# 9.3.7
|
||||
# 9.3.6
|
||||
# win11cis_public_firewall_log_path is the path to the public firewall log file. The control suggests %SystemRoot%\System32\logfiles\firewall\publicfw.log
|
||||
# This is a variable to give some leeway on where to store these log files
|
||||
win11cis_public_firewall_log_path: '%SystemRoot%\System32\logfiles\firewall\publicfw.log'
|
||||
|
||||
# 9.3.8
|
||||
# 9.3.7
|
||||
# win11cis_public_firewall_log_size is the size of the log file
|
||||
# To conform to CIS standards the value should be 16,384 or greater. Value is in KB
|
||||
win11cis_public_firewall_log_size: 16384
|
||||
|
||||
# Section 18 Variables
|
||||
|
||||
# Control 18.3.5
|
||||
# win11cis_laps_password_length is the LAPS tool password length.
|
||||
# The recommended state for this setting is: Enabled: 15 or more.
|
||||
# Default: 15
|
||||
win11cis_laps_password_length: 15
|
||||
|
||||
# Control 18.3.6
|
||||
# win11cis_laps_password_age_days is the LAPS tool password age in days.
|
||||
# The recommended state for this setting is: Enabled: 30 or fewer.
|
||||
# Default: 30
|
||||
win11cis_laps_password_age_days: 30
|
||||
|
||||
# 18.4.6
|
||||
# 18.4.7
|
||||
# win11cis_netbt_nodetype is the node type value in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters:NodeType
|
||||
# Options are B-node value of 1, P-node value of 2, M-node value of 4, H-node value of 8. P-node is the recommended setting from CIS
|
||||
# Default: 2
|
||||
@@ -905,6 +1019,67 @@ win11cis_force_kerberos_for_rpc: 0
|
||||
# Default: 1
|
||||
win11cis_enable_virtualization_based_security: 1
|
||||
|
||||
# 18.9.25.1
|
||||
# win11cis_laps_backup_directory is the policy setting configures which directory Windows LAPS will use to back up the
|
||||
# local admin account password.
|
||||
# The recommended state for this setting is: Enabled: Active Directory or Enabled: Azure Active Directory.
|
||||
# 1 - Enabled: Active Directory
|
||||
# 2 - Enabled: Azure Active Directory
|
||||
# Default: 1
|
||||
win11cis_laps_backup_directory: 1
|
||||
|
||||
# 18.9.25.5
|
||||
# win11cis_laps_password_length is the policy setting configures the Windows LAPS Password Settings policy for password length.
|
||||
# The recommended state for this setting is: Enabled: 15 or more.
|
||||
# Default: 15
|
||||
win11cis_laps_password_length: 15
|
||||
|
||||
# 18.9.25.6
|
||||
# win11cis_laps_password_age is the policy setting configures the Windows LAPS Password Settings policy for password length.
|
||||
# The recommended state for this setting is: Enabled: 30 or fewer.
|
||||
# Default: 30
|
||||
win11cis_laps_password_age: 30
|
||||
|
||||
# 18.9.25.7
|
||||
# win11cis_laps_post_auth_actions_grace_period is the olicy settings configures post-authentication actions which will be
|
||||
# executed after detecting an authentication by the Windows LAPS managed account. The Grace period refers to the amount of
|
||||
# time (hours) to wait after an authentication before executing the specified post-authentication actions.
|
||||
# The recommended state for this setting is: Enabled: 8 or fewer hours, but not 0.
|
||||
# Default: 8
|
||||
win11cis_laps_post_auth_actions_grace_period: 8
|
||||
|
||||
# 18.9.25.8
|
||||
# win11cis_laps_post_auth_actions_reset_password is the policy settings configures post-authentication actions which
|
||||
# will be executed after detecting an authentication by the LAPS managed account. The Action refers to actions to take
|
||||
# upon expiry of the grace period before executing the specified post- authentication actions.
|
||||
# The recommended state for this setting is: Enabled: Reset the password and logoff the managed account or higher.
|
||||
# 3 - Enabled: Reset the password and logoff the managed account
|
||||
# 5 - Enabled: Reset the password and reboot.
|
||||
# Default: 3
|
||||
win11cis_laps_post_auth_actions_reset_password: 3
|
||||
|
||||
# 18.10.9.1.4
|
||||
# win11cis_48_digit_recovery_password_setting is the policy setting allows you to control how BitLocker-protected fixed data
|
||||
# drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker.
|
||||
# In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to
|
||||
# generate a 48-digit recovery password or a 256-bit recovery key.
|
||||
# The recommended state for this setting is: Enabled: Allow 48-digit recovery password or Enabled: Require 48-digit recovery password.
|
||||
# 1 - Enabled: Require 48-digit recovery password
|
||||
# 2 - Enabled: Allow 48-digit recovery password
|
||||
# Default: 2
|
||||
win11cis_48_digit_recovery_password_setting: 2
|
||||
|
||||
# 18.10.9.1.5
|
||||
# win11cis_256bit_recovery_key_setting is theThis policy setting allows you to control how BitLocker-protected fixed data drives
|
||||
# are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker.
|
||||
# In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to
|
||||
# generate a 48-digit recovery password or a 256-bit recovery key.
|
||||
# The recommended state for this setting is: Enabled: Allow 256-bit recovery key or Enabled: Require 256-bit recovery key.
|
||||
# 1 - Enabled: Require 256-bit recovery key
|
||||
# 2 - Enabled: Allow 256-bit recovery key
|
||||
# Default: 2
|
||||
win11cis_256bit_recovery_key_setting: 2
|
||||
|
||||
# 18.10.13.1
|
||||
# win11cis_require_pin_for_pairing is the policy setting controls whether or not a PIN is required for pairing to a wireless display device.
|
||||
# The recommended state for this setting is: Enabled: First Time OR Enabled: Always.
|
||||
@@ -934,56 +1109,56 @@ win11cis_allow_telemetry: 1
|
||||
# Default: 1
|
||||
win11cis_do_download_mode: 1
|
||||
|
||||
# 18.10.26.1.2
|
||||
# 18.10.25.1.2
|
||||
# win11cis_application_max_log_file_size is the setting that specifies the maximum size of the log file in kilobytes. The maximum log file size can be
|
||||
# configured between 1 megabyte (1,024 kilobytes) and 4 terabytes (4,194,240 kilobytes) in kilobyte increments.
|
||||
# The recommended state for this setting is: Enabled: 32,768 or greater
|
||||
win11cis_application_max_log_file_size: 32768
|
||||
|
||||
# 18.10.26.2.2
|
||||
# 18.10.25.2.2
|
||||
# win11cis_security_max_log_file_size is the setting that specifies the maximum size of the log file in kilobytes. The maximum log file size can
|
||||
# be configured between 1 megabyte (1,024 kilobytes) and 4 terabytes (4,194,240 kilobytes) in kilobyte increments.
|
||||
# The recommended state for this setting is: Enabled: 196,608 or greater.
|
||||
win11cis_security_max_log_file_size: 196608
|
||||
|
||||
# 18.10.26.3.2
|
||||
# 18.10.25.3.2
|
||||
# win11cis_setup_max_log_file_size is the setting specifies the maximum size of the log file in kilobytes. The maximum log file size can be
|
||||
# configured between 1 megabyte (1,024 kilobytes) and 4 terabytes (4,194,240 kilobytes) in kilobyte increments.#
|
||||
# The recommended state for this setting is: Enabled: 32,768 or greater.
|
||||
win11cis_setup_max_log_file_size: 32768
|
||||
|
||||
# 18.10.26.4.2
|
||||
# win19cis_system_max_log_file_size is the setting that specifies the maximum size of the log file in kilobytes. The maximum log file size
|
||||
# 18.10.25.4.2
|
||||
# win11cis_system_max_log_file_size is the setting that specifies the maximum size of the log file in kilobytes. The maximum log file size
|
||||
# can be configured between 1 megabyte (1,024 kilobytes) and 4 terabytes (4,194,240 kilobytes) in kilobyte increments.
|
||||
# The recommended state for this setting is: Enabled: 32,768 or greater.
|
||||
win11cis_system_max_log_file_size: 32768
|
||||
|
||||
# 18.10.57.3.10.1
|
||||
# 18.10.56.3.10.1
|
||||
# win11cis_idle_rdp_session_disconnect_time is the setting allows you to specify the maximum amount of time that an active Remote Desktop
|
||||
# Services session can be idle (without user input) before it is automatically disconnected.
|
||||
# The recommended state for this setting is: Enabled: 15 minutes or less, but not Never (0).
|
||||
# Default: 900000
|
||||
win11cis_idle_rdp_session_disconnect_time: 900000
|
||||
|
||||
# 18.10.80.2
|
||||
# 18.10.79.2
|
||||
# win11cis_allow_windows_ink_workspace is the policy setting determines whether Windows Ink items are allowed above the lock screen.
|
||||
# The recommended state for this setting is: Enabled: On, but disallow access above lock OR Enabled: Disabled.
|
||||
# 0 - Enabled: Disabled
|
||||
# 1 - Enabled: On, but disallow access above lock
|
||||
win11cis_allow_windows_ink_workspace: 1
|
||||
|
||||
# 18.10.87.2
|
||||
# 18.10.86.2
|
||||
# win11cis_powershell_transcription_dir is the customized folder settings for storing of powershell transcription files.
|
||||
# If you opt to not specify an output directory, the PowerShell transcripts will be saved to the user’s Documents folder.
|
||||
# Example: C:\PS_Transcription_Location_Ansible
|
||||
# Default: Default - This will save it to the default location
|
||||
win11cis_powershell_transcription_dir: Default
|
||||
|
||||
# 18.10.93.2.1
|
||||
# 18.10.92.2.1
|
||||
# win11cis_au_options is policy setting specifies whether computers in your environment will receive security updates from Windows Update or WSUS.
|
||||
# The recommended state for this setting is: Enabled.
|
||||
# If feasible we suggest using a value of 4 - Auto download and schedule the install
|
||||
# If 4 is not selected control 18.10.93.2.2 will be skipped.
|
||||
# If 4 is not selected control 18.10.92.2.2 will be skipped.
|
||||
# 2 - Notify for download and auto install (Notify before downloading any updates)
|
||||
# 3 - Auto download and notify for install (Download the updates automatically and notify when they are ready to be installed.) (Default setting)
|
||||
# 4 - Auto download and schedule the install (Automatically download updates an install them on the schedule specified below.))
|
||||
@@ -991,15 +1166,8 @@ win11cis_powershell_transcription_dir: Default
|
||||
# Default: 4
|
||||
win11cis_au_options: 4
|
||||
|
||||
# 18.10.93.4.2
|
||||
# 18.10.92.4.2
|
||||
# win11cis_defer_feature_updates_period_in_days is the policy setting determines when Preview Build or Feature Updates are received.
|
||||
# Recommended setting: Enabled: 180 or more days
|
||||
# Default: 180
|
||||
win11cis_defer_feature_updates_period_in_days: 180
|
||||
|
||||
# Section 19 Variables
|
||||
|
||||
# 19.1.3.3
|
||||
# win11cis_screen_saver_timeout is the setting that specifies how much user idle time must elapse before the screen saver is launched.
|
||||
# The recommended state for this setting is: Enabled: 900 seconds or fewer, but not 0.
|
||||
win11cis_screen_saver_timeout: 900
|
||||
|
||||
+7
-7
@@ -1,12 +1,12 @@
|
||||
---
|
||||
galaxy_info:
|
||||
author: "Stephen Williams"
|
||||
author: "MindPoint Group"
|
||||
description: "Ansible Role to Apply The Windows 11 Enterprise CIS Benchmark"
|
||||
company: "MindPoint Group"
|
||||
license: MIT
|
||||
role_name: windows_11_cis
|
||||
namespace: mindpointgroup
|
||||
min_ansible_version: 2.10.1
|
||||
min_ansible_version: 2.14
|
||||
|
||||
galaxy_tags:
|
||||
- system
|
||||
@@ -19,9 +19,9 @@ galaxy_info:
|
||||
- complianceascode
|
||||
- compliance
|
||||
|
||||
collections:
|
||||
- ansible.windows
|
||||
- community.windows
|
||||
- community.general
|
||||
collections:
|
||||
- ansible.windows
|
||||
- community.windows
|
||||
- community.general
|
||||
|
||||
dependencies: []
|
||||
dependencies: []
|
||||
|
||||
+14
-14
@@ -1,12 +1,12 @@
|
||||
---
|
||||
|
||||
- name: Display Banner
|
||||
- name: "Main | Display Banner"
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ lockdown_banner.split('\n') }}"
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: Gather distribution info
|
||||
- name: "Main | Gather distribution info"
|
||||
ansible.builtin.setup:
|
||||
gather_subset: distribution,!all,!min
|
||||
when:
|
||||
@@ -14,7 +14,7 @@
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: Check OS Version & Family
|
||||
- name: "Main | Check OS Version & Family"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- ansible_os_family == 'Windows'
|
||||
@@ -24,76 +24,76 @@
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: Check Ansible Version
|
||||
- name: "Main | Check Ansible Version"
|
||||
ansible.builtin.assert:
|
||||
that: ansible_version.full is version_compare(win11cis_min_ansible_version, '>=')
|
||||
msg: You must use Ansible {{ win11cis_min_ansible_version }} or greater.
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: Include The Preliminary Tasks
|
||||
- name: "Main | Include The Preliminary Tasks"
|
||||
ansible.builtin.include_tasks:
|
||||
file: prelim.yml
|
||||
tags:
|
||||
- always
|
||||
- prelim_tasks
|
||||
|
||||
- name: Include Section 1 Patches
|
||||
- name: "Main | Include Section 1 Patches"
|
||||
ansible.builtin.import_tasks:
|
||||
file: section_1/main.yml
|
||||
when: win11cis_section1
|
||||
tags:
|
||||
- section1
|
||||
|
||||
- name: Include Section 2 Patches
|
||||
- name: "Main | Include Section 2 Patches"
|
||||
ansible.builtin.import_tasks:
|
||||
file: section_2/main.yml
|
||||
when: win11cis_section2
|
||||
tags:
|
||||
- section2
|
||||
|
||||
- name: Include Section 5 Patches
|
||||
- name: "Main | Include Section 5 Patches"
|
||||
ansible.builtin.import_tasks:
|
||||
file: section_5/main.yml
|
||||
when: win11cis_section5
|
||||
tags:
|
||||
- section5
|
||||
|
||||
- name: Include Section 9 Patches
|
||||
- name: "Main | Include Section 9 Patches"
|
||||
ansible.builtin.import_tasks:
|
||||
file: section_9/main.yml
|
||||
when: win11cis_section9
|
||||
tags:
|
||||
- section9
|
||||
|
||||
- name: Include Section 17 Patches
|
||||
- name: "Main | Include Section 17 Patches"
|
||||
ansible.builtin.import_tasks:
|
||||
file: section_17/main.yml
|
||||
when: win11cis_section17
|
||||
tags:
|
||||
- section17
|
||||
|
||||
- name: Include Section 18 Patches
|
||||
- name: "Main | Include Section 18 Patches"
|
||||
ansible.builtin.import_tasks:
|
||||
file: section_18/main.yml
|
||||
when: win11cis_section18
|
||||
tags:
|
||||
- section18
|
||||
|
||||
- name: Include Section 19 Patches
|
||||
- name: "Main | Include Section 19 Patches"
|
||||
ansible.builtin.import_tasks:
|
||||
file: section_19/main.yml
|
||||
when: win11cis_section19
|
||||
tags:
|
||||
- section19
|
||||
|
||||
- name: Run Post Tasks
|
||||
- name: "Main | Run Post Tasks"
|
||||
ansible.builtin.import_tasks:
|
||||
file: post.yml
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: If Warnings found Output count and control IDs affected
|
||||
- name: "Main | If Warnings found Output count and control IDs affected"
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "You have {{ warn_count }} Warning(s) that require investigation(s). Their ID’s are listed below:"
|
||||
|
||||
+28
-11
@@ -6,7 +6,7 @@
|
||||
name: DisplayVersion
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
register: win11cis_displayversion
|
||||
register: discovered_displayversion
|
||||
tags:
|
||||
- always
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
name: CurrentBuild
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
register: win11cis_currentbuild
|
||||
register: discovered_currentbuild
|
||||
tags:
|
||||
- always
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
ansible.windows.win_shell: (Get-CimInstance -ClassName Win32_OperatingSystem).ProductType
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
register: win11cis_tpm_enabled
|
||||
register: discovered_tpm_enabled
|
||||
tags:
|
||||
- always
|
||||
|
||||
@@ -34,8 +34,9 @@
|
||||
# https://github.com/ansible/ansible/blob/905131fc76a07cf89dbc8d33e7a4910da3f10a16/lib/ansible/module_utils/facts/virtual/linux.py#L205
|
||||
- name: PRELIM | Set Fact If Cloud Based System.
|
||||
ansible.builtin.set_fact:
|
||||
win11cis_cloud_based_system: true
|
||||
discovered_cloud_based_system: true
|
||||
when:
|
||||
- ansible_system_vendor == 'Microsoft Corporation'
|
||||
- ansible_virtualization_type == 'Hyper-V' or
|
||||
ansible_virtualization_type == 'hvm' or
|
||||
ansible_virtualization_type == 'kvm'
|
||||
@@ -46,19 +47,35 @@
|
||||
ansible.windows.win_shell: Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All | Select-Object -Property State | ft -hide
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
register: win11cis_hyper_v_installed
|
||||
register: discovered_hyper_v_installed
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: PRELIM | Check For Windows Defender Application Guard Status
|
||||
ansible.windows.win_shell: Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All | Select-Object -Property State | ft -hide
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
register: discovered_wdag_enabled
|
||||
|
||||
- name: PRELIM | Get Windows installation type
|
||||
ansible.windows.win_reg_stat:
|
||||
path: HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion
|
||||
name: InstallationType
|
||||
register: get_windows_installation_type
|
||||
register: discovered_get_windows_installation_type
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: PRELIM | Set Windows installation type
|
||||
ansible.builtin.set_fact:
|
||||
win11cis_windows_installation_type: "{{ get_windows_installation_type.value | default('') }}"
|
||||
discovered_windows_installation_type: "{{ discovered_get_windows_installation_type.value | default('') }}"
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: PRELIM | Set Fact If Domain Joined.
|
||||
ansible.builtin.set_fact:
|
||||
discovered_domain_joined: "{{ ansible_windows_domain_member }}"
|
||||
when:
|
||||
- ansible_windows_domain_member is defined
|
||||
tags:
|
||||
- always
|
||||
|
||||
@@ -73,11 +90,11 @@
|
||||
ansible.windows.win_shell: Get-CimInstance -Class Win32_UserAccount -Filter "SID LIKE 'S-1-5-%'" | ForEach-Object { $_.Name + " " + $_.SID }
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
register: all_users
|
||||
register: discovered_all_users
|
||||
|
||||
- name: PRELIM | Create Results List Fact For Username And SIDs
|
||||
ansible.builtin.set_fact:
|
||||
username_and_sid_results_list: "{{ all_users.stdout_lines | map('split', ' ') | list }}"
|
||||
username_and_sid_results_list: "{{ discovered_all_users.stdout_lines | map('split', ' ') | list }}"
|
||||
|
||||
- name: PRELIM | Load All User Hives From Username And SIDs List
|
||||
ansible.windows.win_shell: REG LOAD HKU\{{ item.1 }} C:\Users\{{ item.0 }}\NTUSER.DAT
|
||||
@@ -89,11 +106,11 @@
|
||||
ansible.windows.win_shell: (Get-ChildItem "REGISTRY::HKEY_USERS").name | Where-Object {$_ -notlike "*_classes"}
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
register: current_users_loaded_hku
|
||||
register: discovered_current_users_loaded_hku
|
||||
|
||||
- name: PRELIM | Create List Fact For Current Users SIDs from HKEY_USERS.
|
||||
ansible.builtin.set_fact:
|
||||
hku_loaded_list: "{{ current_users_loaded_hku.stdout | regex_replace('HKEY_USERS\\\\','') | split }}"
|
||||
discovered_hku_loaded_list: "{{ discovered_current_users_loaded_hku.stdout | regex_replace('HKEY_USERS\\\\','') | split }}"
|
||||
when: win11cis_section19
|
||||
tags:
|
||||
- always
|
||||
|
||||
@@ -2,58 +2,35 @@
|
||||
|
||||
- name: "1.1.1 | PATCH | Ensure Enforce password history is set to 24 or more passwords."
|
||||
block:
|
||||
- name: "1.1.1 | AUDIT | Ensure Enforce password history is set to 24 or more passwords. | Check for more then 24 saved passwords warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid number of maximum passwords set in win11cis_max_passwords_saved, please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when:
|
||||
- win11cis_max_passwords_saved > 24 or
|
||||
win11cis_max_passwords_saved <= 23
|
||||
|
||||
- name: "1.1.1 | AUDIT | Ensure Enforce password history is set to 24 or more passwords. | Set warning count"
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '1.1.1'
|
||||
when:
|
||||
- win11cis_max_passwords_saved > 24 or
|
||||
win11cis_max_passwords_saved <= 23
|
||||
|
||||
- name: "1.1.1 | PATCH | Ensure Enforce password history is set to 24 or more passwords. | Set Variable."
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
key: PasswordHistorySize
|
||||
value: "{{ win11cis_max_passwords_saved }}"
|
||||
when: win11cis_max_passwords_saved == 24
|
||||
when:
|
||||
- win11cis_rule_1_1_1
|
||||
|
||||
- name: "1.1.1 | AUDIT | Ensure Enforce password history is set to 24 or more passwords. | Check for more then 24 saved passwords warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid number of maximum passwords set in win11cis_max_passwords_saved, please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_max_passwords_saved > 24 or win11cis_max_passwords_saved <= 23
|
||||
|
||||
- name: "1.1.1 | AUDIT | Ensure Enforce password history is set to 24 or more passwords. | Set warning count"
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '1.1.1'
|
||||
when: win11cis_max_passwords_saved > 24 or win11cis_max_passwords_saved <= 23
|
||||
when: win11cis_rule_1_1_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.1.1
|
||||
|
||||
- name: "1.1.2 | PATCH | Ensure Maximum password age is set to 365 or fewer days but not 0."
|
||||
block:
|
||||
- name: "1.1.2 | AUDIT | Ensure Maximum password age is set to 365 or fewer days but not 0. | Warning check for maximum password age time."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid age set for win11cis_maximum_password_age, please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when:
|
||||
- win11cis_maximum_password_age > 365 or
|
||||
win11cis_maximum_password_age == 0
|
||||
|
||||
- name: "1.1.2 | AUDIT | Ensure Maximum password age is set to 365 or fewer days but not 0. | Set warning count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '1.1.2'
|
||||
when:
|
||||
- win11cis_maximum_password_age > 365 or
|
||||
win11cis_maximum_password_age == 0
|
||||
|
||||
- name: "1.1.2 | PATCH | Ensure Maximum password age is set to 365 or fewer days but not 0. | Set Variable."
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
@@ -62,52 +39,65 @@
|
||||
when:
|
||||
- win11cis_maximum_password_age <= 365
|
||||
- win11cis_maximum_password_age > 0
|
||||
when:
|
||||
- win11cis_rule_1_1_2
|
||||
|
||||
- name: "1.1.2 | AUDIT | Ensure Maximum password age is set to 365 or fewer days but not 0. | Warning check for maximum password age time."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid age set for win11cis_maximum_password_age, please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_maximum_password_age > 365 or win11cis_maximum_password_age == 0
|
||||
|
||||
- name: "1.1.2 | AUDIT | Ensure Maximum password age is set to 365 or fewer days but not 0. | Set warning count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '1.1.2'
|
||||
when: win11cis_maximum_password_age > 365 or win11cis_maximum_password_age == 0
|
||||
when: win11cis_rule_1_1_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.1.2
|
||||
|
||||
- name: "1.1.3 | PATCH | Ensure Minimum password age is set to 1 or more days."
|
||||
block:
|
||||
- name: "1.1.3 | PATCH | Ensure Minimum password age is set to 1 or more days. | Set Variable."
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
key: MinimumPasswordAge
|
||||
value: "{{ win11cis_minimum_password_age }}"
|
||||
when: win11cis_minimum_password_age <= 999 or win11cis_minimum_password_age > 0
|
||||
|
||||
- name: "1.1.3 | AUDIT | Ensure Minimum password age is set to 1 or more days. | Warning check for minimim password age."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid age set for win11cis_minimum_password_age, please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when:
|
||||
- win11cis_minimum_password_age > 999 or
|
||||
win11cis_minimum_password_age == 0
|
||||
when: win11cis_minimum_password_age > 999 or win11cis_minimum_password_age == 0
|
||||
|
||||
- name: "1.1.3 | AUDIT | Ensure Minimum password age is set to 1 or more days. | Set warning count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '1.1.3'
|
||||
when:
|
||||
- win11cis_minimum_password_age > 999 or
|
||||
win11cis_minimum_password_age == 0
|
||||
|
||||
- name: "1.1.3 | PATCH | Ensure Minimum password age is set to 1 or more days. | Set Variable."
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
key: MinimumPasswordAge
|
||||
value: "{{ win11cis_minimum_password_age }}"
|
||||
when:
|
||||
- win11cis_minimum_password_age <= 999 or
|
||||
win11cis_minimum_password_age > 0
|
||||
when:
|
||||
- win11cis_rule_1_1_3
|
||||
when: win11cis_minimum_password_age > 999 or win11cis_minimum_password_age == 0
|
||||
when: win11cis_rule_1_1_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.1.3
|
||||
|
||||
- name: "1.1.4 | PATCH | Ensure Minimum password length is set to 14 or more characters."
|
||||
block:
|
||||
- name: "1.1.4 | PATCH | Ensure Minimum password length is set to 14 or more characters. | Set Variable."
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
key: MinimumPasswordLength
|
||||
value: "{{ win11cis_minimum_password_length }}"
|
||||
when: win11cis_minimum_password_length >= 14
|
||||
|
||||
- name: "1.1.4 | AUDIT | Ensure Minimum password length is set to 14 or more characters | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
@@ -121,19 +111,11 @@
|
||||
vars:
|
||||
warn_control_id: '1.1.4'
|
||||
when: win11cis_minimum_password_length < 14
|
||||
|
||||
- name: "1.1.4 | PATCH | Ensure Minimum password length is set to 14 or more characters. | Set Variable."
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
key: MinimumPasswordLength
|
||||
value: "{{ win11cis_minimum_password_length }}"
|
||||
when: win11cis_minimum_password_length >= 14
|
||||
when:
|
||||
- win11cis_rule_1_1_4
|
||||
when: win11cis_rule_1_1_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.1.4
|
||||
|
||||
- name: "1.1.5 | PATCH | Ensure Password must meet complexity requirements is set to Enabled."
|
||||
@@ -141,12 +123,11 @@
|
||||
section: System Access
|
||||
key: PasswordComplexity
|
||||
value: 1
|
||||
when:
|
||||
- win11cis_rule_1_1_5
|
||||
when: win11cis_rule_1_1_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.1.5
|
||||
|
||||
- name: "1.1.6 | PATCH | Ensure Relax minimum password length limits is set to Enabled."
|
||||
@@ -155,23 +136,21 @@
|
||||
name: RelaxMinimumPasswordLengthLimits
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_1_1_6
|
||||
when: win11cis_rule_1_1_6
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.1.6
|
||||
|
||||
- name: "1.1.7 | PATCH | Ensure Store passwords using reversible encryption is set to Disabled"
|
||||
- name: "1.1.7 | PATCH | Ensure Store passwords using reversible encryption is set to Disabled."
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
key: ClearTextPassword
|
||||
value: 0
|
||||
when:
|
||||
- win11cis_rule_1_1_7
|
||||
when: win11cis_rule_1_1_7
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.1.7
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
1.2.4 | PATCH | Ensure Reset account lockout counter after is set to 15 or more minutes."
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_1.2_cloud_lockout_order.yml
|
||||
when:
|
||||
- win11cis_cloud_based_system
|
||||
when: discovered_cloud_based_system
|
||||
tags:
|
||||
- section01_cloud_lockout_order
|
||||
|
||||
@@ -18,24 +17,6 @@
|
||||
# CONTROL 1.2.2, CONTROL 1.2.4, CONTROL 1.2.1
|
||||
- name: "1.2.2 | PATCH | Ensure Account lockout threshold is set to 5 or fewer invalid logon attempt(s), but not 0."
|
||||
block:
|
||||
- name: "1.2.2 | AUDIT | Ensure Account lockout threshold is set to 5 or fewer invalid logon attempt(s), but not 0. | Verify Variable Not 0 or more then 5 warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid number of attempts set for win11cis_bad_login_lockout_count. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when:
|
||||
- win11cis_bad_login_lockout_count > 5 or
|
||||
win11cis_bad_login_lockout_count == 0
|
||||
|
||||
- name: "1.2.2 | AUDIT | Ensure Account lockout threshold is set to 5 or fewer invalid logon attempt(s), but not 0. | Set warning count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '1.2.2'
|
||||
when:
|
||||
- win11cis_bad_login_lockout_count > 5 or
|
||||
win11cis_bad_login_lockout_count == 0
|
||||
|
||||
- name: "1.2.2 | PATCH | Ensure Account lockout threshold is set to 5 or fewer invalid logon attempt(s), but not 0. | Set Variable."
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
@@ -44,35 +25,31 @@
|
||||
when:
|
||||
- win11cis_bad_login_lockout_count <= 5
|
||||
- win11cis_bad_login_lockout_count > 0
|
||||
|
||||
- name: "1.2.2 | AUDIT | Ensure Account lockout threshold is set to 5 or fewer invalid logon attempt(s), but not 0. | Verify Variable Not 0 or more then 5 warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid number of attempts set for win11cis_bad_login_lockout_count. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_bad_login_lockout_count > 5 or win11cis_bad_login_lockout_count == 0
|
||||
|
||||
- name: "1.2.2 | AUDIT | Ensure Account lockout threshold is set to 5 or fewer invalid logon attempt(s), but not 0. | Set warning count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '1.2.2'
|
||||
when: win11cis_bad_login_lockout_count > 5 or win11cis_bad_login_lockout_count == 0
|
||||
when:
|
||||
- win11cis_rule_1_2_2
|
||||
- not win11cis_cloud_based_system
|
||||
- not discovered_cloud_based_system
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.2.2
|
||||
|
||||
- name: "1.2.4 | PATCH | Ensure Reset account lockout counter after is set to 15 or more minutes."
|
||||
block:
|
||||
- name: "1.2.4 | PATCH | Ensure Reset account lockout counter after is set to 15 or more minutes. | Verify variable set to 15 or more minutes warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid number of minutes set for win11cis_account_lockout_counter_reset. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when:
|
||||
- win11cis_account_lockout_counter_reset > win11cis_account_lockout_duration or
|
||||
win11cis_account_lockout_counter_reset < 15
|
||||
|
||||
- name: "1.2.4 | PATCH | Ensure Reset account lockout counter after is set to 15 or more minutes. | Set warning count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '1.2.4'
|
||||
when:
|
||||
- win11cis_account_lockout_counter_reset > win11cis_account_lockout_duration or
|
||||
win11cis_account_lockout_counter_reset < 15
|
||||
|
||||
- name: "1.2.4 | PATCH | Ensure Reset account lockout counter after is set to 15 or more minutes. | Set Variable."
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
@@ -81,18 +58,39 @@
|
||||
when:
|
||||
- win11cis_account_lockout_counter_reset >= 15
|
||||
- win11cis_account_lockout_counter_reset <= win11cis_account_lockout_duration
|
||||
|
||||
- name: "1.2.4 | PATCH | Ensure Reset account lockout counter after is set to 15 or more minutes. | Verify variable set to 15 or more minutes warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid number of minutes set for win11cis_account_lockout_counter_reset. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_account_lockout_counter_reset > win11cis_account_lockout_duration or win11cis_account_lockout_counter_reset < 15
|
||||
|
||||
- name: "1.2.4 | PATCH | Ensure Reset account lockout counter after is set to 15 or more minutes. | Set warning count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '1.2.4'
|
||||
when: win11cis_account_lockout_counter_reset > win11cis_account_lockout_duration or win11cis_account_lockout_counter_reset < 15
|
||||
when:
|
||||
- win11cis_rule_1_2_4
|
||||
- not win11cis_cloud_based_system
|
||||
- not discovered_cloud_based_system
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.2.4
|
||||
|
||||
# Speelman | added because of this error "Failed to import secedit.ini file from C:\\Users\\vagrant\\AppData\\Local\\Temp\\tmp81F3.tmp
|
||||
- name: "1.2.1 | PATCH | Ensure Account lockout duration is set to 15 or more minutes."
|
||||
block:
|
||||
- name: "1.2.1 | PATCH | Ensure Account lockout duration is set to 15 or more minutes. | Set Variable"
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
key: LockoutDuration
|
||||
value: "{{ win11cis_account_lockout_duration }}"
|
||||
when: win11cis_account_lockout_duration >= 15
|
||||
|
||||
- name: "1.2.1 | AUDIT | Ensure Account lockout duration is set to 15 or more minutes. | Verify variable set to 15 or more minutes warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
@@ -106,31 +104,24 @@
|
||||
vars:
|
||||
warn_control_id: '1.2.1'
|
||||
when: win11cis_account_lockout_duration < 15
|
||||
|
||||
- name: "1.2.1 | PATCH | Ensure Account lockout duration is set to 15 or more minutes. | Set Variable"
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
key: LockoutDuration
|
||||
value: "{{ win11cis_account_lockout_duration }}"
|
||||
when: win11cis_account_lockout_duration >= 15
|
||||
when:
|
||||
- win11cis_rule_1_2_1
|
||||
- not win11cis_cloud_based_system
|
||||
- not discovered_cloud_based_system
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.2.1
|
||||
|
||||
- name: "1.2.3 | AUDIT | Ensure Allow Administrator account lockout is set to Enabled."
|
||||
- name: "1.2.3 | PATCH | Ensure Allow Administrator account lockout is set to Enabled."
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
key: AllowAdministratorLockout
|
||||
value: 1
|
||||
when:
|
||||
- win11cis_rule_1_2_3
|
||||
when: win11cis_rule_1_2_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- manual
|
||||
- audit
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.2.3
|
||||
- account_policies
|
||||
|
||||
@@ -2,24 +2,6 @@
|
||||
|
||||
- name: "1.2.2 | PATCH | Ensure Account lockout threshold is set to 5 or fewer invalid logon attempt(s), but not 0."
|
||||
block:
|
||||
- name: "1.2.2 | AUDIT | Ensure Account lockout threshold is set to 5 or fewer invalid logon attempt(s), but not 0. | Verify Variable Not 0 or more then 5 warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid number of attempts set for win11cis_bad_login_lockout_count. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when:
|
||||
- win11cis_bad_login_lockout_count > 5 or
|
||||
win11cis_bad_login_lockout_count == 0
|
||||
|
||||
- name: "1.2.2 | AUDIT | Ensure Account lockout threshold is set to 5 or fewer invalid logon attempt(s), but not 0. | Set warning count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '1.2.2'
|
||||
when:
|
||||
- win11cis_bad_login_lockout_count > 5 or
|
||||
win11cis_bad_login_lockout_count == 0
|
||||
|
||||
- name: "1.2.2 | PATCH | Ensure Account lockout threshold is set to 5 or fewer invalid logon attempt(s), but not 0. | Set Variable."
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
@@ -28,17 +10,37 @@
|
||||
when:
|
||||
- win11cis_bad_login_lockout_count <= 5
|
||||
- win11cis_bad_login_lockout_count > 0
|
||||
when:
|
||||
- win11cis_rule_1_2_2
|
||||
|
||||
- name: "1.2.2 | AUDIT | Ensure Account lockout threshold is set to 5 or fewer invalid logon attempt(s), but not 0. | Verify Variable Not 0 or more then 5 warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid number of attempts set for win11cis_bad_login_lockout_count. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_bad_login_lockout_count > 5 or win11cis_bad_login_lockout_count == 0
|
||||
|
||||
- name: "1.2.2 | AUDIT | Ensure Account lockout threshold is set to 5 or fewer invalid logon attempt(s), but not 0. | Set warning count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '1.2.2'
|
||||
when: win11cis_bad_login_lockout_count > 5 or win11cis_bad_login_lockout_count == 0
|
||||
when: win11cis_rule_1_2_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.2.2
|
||||
|
||||
# Speelman | added because of this error "Failed to import secedit.ini file from C:\\Users\\vagrant\\AppData\\Local\\Temp\\tmp81F3.tmp
|
||||
- name: "1.2.1 | PATCH | Ensure Account lockout duration is set to 15 or more minutes."
|
||||
block:
|
||||
- name: "1.2.1 | PATCH | Ensure Account lockout duration is set to 15 or more minutes. | Set Variable"
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
key: LockoutDuration
|
||||
value: "{{ win11cis_account_lockout_duration }}"
|
||||
when: win11cis_account_lockout_duration >= 15
|
||||
|
||||
- name: "1.2.1 | AUDIT | Ensure Account lockout duration is set to 15 or more minutes. | Verify variable set to 15 or more minutes warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
@@ -52,41 +54,15 @@
|
||||
vars:
|
||||
warn_control_id: '1.2.1'
|
||||
when: win11cis_account_lockout_duration < 15
|
||||
|
||||
- name: "1.2.1 | PATCH | Ensure Account lockout duration is set to 15 or more minutes. | Set Variable"
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
key: LockoutDuration
|
||||
value: "{{ win11cis_account_lockout_duration }}"
|
||||
when: win11cis_account_lockout_duration >= 15
|
||||
when:
|
||||
- win11cis_rule_1_2_1
|
||||
when: win11cis_rule_1_2_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.2.1
|
||||
|
||||
- name: "1.2.4 | PATCH | Ensure Reset account lockout counter after is set to 15 or more minutes."
|
||||
block:
|
||||
- name: "1.2.4 | PATCH | Ensure Reset account lockout counter after is set to 15 or more minutes. | Verify variable set to 15 or more minutes warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid number of minutes set for win11cis_account_lockout_counter_reset. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when:
|
||||
- win11cis_account_lockout_counter_reset > win11cis_account_lockout_duration or
|
||||
win11cis_account_lockout_counter_reset < 15
|
||||
|
||||
- name: "1.2.4 | PATCH | Ensure Reset account lockout counter after is set to 15 or more minutes. | Set warning count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '1.2.4'
|
||||
when:
|
||||
- win11cis_account_lockout_counter_reset > win11cis_account_lockout_duration or
|
||||
win11cis_account_lockout_counter_reset < 15
|
||||
|
||||
- name: "1.2.4 | PATCH | Ensure Reset account lockout counter after is set to 15 or more minutes. | Set Variable."
|
||||
community.windows.win_security_policy:
|
||||
section: System Access
|
||||
@@ -95,10 +71,24 @@
|
||||
when:
|
||||
- win11cis_account_lockout_counter_reset >= 15
|
||||
- win11cis_account_lockout_counter_reset <= win11cis_account_lockout_duration
|
||||
|
||||
- name: "1.2.4 | PATCH | Ensure Reset account lockout counter after is set to 15 or more minutes. | Verify variable set to 15 or more minutes warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid number of minutes set for win11cis_account_lockout_counter_reset. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_account_lockout_counter_reset > win11cis_account_lockout_duration or win11cis_account_lockout_counter_reset < 15
|
||||
|
||||
- name: "1.2.4 | PATCH | Ensure Reset account lockout counter after is set to 15 or more minutes. | Set warning count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '1.2.4'
|
||||
when: win11cis_account_lockout_counter_reset > win11cis_account_lockout_duration or win11cis_account_lockout_counter_reset < 15
|
||||
when:
|
||||
- win11cis_rule_1_2_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_1.2.4
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_1.1.x.yml
|
||||
tags:
|
||||
- password-policy
|
||||
- password
|
||||
- account_policies
|
||||
- password_policy
|
||||
|
||||
- name: "SECTION | 1.2 | Account Lockout Policy"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_1.2.x.yml
|
||||
tags:
|
||||
- account-policies
|
||||
- account-lockout-policy
|
||||
- account_policies
|
||||
- account_lockout_policy
|
||||
|
||||
@@ -6,21 +6,19 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Credential Validation" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_1_1_audit
|
||||
register: discovered_17_1_1_audit
|
||||
|
||||
- name: "17.1.1 | PATCH | Ensure Audit Credential Validation is set to Success and Failure | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Credential Validation" /success:enable
|
||||
when: "'Success' not in rule_17_1_1_audit.stdout"
|
||||
when: "'Success' not in discovered_17_1_1_audit.stdout"
|
||||
|
||||
- name: "17.1.1 | PATCH | Ensure Audit Credential Validation is set to Success and Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Credential Validation" /failure:enable
|
||||
when: "'Failure' not in rule_17_1_1_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_1_1
|
||||
when: "'Failure' not in discovered_17_1_1_audit.stdout"
|
||||
when: win11cis_rule_17_1_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.1.1
|
||||
- automated
|
||||
- patch
|
||||
- credential-validation
|
||||
- automated
|
||||
- rule_17.1.1
|
||||
- credential_validation
|
||||
|
||||
@@ -6,24 +6,22 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Application Group Management" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_2_1_audit
|
||||
register: discovered_17_2_1_audit
|
||||
|
||||
- name: "17.2.1 | PATCH | Ensure Audit Application Group Management is set to Success and Failure | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Application Group Management" /success:enable
|
||||
when: "'Success' not in rule_17_2_1_audit.stdout"
|
||||
when: "'Success' not in discovered_17_2_1_audit.stdout"
|
||||
|
||||
- name: "17.2.1 | PATCH | Ensure Audit Application Group Management is set to Success and Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Application Group Management" /failure:enable
|
||||
when: "'Failure' not in rule_17_2_1_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_2_1
|
||||
when: "'Failure' not in discovered_17_2_1_audit.stdout"
|
||||
when: win11cis_rule_17_2_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.2.1
|
||||
- automated
|
||||
- patch
|
||||
- application-group-management
|
||||
- automated
|
||||
- rule_17.2.1
|
||||
- application_group_management
|
||||
|
||||
- name: "17.2.2 | PATCH | Ensure Audit Security Group Management is set to include Success"
|
||||
block:
|
||||
@@ -31,20 +29,18 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Security Group Management" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_2_2_audit
|
||||
register: discovered_17_2_2_audit
|
||||
|
||||
- name: "17.2.2 | PATCH | Ensure Audit Security Group Management is set to include Success | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Security Group Management" /success:enable
|
||||
when: "'Success' not in rule_17_2_2_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_2_2
|
||||
when: "'Success' not in discovered_17_2_2_audit.stdout"
|
||||
when: win11cis_rule_17_2_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.2.2
|
||||
- automated
|
||||
- patch
|
||||
- security-group-management
|
||||
- automated
|
||||
- rule_17.2.2
|
||||
- security_group_management
|
||||
|
||||
- name: "17.2.3 | PATCH | Ensure Audit User Account Management is set to Success and Failure"
|
||||
block:
|
||||
@@ -52,21 +48,19 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"User Account Management" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_2_3_audit
|
||||
register: discovered_17_2_3_audit
|
||||
|
||||
- name: "17.2.6 | PATCH | Ensure Audit User Account Management is set to Success and Failure | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"User Account Management" /success:enable
|
||||
when: "'Success' not in rule_17_2_3_audit.stdout"
|
||||
when: "'Success' not in discovered_17_2_3_audit.stdout"
|
||||
|
||||
- name: "17.2.6 | PATCH | Ensure Audit User Account Management is set to Success and Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"User Account Management" /failure:enable
|
||||
when: "'Failure' not in rule_17_2_3_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_2_3
|
||||
when: "'Failure' not in discovered_17_2_3_audit.stdout"
|
||||
when: win11cis_rule_17_2_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.2.3
|
||||
- automated
|
||||
- patch
|
||||
- user-account-management
|
||||
- automated
|
||||
- rule_17.2.3
|
||||
- user_account_management
|
||||
|
||||
@@ -6,20 +6,18 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Plug and Play Events" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_3_1_audit
|
||||
register: discovered_17_3_1_audit
|
||||
|
||||
- name: "17.3.1 | PATCH | Ensure Audit PNP Activity is set to include Success | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Plug and Play Events" /success:enable
|
||||
when: "'Success' not in rule_17_3_1_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_3_1
|
||||
when: "'Success' not in discovered_17_3_1_audit.stdout"
|
||||
when: win11cis_rule_17_3_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.3.1
|
||||
- automated
|
||||
- patch
|
||||
- pnp-activity
|
||||
- automated
|
||||
- rule_17.3.1
|
||||
- pnp_activity
|
||||
|
||||
- name: "17.3.2 | PATCH | Ensure Audit Process Creation is set to include Success"
|
||||
block:
|
||||
@@ -27,17 +25,15 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Process Creation" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_3_2_audit
|
||||
register: diccovered_17_3_2_audit
|
||||
|
||||
- name: "17.3.2 | PATCH | Ensure Audit Process Creation is set to include Success | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Process Creation" /success:enable
|
||||
when: "'Success' not in rule_17_3_2_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_3_2
|
||||
when: "'Success' not in diccovered_17_3_2_audit.stdout"
|
||||
when: win11cis_rule_17_3_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.3.2
|
||||
- automated
|
||||
- patch
|
||||
- audit-process-creation
|
||||
- automated
|
||||
- rule_17.3.2
|
||||
- audit_process_creation
|
||||
|
||||
@@ -6,20 +6,18 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Account Lockout" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_5_1_audit
|
||||
register: discovered_17_5_1_audit
|
||||
|
||||
- name: "17.5.1 | PATCH | Ensure Audit Account Lockout is set to include Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Account Lockout" /failure:enable
|
||||
when: "'Failure' not in rule_17_5_1_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_5_1
|
||||
when: "'Failure' not in discovered_17_5_1_audit.stdout"
|
||||
when: win11cis_rule_17_5_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.5.1
|
||||
- automated
|
||||
- patch
|
||||
- audit-account-lockout
|
||||
- automated
|
||||
- rule_17.5.1
|
||||
- audit_account_lockout
|
||||
|
||||
- name: "17.5.2 | PATCH | Ensure Audit Group Membership is set to include Success"
|
||||
block:
|
||||
@@ -27,20 +25,18 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Group Membership" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_5_2_audit
|
||||
register: discovered_17_5_2_audit
|
||||
|
||||
- name: "17.5.2 | PATCH | Ensure Audit Group Membership is set to include Success | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Group Membership" /success:enable
|
||||
when: "'Success' not in rule_17_5_2_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_5_2
|
||||
when: "'Success' not in discovered_17_5_2_audit.stdout"
|
||||
when: win11cis_rule_17_5_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.5.2
|
||||
- automated
|
||||
- patch
|
||||
- audit-group-membership
|
||||
- automated
|
||||
- rule_17.5.2
|
||||
- audit_group_membership
|
||||
|
||||
- name: "17.5.3 | PATCH | Ensure Audit Logoff is set to include Success"
|
||||
block:
|
||||
@@ -48,20 +44,18 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Logoff" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_5_3_audit
|
||||
register: discovered_7_5_3_audit
|
||||
|
||||
- name: "17.5.3 | PATCH | Ensure Audit Logoff is set to include Success | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Logoff" /success:enable
|
||||
when: "'Success' not in rule_17_5_3_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_5_3
|
||||
when: "'Success' not in discovered_7_5_3_audit.stdout"
|
||||
when: win11cis_rule_17_5_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.5.3
|
||||
- automated
|
||||
- patch
|
||||
- audit-logoff
|
||||
- automated
|
||||
- rule_17.5.3
|
||||
- audit_logoff
|
||||
|
||||
- name: "17.5.4 | PATCH | Ensure Audit Logon is set to Success and Failure"
|
||||
block:
|
||||
@@ -69,24 +63,22 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Logon" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_5_4_audit
|
||||
register: discovered_17_5_4_audit
|
||||
|
||||
- name: "17.5.4 | PATCH | Ensure Audit Logon is set to Success and Failure | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Logon" /success:enable
|
||||
when: "'Success' not in rule_17_5_4_audit.stdout"
|
||||
when: "'Success' not in discovered_17_5_4_audit.stdout"
|
||||
|
||||
- name: "17.5.4 | PATCH | Ensure Audit Logon is set to Success and Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Logon" /failure:enable
|
||||
when: "'Failure' not in rule_17_5_4_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_5_4
|
||||
when: "'Failure' not in discovered_17_5_4_audit.stdout"
|
||||
when: win11cis_rule_17_5_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.5.4
|
||||
- automated
|
||||
- patch
|
||||
- audit-logon
|
||||
- automated
|
||||
- rule_17.5.4
|
||||
- audit_logon
|
||||
|
||||
- name: "17.5.5 | PATCH | Ensure Audit Other LogonLogoff Events is set to Success and Failure"
|
||||
block:
|
||||
@@ -94,24 +86,22 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Other Logon/Logoff Events" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_5_5_audit
|
||||
register: discovered_17_5_5_audit
|
||||
|
||||
- name: "17.5.5 | PATCH | Ensure Audit Other LogonLogoff Events is set to Success and Failure | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Other Logon/Logoff Events" /success:enable
|
||||
when: "'Success' not in rule_17_5_5_audit.stdout"
|
||||
when: "'Success' not in discovered_17_5_5_audit.stdout"
|
||||
|
||||
- name: "17.5.5 | PATCH | Ensure Audit Other LogonLogoff Events is set to Success and Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Other Logon/Logoff Events" /failure:enable
|
||||
when: "'Failure' not in rule_17_5_5_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_5_5
|
||||
when: "'Failure' not in discovered_17_5_5_audit.stdout"
|
||||
when: win11cis_rule_17_5_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.5.5
|
||||
- automated
|
||||
- patch
|
||||
- other-logon-logoff
|
||||
- automated
|
||||
- rule_17.5.5
|
||||
- other_logon_logoff
|
||||
|
||||
- name: "17.5.6 | PATCH | Ensure Audit Special Logon is set to include Success"
|
||||
block:
|
||||
@@ -119,17 +109,15 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Special Logon" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_5_6_audit
|
||||
register: discovered_17_5_6_audit
|
||||
|
||||
- name: "17.5.6 | PATCH | Ensure Audit Special Logon is set to include Success | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Special Logon" /success:enable
|
||||
when: "'Success' not in rule_17_5_6_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_5_6
|
||||
when: "'Success' not in discovered_17_5_6_audit.stdout"
|
||||
when: win11cis_rule_17_5_6
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.5.6
|
||||
- automated
|
||||
- patch
|
||||
- audit-special-logon
|
||||
- automated
|
||||
- rule_17.5.6
|
||||
- audit_special_logon
|
||||
|
||||
@@ -6,20 +6,18 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Detailed File Share" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_6_1_audit
|
||||
register: discovered_17_6_1_audit
|
||||
|
||||
- name: "17.6.1 | PATCH | Ensure Audit Detailed File Share is set to include Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Detailed File Share" /failure:enable
|
||||
when: "'Failure' not in rule_17_6_1_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_6_1
|
||||
when: "'Failure' not in discovered_17_6_1_audit.stdout"
|
||||
when: win11cis_rule_17_6_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.6.1
|
||||
- automated
|
||||
- patch
|
||||
- detailed-file-share
|
||||
- automated
|
||||
- rule_17.6.1
|
||||
- detailed_file_share
|
||||
|
||||
- name: "17.6.2 | PATCH | Ensure Audit File Share is set to Success and Failure"
|
||||
block:
|
||||
@@ -27,31 +25,34 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"File Share" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_6_2_audit
|
||||
register: discovered_17_6_2_audit
|
||||
|
||||
- name: "17.6.2 | PATCH | Ensure Audit File Share is set to Success and Failure | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"File Share" /success:enable
|
||||
when: "'Success' not in rule_17_6_2_audit.stdout"
|
||||
when: "'Success' not in discovered_17_6_2_audit.stdout"
|
||||
|
||||
- name: "17.6.2 | PATCH | Ensure Audit File Share is set to Success and Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"File Share" /failure:enable
|
||||
when: "'Failure' not in rule_17_6_2_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_6_2
|
||||
when: "'Failure' not in discovered_17_6_2_audit.stdout"
|
||||
when: win11cis_rule_17_6_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.6.2
|
||||
- automated
|
||||
- patch
|
||||
- audit-file-share
|
||||
- automated
|
||||
- rule_17.6.2
|
||||
- audit_file_share
|
||||
|
||||
- name: "17.6.3 | PATCH | Ensure Audit Other Object Access Events is set to Success and Failure"
|
||||
community.windows.win_audit_policy_system:
|
||||
subcategory: Other Object Access Events
|
||||
audit_type: success, failure
|
||||
when:
|
||||
- win11cis_rule_17_6_3
|
||||
when: win11cis_rule_17_6_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_17.6.3
|
||||
- object_access
|
||||
|
||||
- name: "17.6.4 | PATCH | Ensure Audit Removable Storage is set to Success and Failure"
|
||||
block:
|
||||
@@ -59,21 +60,19 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Removable Storage" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_6_4_audit
|
||||
register: discovered_17_6_4_audit
|
||||
|
||||
- name: "17.6.4 | PATCH | Ensure Audit Removable Storage is set to Success and Failure | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Removable Storage" /success:enable
|
||||
when: "'Success' not in rule_17_6_4_audit.stdout"
|
||||
when: "'Success' not in discovered_17_6_4_audit.stdout"
|
||||
|
||||
- name: "17.6.4 | PATCH | Ensure Audit Removable Storage is set to Success and Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Removable Storage" /failure:enable
|
||||
when: "'Failure' not in rule_17_6_4_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_6_4
|
||||
when: "'Failure' not in discovered_17_6_4_audit.stdout"
|
||||
when: win11cis_rule_17_6_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.6.4
|
||||
- automated
|
||||
- patch
|
||||
- audit-removable-storage
|
||||
- automated
|
||||
- rule_17.6.4
|
||||
- audit_removable_storage
|
||||
|
||||
@@ -6,20 +6,18 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Audit Policy Change" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_7_1_audit
|
||||
register: discovered_17_7_1_audit
|
||||
|
||||
- name: "17.7.1 | PATCH | Ensure Audit Audit Policy Change is set to include Success | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Audit Policy Change" /success:enable
|
||||
when: "'Success' not in rule_17_7_1_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_7_1
|
||||
when: "'Success' not in discovered_17_7_1_audit.stdout"
|
||||
when: win11cis_rule_17_7_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.7.1
|
||||
- automated
|
||||
- patch
|
||||
- audit-policy-change
|
||||
- automated
|
||||
- rule_17.7.1
|
||||
- audit_policy_change
|
||||
|
||||
- name: "17.7.2 | PATCH | Ensure Audit Authentication Policy Change is set to include Success"
|
||||
block:
|
||||
@@ -27,20 +25,18 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Authentication Policy Change" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_7_2_audit
|
||||
register: discovered_17_7_2_audit
|
||||
|
||||
- name: "17.7.2 | PATCH | Ensure Audit Authentication Policy Change is set to include Success | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Authentication Policy Change" /success:enable
|
||||
when: "'Success' not in rule_17_7_2_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_7_2
|
||||
when: "'Success' not in discovered_17_7_2_audit.stdout"
|
||||
when: win11cis_rule_17_7_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.7.2
|
||||
- automated
|
||||
- patch
|
||||
- audit-authentication-policy-change
|
||||
- automated
|
||||
- rule_17.7.2
|
||||
- audit_authentication_policy_change
|
||||
|
||||
- name: "17.7.3 | PATCH | Ensure Audit Authorization Policy Change is set to include Success"
|
||||
block:
|
||||
@@ -48,20 +44,18 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Authorization Policy Change" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_7_3_audit
|
||||
register: discovered_17_7_3_audit
|
||||
|
||||
- name: "17.7.3 | PATCH | Ensure Audit Authorization Policy Change is set to include Success | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Authorization Policy Change" /success:enable
|
||||
when: "'Success' not in rule_17_7_3_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_7_3
|
||||
when: "'Success' not in discovered_17_7_3_audit.stdout"
|
||||
when: win11cis_rule_17_7_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.7.3
|
||||
- automated
|
||||
- patch
|
||||
- audit-authorization-policy-change
|
||||
- automated
|
||||
- rule_17.7.3
|
||||
- audit_authorization_policy_change
|
||||
|
||||
- name: "17.7.4 | PATCH | Ensure Audit MPSSVC Rule-Level Policy Change is set to Success and Failure"
|
||||
block:
|
||||
@@ -69,24 +63,22 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"MPSSVC Rule-Level Policy Change" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_7_4_audit
|
||||
register: discovered_17_7_4_audit
|
||||
|
||||
- name: "17.7.4 | PATCH | Ensure Audit MPSSVC Rule-Level Policy Change is set to Success and Failure | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"MPSSVC Rule-Level Policy Change" /success:enable
|
||||
when: "'Success' not in rule_17_7_4_audit.stdout"
|
||||
when: "'Success' not in discovered_17_7_4_audit.stdout"
|
||||
|
||||
- name: "17.7.4 | PATCH | Ensure Audit MPSSVC Rule-Level Policy Change is set to Success and Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"MPSSVC Rule-Level Policy Change" /failure:enable
|
||||
when: "'Failure' not in rule_17_7_4_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_7_4
|
||||
when: "'Failure' not in discovered_17_7_4_audit.stdout"
|
||||
when: win11cis_rule_17_7_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.7.4
|
||||
- automated
|
||||
- level1_corporate_enterprise_environment
|
||||
- patch
|
||||
- mpssvc-rule-level-policy
|
||||
- automated
|
||||
- rule_17.7.4
|
||||
- mpssvc_rule_level_policy
|
||||
|
||||
- name: "17.7.5 | PATCH | Ensure Audit Other Policy Change Events is set to include Failure"
|
||||
block:
|
||||
@@ -94,17 +86,15 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Other Policy Change Events" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_7_5_audit
|
||||
register: discovered_17_7_5_audit
|
||||
|
||||
- name: "17.7.5 | PATCH | Ensure Audit Other Policy Change Events is set to include Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Other Policy Change Events" /failure:enable
|
||||
when: "'Failure' not in rule_17_7_5_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_7_5
|
||||
when: "'Failure' not in discovered_17_7_5_audit.stdout"
|
||||
when: win11cis_rule_17_7_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.7.5
|
||||
- automated
|
||||
- patch
|
||||
- audit-other-policy-change
|
||||
- automated
|
||||
- rule_17.7.5
|
||||
- audit_other_policy_change
|
||||
|
||||
@@ -6,21 +6,19 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Sensitive Privilege Use" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_8_1_audit
|
||||
register: discovered_17_8_1_audit
|
||||
|
||||
- name: "17.8.1 | PATCH | Ensure Audit Sensitive Privilege Use is set to Success and Failure | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Sensitive Privilege Use" /success:enable
|
||||
when: "'Success' not in rule_17_8_1_audit.stdout"
|
||||
when: "'Success' not in discovered_17_8_1_audit.stdout"
|
||||
|
||||
- name: "17.8.1 | PATCH | Ensure Audit Sensitive Privilege Use is set to Success and Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Sensitive Privilege Use" /failure:enable
|
||||
when: "'Failure' not in rule_17_8_1_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_8_1
|
||||
when: "'Failure' not in discovered_17_8_1_audit.stdout"
|
||||
when: win11cis_rule_17_8_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.8.1
|
||||
- automated
|
||||
- patch
|
||||
- audit-sensitive-privilege
|
||||
- automated
|
||||
- rule_17.8.1
|
||||
- audit_sensitive_privilege
|
||||
|
||||
@@ -6,24 +6,26 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"IPsec Driver" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_9_1_audit
|
||||
register: discovered_17_9_1_audit
|
||||
|
||||
- name: "17.9.1 | PATCH | Ensure Audit IPsec Driver is set to Success and Failure | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"IPsec Driver" /success:enable
|
||||
when: "'Success' not in rule_17_9_1_audit.stdout"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
when: "'Success' not in discovered_17_9_1_audit.stdout"
|
||||
|
||||
- name: "17.9.1 | PATCH | Ensure Audit IPsec Driver is set to Success and Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"IPsec Driver" /failure:enable
|
||||
when: "'Failure' not in rule_17_9_1_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_9_1
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
when: "'Failure' not in discovered_17_9_1_audit.stdout"
|
||||
when: win11cis_rule_17_9_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.9.1
|
||||
- automated
|
||||
- patch
|
||||
- ipsec-driver
|
||||
- automated
|
||||
- rule_17.9.1
|
||||
- ipsec_driver
|
||||
|
||||
- name: "17.9.2 | PATCH | Ensure Audit Other System Events is set to Success and Failure"
|
||||
block:
|
||||
@@ -31,24 +33,26 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Other System Events" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_9_2_audit
|
||||
register: discovered_17_9_2_audit
|
||||
|
||||
- name: "17.9.2 | PATCH | Ensure Audit Other System Events is set to Success and Failure | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Other System Events" /success:enable
|
||||
when: "'Success' not in rule_17_9_2_audit.stdout"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
when: "'Success' not in discovered_17_9_2_audit.stdout"
|
||||
|
||||
- name: "17.9.2 | PATCH | Ensure Audit Other System Events is set to Success and Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Other System Events" /failure:enable
|
||||
when: "'Failure' not in rule_17_9_2_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_9_2
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
when: "'Failure' not in discovered_17_9_2_audit.stdout"
|
||||
when: win11cis_rule_17_9_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.9.2
|
||||
- automated
|
||||
- patch
|
||||
- other-system-events
|
||||
- automated
|
||||
- rule_17.9.2
|
||||
- other_system_events
|
||||
|
||||
- name: "17.9.3 | PATCH | Ensure Audit Security State Change is set to include Success"
|
||||
block:
|
||||
@@ -56,20 +60,20 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Security State Change" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_9_3_audit
|
||||
register: discovered_17_9_3_audit
|
||||
|
||||
- name: "17.9.3 | PATCH | Ensure Audit Security State Change is set to include Success | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Security State Change" /success:enable
|
||||
when: "'Success' not in rule_17_9_3_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_9_3
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
when: "'Success' not in discovered_17_9_3_audit.stdout"
|
||||
when: win11cis_rule_17_9_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.9.3
|
||||
- automated
|
||||
- patch
|
||||
- security-state-change
|
||||
- automated
|
||||
- rule_17.9.3
|
||||
- security_state_change
|
||||
|
||||
- name: "17.9.4 | PATCH | Ensure Audit Security System Extension is set to include Success"
|
||||
block:
|
||||
@@ -77,20 +81,20 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"Security System Extension" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_9_4_audit
|
||||
register: discovered_17_9_4_audit
|
||||
|
||||
- name: "17.9.4 | PATCH | Ensure Audit Security System Extension is set to include Success | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"Security System Extension" /success:enable
|
||||
when: "'Success' not in rule_17_9_4_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_9_4
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
when: "'Success' not in discovered_17_9_4_audit.stdout"
|
||||
when: win11cis_rule_17_9_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.9.4
|
||||
- automated
|
||||
- patch
|
||||
- security-system-extension
|
||||
- automated
|
||||
- rule_17.9.4
|
||||
- security_system_extension
|
||||
|
||||
- name: "17.9.5 | PATCH | Ensure Audit System Integrity is set to Success and Failure"
|
||||
block:
|
||||
@@ -98,23 +102,23 @@
|
||||
ansible.windows.win_shell: AuditPol /get /subcategory:"System Integrity" -r | ConvertFrom-Csv | Select-Object -expand "Inclusion Setting"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
register: rule_17_9_5_audit
|
||||
register: discovered_17_9_5_audit
|
||||
|
||||
- name: "17.9.5 | PATCH | Ensure Audit System Integrity is set to Success and Failure | Success"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"System Integrity" /success:enable
|
||||
changed_when: "'Success' not in rule_17_9_5_audit.stdout"
|
||||
when: "'Success' not in rule_17_9_5_audit.stdout"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
when: "'Success' not in discovered_17_9_5_audit.stdout"
|
||||
|
||||
- name: "17.9.5 | PATCH | Ensure Audit System Integrity is set to Success and Failure | Failure"
|
||||
ansible.windows.win_shell: AuditPol /set /subcategory:"System Integrity" /failure:enable
|
||||
changed_when: "'Failure' not in rule_17_9_5_audit.stdout"
|
||||
when: "'Failure' not in rule_17_9_5_audit.stdout"
|
||||
when:
|
||||
- win11cis_rule_17_9_5
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
when: "'Failure' not in discovered_17_9_5_audit.stdout"
|
||||
when: win11cis_rule_17_9_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_17.9.5
|
||||
- automated
|
||||
- patch
|
||||
- system-integrity
|
||||
- automated
|
||||
- rule_17.9.5
|
||||
- system_integrity
|
||||
|
||||
+15
-15
@@ -4,54 +4,54 @@
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_17.1.x.yml
|
||||
tags:
|
||||
- advanced-audit-policy-configuration
|
||||
- account-logon
|
||||
- advanced_audit_policy_configuration
|
||||
- account_logon
|
||||
|
||||
- name: "SECTION | 17.2 | Account Management"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_17.2.x.yml
|
||||
tags:
|
||||
- advanced-audit-policy-configuration
|
||||
- account-management
|
||||
- advanced_audit_policy_configuration
|
||||
- account_management
|
||||
|
||||
- name: "SECTION | 17.3 | Detail Tracking"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_17.3.x.yml
|
||||
tags:
|
||||
- advanced-audit-policy-configuration
|
||||
- detailed-tracking
|
||||
- advanced_audit_policy_configuration
|
||||
- detailed_tracking
|
||||
|
||||
- name: "SECTION | 17.5 | Logon/Logoff"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_17.5.x.yml
|
||||
tags:
|
||||
- advanced-audit-policy-configuration
|
||||
- logon-logoff
|
||||
- advanced_audit_policy_configuration
|
||||
- logon_logoff
|
||||
|
||||
- name: "SECTION | 17.6 | Object Access"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_17.6.x.yml
|
||||
tags:
|
||||
- advanced-audit-policy-configuration
|
||||
- object-access
|
||||
- advanced_audit_policy_configuration
|
||||
- object_access
|
||||
|
||||
- name: "SECTION | 17.7 | Policy Change"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_17.7.x.yml
|
||||
tags:
|
||||
- advanced-audit-policy-configuration
|
||||
- policy-access
|
||||
- advanced_audit_policy_configuration
|
||||
- policy_access
|
||||
|
||||
- name: "SECTION | 17.8 | Privilege Use"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_17.8.x.yml
|
||||
tags:
|
||||
- advanced-audit-policy-configuration
|
||||
- privilege-use
|
||||
- advanced_audit_policy_configuration
|
||||
- privilege_use
|
||||
|
||||
- name: "SECTION | 17.9 | System"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_17.9.x.yml
|
||||
tags:
|
||||
- advanced-audit-policy-configuration
|
||||
- advanced_audit_policy_configuration
|
||||
- system
|
||||
|
||||
@@ -4,10 +4,6 @@
|
||||
ansible.builtin.import_tasks:
|
||||
file: section_18.1/main.yml
|
||||
|
||||
- name: "SECTION | 18.3 | LAPS"
|
||||
ansible.builtin.import_tasks:
|
||||
file: section_18.3/main.yml
|
||||
|
||||
- name: "SECTION | 18.4 | MS Security Guide"
|
||||
ansible.builtin.import_tasks:
|
||||
file: section_18.4/main.yml
|
||||
|
||||
@@ -6,14 +6,13 @@
|
||||
name: NoLockScreenCamera
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_1_1_1
|
||||
when: win11cis_rule_18_1_1_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.1.1.1
|
||||
- automated
|
||||
- patch
|
||||
- lock-screen-camera
|
||||
- automated
|
||||
- rule_18.1.1.1
|
||||
- lock_screen_camera
|
||||
|
||||
- name: "18.1.1.2 | PATCH | Ensure Prevent enabling lock screen slide show is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
@@ -21,11 +20,10 @@
|
||||
name: NoLockScreenSlideshow
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_1_1_2
|
||||
when: win11cis_rule_18_1_1_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.1.1.2
|
||||
- automated
|
||||
- patch
|
||||
- lock-screen-slideshow
|
||||
- automated
|
||||
- rule_18.1.1.2
|
||||
- lock_screen_slideshow
|
||||
|
||||
@@ -6,12 +6,10 @@
|
||||
name: AllowInputPersonalization
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_1_2_2
|
||||
when: win11cis_rule_18_1_2_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.1.2.2
|
||||
- automated
|
||||
- patch
|
||||
- administrative-templates-computer
|
||||
- speech-recognition
|
||||
- automated
|
||||
- rule_18.1.2.2
|
||||
- speech_recognition
|
||||
|
||||
@@ -6,11 +6,10 @@
|
||||
name: AllowOnlineTips
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_1_3
|
||||
when: win11cis_rule_18_1_3
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.1.3
|
||||
- automated
|
||||
- patch
|
||||
- online-tips
|
||||
- automated
|
||||
- rule_18.1.3
|
||||
- online_tips
|
||||
|
||||
@@ -4,22 +4,22 @@
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.1.1.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- control-panel
|
||||
- administrative_templates_computer
|
||||
- control_panel
|
||||
- personalization
|
||||
|
||||
- name: "SECTION | 18.1.2 | Regional And Language Options"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.1.2.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- control-panel
|
||||
- regional-and-language-options
|
||||
- administrative_templates_computer
|
||||
- control_panel
|
||||
- regional_and_language_options
|
||||
- handwriting_personalization
|
||||
|
||||
- name: "SECTION | 18.1.3 | Online Tips"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.1.3.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- control-panel
|
||||
- regional-and-language-options
|
||||
- administrative_templates_computer
|
||||
- control_panel
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
name: AllowCamera
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_10_1
|
||||
when: win11cis_rule_18_10_10_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.10.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.10.1
|
||||
- camera
|
||||
|
||||
@@ -6,13 +6,12 @@
|
||||
name: DisableConsumerAccountStateContent
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_12_1
|
||||
when: win11cis_rule_18_10_12_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.12.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.12.1
|
||||
|
||||
- name: "18.10.12.2 | PATCH | Ensure 'Turn off cloud optimized content' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
@@ -20,13 +19,12 @@
|
||||
name: DisableCloudOptimizedContent
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_12_2
|
||||
when: win11cis_rule_18_10_12_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.12.2
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.12.2
|
||||
|
||||
- name: "18.10.12.3 | PATCH | Ensure 'Turn off Microsoft consumer experiences' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
@@ -34,10 +32,9 @@
|
||||
name: DisableWindowsConsumerFeatures
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_12_3
|
||||
when: win11cis_rule_18_10_12_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.12.3
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.12.3
|
||||
|
||||
@@ -2,6 +2,14 @@
|
||||
|
||||
- name: "18.10.13.1 | PATCH | Ensure Require pin for pairing is set to Enabled First Time OR Enabled Always"
|
||||
block:
|
||||
- name: "18.10.13.1 | PATCH | Ensure Require pin for pairing is set to Enabled First Time OR Enabled Always | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows\Connect
|
||||
name: RequirePinForPairing
|
||||
data: "{{ win11cis_require_pin_for_pairing }}"
|
||||
type: dword
|
||||
when: win11cis_require_pin_for_pairing == 1 or win11cis_require_pin_for_pairing == 2
|
||||
|
||||
- name: "18.10.13.1 | AUDIT | Ensure Require pin for pairing is set to Enabled First Time OR Enabled Always | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
@@ -19,20 +27,10 @@
|
||||
when:
|
||||
- win11cis_require_pin_for_pairing != 1
|
||||
- win11cis_require_pin_for_pairing != 2
|
||||
|
||||
- name: "18.10.13.1 | PATCH | Ensure Require pin for pairing is set to Enabled First Time OR Enabled Always | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows\Connect
|
||||
name: RequirePinForPairing
|
||||
data: "{{ win11cis_require_pin_for_pairing }}"
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_require_pin_for_pairing == 1 or win11cis_require_pin_for_pairing == 2
|
||||
when:
|
||||
- win11cis_rule_18_10_13_1
|
||||
when: win11cis_rule_18_10_13_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.13.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.13.1
|
||||
- pin
|
||||
|
||||
@@ -6,13 +6,12 @@
|
||||
name: DisablePasswordReveal
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_14_1
|
||||
when: win11cis_rule_18_10_14_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.14.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.14.1
|
||||
- gui
|
||||
|
||||
- name: "18.10.14.2 | PATCH | Ensure Enumerate administrator accounts on elevation is set to Disabled"
|
||||
@@ -21,13 +20,12 @@
|
||||
name: EnumerateAdministrators
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_14_2
|
||||
when: win11cis_rule_18_10_14_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.14.2
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.14.2
|
||||
- accounts
|
||||
|
||||
- name: "18.10.14.3 | PATCH | Ensure 'Prevent the use of security questions for local accounts' is set to 'Enabled'"
|
||||
@@ -36,11 +34,10 @@
|
||||
name: NoLocalPasswordResetQuestions
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_14_3
|
||||
when: win11cis_rule_18_10_14_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.14.3
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.14.3
|
||||
- accounts
|
||||
|
||||
@@ -2,6 +2,14 @@
|
||||
|
||||
- name: "18.10.15.1 | PATCH | Ensure Allow Diagnostic Data is set to Enabled: Diagnostic data off (not recommended) or Enabled: Send required diagnostic data"
|
||||
block:
|
||||
- name: "18.10.15.1 | AUDIT | Ensure Allow Diagnostic Data is set to Enabled: Diagnostic data off (not recommended) or Enabled: Send required diagnostic data | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection
|
||||
name: AllowTelemetry
|
||||
data: "{{ win11cis_allow_telemetry }}"
|
||||
type: dword
|
||||
when: win11cis_allow_telemetry == 0 or win11cis_allow_telemetry == 1
|
||||
|
||||
- name: "18.10.15.1 | AUDIT | Ensure Allow Diagnostic Data is set to Enabled: Diagnostic data off (not recommended) or Enabled: Send required diagnostic data | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
@@ -19,22 +27,12 @@
|
||||
when:
|
||||
- win11cis_allow_telemetry != 0
|
||||
- win11cis_allow_telemetry != 1
|
||||
|
||||
- name: "18.10.15.1 | AUDIT | Ensure Allow Diagnostic Data is set to Enabled: Diagnostic data off (not recommended) or Enabled: Send required diagnostic data | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection
|
||||
name: AllowTelemetry
|
||||
data: "{{ win11cis_allow_telemetry }}"
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_allow_telemetry == 0 or win11cis_allow_telemetry == 1
|
||||
when:
|
||||
- win11cis_rule_18_10_15_1
|
||||
when: win11cis_rule_18_10_15_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.15.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.15.1
|
||||
- diagnostics
|
||||
|
||||
- name: "18.10.15.2 | PATCH | Ensure Configure Authenticated Proxy usage for the Connected User Experience and Telemetry service is set to Enabled Disable Authenticated Proxy usage"
|
||||
@@ -43,13 +41,12 @@
|
||||
name: DisableEnterpriseAuthProxy
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_15_2
|
||||
when: win11cis_rule_18_10_15_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.15.2
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.15.2
|
||||
- proxy
|
||||
|
||||
- name: "18.10.15.3 | PATCH | Ensure Disable OneSettings Downloads is set to Enabled"
|
||||
@@ -58,14 +55,13 @@
|
||||
name: DisableOneSettingsDownloads
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_15_3
|
||||
when: win11cis_rule_18_10_15_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.15.3
|
||||
- automated
|
||||
- patch
|
||||
- one-settings
|
||||
- automated
|
||||
- rule_18.10.15.3
|
||||
- one_settings
|
||||
|
||||
- name: "18.10.15.4 | PATCH | Ensure Do not show feedback notifications is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
@@ -73,13 +69,12 @@
|
||||
name: DoNotShowFeedbackNotifications
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_15_4
|
||||
when: win11cis_rule_18_10_15_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.15.4
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.15.4
|
||||
- notifications
|
||||
|
||||
- name: "18.10.15.5 | PATCH | Ensure Enable OneSettings Auditing' is set to Enabled"
|
||||
@@ -88,14 +83,13 @@
|
||||
name: EnableOneSettingsAuditing
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_15_5
|
||||
when: win11cis_rule_18_10_15_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.15.5
|
||||
- automated
|
||||
- patch
|
||||
- one-settings
|
||||
- automated
|
||||
- rule_18.10.15.5
|
||||
- one_settings
|
||||
|
||||
- name: "18.10.15.6 | PATCH | Ensure Limit Diagnostic Log Collection is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
@@ -103,13 +97,12 @@
|
||||
name: LimitDiagnosticLogCollection
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_15_6
|
||||
when: win11cis_rule_18_10_15_6
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.15.6
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.15.6
|
||||
- logs
|
||||
|
||||
- name: "18.10.15.7 | PATCH | Ensure Limit Dump Collection is set to Enabled"
|
||||
@@ -118,14 +111,13 @@
|
||||
name: LimitDumpCollection
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_15_7
|
||||
when: win11cis_rule_18_10_15_7
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.15.7
|
||||
- automated
|
||||
- patch
|
||||
- dump-collection
|
||||
- automated
|
||||
- rule_18.10.15.7
|
||||
- dump_collection
|
||||
|
||||
- name: "18.10.15.8 | PATCH | Ensure Toggle user control over Insider builds is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
@@ -133,11 +125,10 @@
|
||||
name: AllowBuildPreview
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_15_8
|
||||
when: win11cis_rule_18_10_15_8
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.15.8
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.15.8
|
||||
- builds
|
||||
|
||||
@@ -2,20 +2,6 @@
|
||||
|
||||
- name: "18.10.16.1 | PATCH | Ensure 'Download Mode' is NOT set to 'Enabled: Internet'"
|
||||
block:
|
||||
- name: "18.10.16.1 | AUDIT | Ensure 'Download Mode' is NOT set to 'Enabled: Internet' | Warning Check For Bad Variable "
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an incorrect variable set for win11cis_do_download_mode. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_do_download_mode > 2 and win11cis_do_download_mode != 99 and win11cis_do_download_mode != 100
|
||||
|
||||
- name: "18.10.16.1 | AUDIT | Ensure 'Download Mode' is NOT set to 'Enabled: Internet' | Warn Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.10.16.1'
|
||||
when: win11cis_do_download_mode > 2 and win11cis_do_download_mode != 99 and win11cis_do_download_mode != 100
|
||||
|
||||
- name: "18.10.16.1 | PATCH | Ensure 'Download Mode' is NOT set to 'Enabled: Internet' | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization
|
||||
@@ -23,10 +9,30 @@
|
||||
data: "{{ win11cis_do_download_mode }}"
|
||||
datatype: dword
|
||||
when: win11cis_do_download_mode <= 2 or win11cis_do_download_mode == 99 or win11cis_do_download_mode == 100
|
||||
when:
|
||||
- win11cis_rule_18_10_16_1
|
||||
|
||||
- name: "18.10.16.1 | AUDIT | Ensure 'Download Mode' is NOT set to 'Enabled: Internet' | Warning Check For Bad Variable "
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an incorrect variable set for win11cis_do_download_mode. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when:
|
||||
- win11cis_do_download_mode > 2
|
||||
- win11cis_do_download_mode != 99
|
||||
- win11cis_do_download_mode != 100
|
||||
|
||||
- name: "18.10.16.1 | AUDIT | Ensure 'Download Mode' is NOT set to 'Enabled: Internet' | Warn Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.10.16.1'
|
||||
when:
|
||||
- win11cis_do_download_mode > 2
|
||||
- win11cis_do_download_mode != 99
|
||||
- win11cis_do_download_mode != 100
|
||||
when: win11cis_rule_18_10_16_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.16.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.16.1
|
||||
- download_mode
|
||||
|
||||
@@ -6,13 +6,12 @@
|
||||
name: EnableAppInstaller
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_17_1
|
||||
when: win11cis_rule_18_10_17_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.17.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.17.1
|
||||
|
||||
- name: "18.10.17.2 | PATCH | Ensure 'Enable App Installer Experimental Features' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
@@ -20,13 +19,12 @@
|
||||
name: EnableExperimentalFeatures
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_17_2
|
||||
when: win11cis_rule_18_10_17_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.17.2
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.17.2
|
||||
- experimental
|
||||
|
||||
- name: "18.10.17.3 | PATCH | Ensure 'Enable App Installer Hash Override' is set to 'Disabled'"
|
||||
@@ -35,13 +33,12 @@
|
||||
name: EnableHashOverride
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_17_3
|
||||
when: win11cis_rule_18_10_17_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.17.3
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.17.3
|
||||
- hash
|
||||
|
||||
- name: "18.10.17.4 | PATCH | Ensure 'Enable App Installer ms-appinstaller protocol' is set to 'Disabled'"
|
||||
@@ -50,11 +47,10 @@
|
||||
name: EnableMSAppInstallerProtocol
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_17_4
|
||||
when: win11cis_rule_18_10_17_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.17.4
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.17.4
|
||||
- hash
|
||||
|
||||
@@ -1,197 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.26.1.1 | PATCH | Ensure Application Control Event Log behavior when the log file reaches its maximum size is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\EventLog\Application
|
||||
name: Retention
|
||||
data: 0
|
||||
type: string
|
||||
when:
|
||||
- win11cis_rule_18_10_26_1_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.26.1.1
|
||||
- automated
|
||||
- patch
|
||||
- application
|
||||
- logs
|
||||
|
||||
- name: "18.10.26.1.2 | PATCH | Ensure Application Specify the maximum log file size KB is set to Enabled 32768 or greater"
|
||||
block:
|
||||
- name: "18.10.26.1.2 | AUDIT | Ensure Application Specify the maximum log file size KB is set to Enabled 32768 or greater | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid file size set for win11cis_application_max_log_file_size. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_application_max_log_file_size < 32768
|
||||
|
||||
- name: "18.10.26.1.2 | AUDIT | Ensure Application Specify the maximum log file size KB is set to Enabled 32768 or greater | Warn Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.10.26.1.2'
|
||||
when: win11cis_application_max_log_file_size < 32768
|
||||
|
||||
- name: "18.10.26.1.2 | PATCH | Ensure Application Specify the maximum log file size KB is set to Enabled 32768 or greater | Set File Size."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Eventlog\Application
|
||||
name: MaxSize
|
||||
data: "{{ win11cis_application_max_log_file_size }}"
|
||||
type: dword
|
||||
when: win11cis_application_max_log_file_size >= 32768
|
||||
when:
|
||||
- win11cis_rule_18_10_26_1_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.26.1.2
|
||||
- automated
|
||||
- patch
|
||||
- application
|
||||
- application-log-size
|
||||
|
||||
- name: "18.10.26.2.1 | PATCH | Ensure Security Control Event Log behavior when the log file reaches its maximum size is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Eventlog\Security
|
||||
name: Retention
|
||||
data: 0
|
||||
type: string
|
||||
when:
|
||||
- win11cis_rule_18_10_26_2_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.26.2.1
|
||||
- automated
|
||||
- patch
|
||||
- security
|
||||
- logs
|
||||
|
||||
- name: "18.10.26.2.2 | PATCH | Ensure Security Specify the maximum log file size KB is set to Enabled 196608 or greater"
|
||||
block:
|
||||
- name: "18.10.26.2.2 | AUDIT | Ensure Security Specify the maximum log file size KB is set to Enabled 196608 or greater | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid file size set for win11cis_security_max_log_file_size. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_security_max_log_file_size < 196608
|
||||
|
||||
- name: "18.10.26.2.2 | AUDIT | Ensure Security Specify the maximum log file size KB is set to Enabled 196608 or greater | Warn Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.9.27.2.2'
|
||||
when: win11cis_security_max_log_file_size < 196608
|
||||
|
||||
- name: "18.10.26.2.2 | PATCH | Ensure Security Specify the maximum log file size KB is set to Enabled 196608 or greater | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Eventlog\Security
|
||||
name: MaxSize
|
||||
data: "{{ win11cis_security_max_log_file_size }}"
|
||||
type: dword
|
||||
when: win11cis_security_max_log_file_size >= 196608
|
||||
when:
|
||||
- win11cis_rule_18_10_26_2_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.26.2.2
|
||||
- automated
|
||||
- patch
|
||||
- security
|
||||
- security-log-size
|
||||
|
||||
- name: "18.10.26.3.1 | PATCH | Ensure Setup Control Event Log behavior when the log file reaches its maximum size is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Eventlog\Setup
|
||||
name: Retention
|
||||
data: 0
|
||||
type: string
|
||||
when:
|
||||
- win11cis_rule_18_10_26_3_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.26.3.1
|
||||
- automated
|
||||
- patch
|
||||
- setup
|
||||
- logs
|
||||
|
||||
- name: "18.10.26.3.2 | PATCH | Ensure Setup Specify the maximum log file size KB is set to Enabled 32768 or greater"
|
||||
block:
|
||||
- name: "18.10.26.3.2 | AUDIT | Ensure Setup Specify the maximum log file size KB is set to Enabled 32768 or greater | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid file size set for win11cis_setup_max_log_file_size. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_setup_max_log_file_size < 32768
|
||||
|
||||
- name: "18.10.26.3.2 | AUDIT | Ensure Setup Specify the maximum log file size KB is set to Enabled 32768 or greater | Warn Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.10.26.3.2'
|
||||
when: win11cis_setup_max_log_file_size < 32768
|
||||
|
||||
- name: "18.10.26.3.2 | PATCH | Ensure Setup Specify the maximum log file size KB is set to Enabled 32768 or greater | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Eventlog\Setup
|
||||
name: MaxSize
|
||||
data: "{{ win11cis_setup_max_log_file_size }}"
|
||||
type: dword
|
||||
when: win11cis_setup_max_log_file_size >= 32768
|
||||
when:
|
||||
- win11cis_rule_18_10_26_3_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.26.3.2
|
||||
- automated
|
||||
- patch
|
||||
- setup
|
||||
- setup-log-size
|
||||
|
||||
- name: "18.10.26.4.1 | PATCH | Ensure System Control Event Log behavior when the log file reaches its maximum size is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Eventlog\System
|
||||
name: Retention
|
||||
data: 0
|
||||
type: string
|
||||
when:
|
||||
- win11cis_rule_18_10_26_4_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.26.4.1
|
||||
- automated
|
||||
- patch
|
||||
- system
|
||||
- logs
|
||||
|
||||
- name: "18.10.26.4.2 | PATCH | Ensure System Specify the maximum log file size KB is set to Enabled 32768 or greater"
|
||||
block:
|
||||
- name: "18.10.26.4.2 | AUDIT | Ensure System Specify the maximum log file size KB is set to Enabled 32768 or greater | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid file size set for win11cis_system_max_log_file_size. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_system_max_log_file_size < 32768
|
||||
|
||||
- name: "18.10.26.4.2 | AUDIT | Ensure System Specify the maximum log file size KB is set to Enabled 32768 or greater | Warn Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.10.26.4.2'
|
||||
when: win11cis_system_max_log_file_size < 32768
|
||||
|
||||
- name: "18.10.26.4.2 | PATCH | Ensure System Specify the maximum log file size KB is set to Enabled 32768 or greater | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Eventlog\System
|
||||
name: MaxSize
|
||||
data: "{{ win11cis_system_max_log_file_size }}"
|
||||
type: dword
|
||||
when: win11cis_system_max_log_file_size >= 32768
|
||||
when:
|
||||
- win11cis_rule_18_10_26_4_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.26.4.2
|
||||
- automated
|
||||
- patch
|
||||
- system
|
||||
- system-log-size
|
||||
@@ -1,60 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.29.2 | PATCH | Ensure Turn off Data Execution Prevention for Explorer is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Explorer
|
||||
name: NoDataExecutionPrevention
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_29_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.29.2
|
||||
- automated
|
||||
- patch
|
||||
- data-execution-prevention
|
||||
|
||||
- name: "18.10.29.3 | PATCH | Ensure 'Turn off files from Office.com in Quick access view' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Explorer
|
||||
name: DisableGraphRecentItems
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_29_3
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.29.3
|
||||
- automated
|
||||
- patch
|
||||
|
||||
- name: "18.10.29.4 | PATCH | Ensure Turn off heap termination on corruption is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Explorer
|
||||
name: NoHeapTerminationOnCorruption
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_29_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.29.4
|
||||
- automated
|
||||
- patch
|
||||
- heap-termination
|
||||
|
||||
- name: "18.10.29.5 | PATCH | Ensure Turn off shell protocol protected mode is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Microsoft\Windows\Currentversion\Policies\Explorer
|
||||
name: PreXPSP2ShellProtocolBehavior
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_29_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.29.5
|
||||
- automated
|
||||
- patch
|
||||
- shell
|
||||
@@ -6,13 +6,12 @@
|
||||
name: AllowSharedLocalAppData
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_3_1
|
||||
when: win11cis_rule_18_10_3_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.3.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.3.1
|
||||
|
||||
- name: "18.10.3.2 | PATCH | Ensure 'Prevent non-admin users from installing packaged Windows apps' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
@@ -20,10 +19,9 @@
|
||||
name: BlockNonAdminUserInstall
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_3_2
|
||||
when: win11cis_rule_18_10_3_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.3.2
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.3.2
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.33.1 | PATCH | Ensure 'Prevent the computer from joining a homegroup' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\HomeGroup
|
||||
name: DisableHomeGroup
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_33_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.33.1
|
||||
- automated
|
||||
- patch
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
@@ -1,16 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.37.2 | PATCH | Ensure Turn off location is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Locationandsensors
|
||||
name: DisableLocation
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_37_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.37.2
|
||||
- automated
|
||||
- patch
|
||||
- location
|
||||
@@ -6,11 +6,10 @@
|
||||
name: LetAppsActivateWithVoiceAboveLock
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_4_1
|
||||
when: win11cis_rule_18_10_4_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.4.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.4.1
|
||||
- voice
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
---
|
||||
|
||||
- name: "18.10.41.1 | PATCH | Ensure Allow Message Service Cloud Sync is set to Disabled"
|
||||
- name: "18.10.41.1 | PATCH | Ensure Block all consumer Microsoft account user authentication is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Messaging
|
||||
name: AllowMessageSync
|
||||
data: 0
|
||||
path: HKLM:\Software\Policies\Microsoft\MicrosoftAccount
|
||||
name: DisableUserAuth
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_41_1
|
||||
when: win11cis_rule_18_10_41_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.41.1
|
||||
- automated
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.41.1
|
||||
- account
|
||||
|
||||
@@ -1,16 +1,249 @@
|
||||
---
|
||||
|
||||
- name: "18.10.42.1 | PATCH | Ensure Block all consumer Microsoft account user authentication is set to Enabled"
|
||||
- name: "18.10.42.5.1 | PATCH | Ensure Configure local setting override for reporting to Microsoft MAPS is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\MicrosoftAccount
|
||||
name: DisableUserAuth
|
||||
data: 1
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Spynet
|
||||
name: LocalSettingOverrideSpynetReporting
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_42_1
|
||||
when: win11cis_rule_18_10_42_5_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.42.1
|
||||
- automated
|
||||
- patch
|
||||
- account
|
||||
- automated
|
||||
- rule_18.10.42.5.1
|
||||
- maps
|
||||
|
||||
- name: "18.10.42.5.2 | PATCH | Ensure Join Microsoft MAPS is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Spynet
|
||||
name: SpynetReporting
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_42_5_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.5.2
|
||||
- maps
|
||||
|
||||
- name: "18.10.42.6.1.1 | PATCH | Ensure Configure Attack Surface Reduction rules is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Windows Defender Exploit Guard\ASR
|
||||
name: ExploitGuard_ASR_Rules
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_42_6_1_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.6.1.1
|
||||
- microsoft_defender_exploit_guard
|
||||
- attack_surface_reduction
|
||||
- defender
|
||||
|
||||
- name: "18.10.42.6.1.2 | PATCH | Ensure Configure Attack Surface Reduction rules Set the state for each ASR rule is configured"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Windows Defender Exploit Guard\ASR\Rules
|
||||
name: "{{ item }}"
|
||||
data: 1
|
||||
type: string
|
||||
loop:
|
||||
- 26190899-1602-49e8-8b27-eb1d0a1ce869
|
||||
- 3b576869-a4ec-4529-8536-b80a7769e899
|
||||
- 56a863a9-875e-4185-98a7-b882c64b5ce5
|
||||
- 5beb7efe-fd9a-4556-801d-275e5ffc04cc
|
||||
- 75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84
|
||||
- 7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c
|
||||
- 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b
|
||||
- 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2
|
||||
- b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4
|
||||
- be9ba2d9-53ea-4cdc-84e5-9b1eeee46550
|
||||
- d3e037e1-3eb8-44c8-a917-57927947596d
|
||||
- d4f940ab-401b-4efc-aadc-ad5f3c50688a
|
||||
- e6db77e5-3df2-4cf1-b95a-636979351e5b
|
||||
when: win11cis_rule_18_10_42_6_1_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.6.1.2
|
||||
- microsoft_defender_exploit_guard
|
||||
- attack_surface_reduction
|
||||
- defender
|
||||
|
||||
- name: "18.10.42.6.3.1 | PATCH | Ensure Prevent users and apps from accessing dangerous websites is set to Enabled Block"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Windows Defender Exploit Guard\Network Protection
|
||||
name: EnableNetworkProtection
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_42_6_3_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.6.3.1
|
||||
- microsoft_defender_exploit_guard
|
||||
- network_protection
|
||||
|
||||
- name: "18.10.42.7.1 | PATCH | (L2) Ensure 'Enable file hash computation feature' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\MpEngine
|
||||
name: EnableFileHashComputation
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_42_7_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.7.1
|
||||
- mpengine
|
||||
- hash
|
||||
|
||||
- name: "18.10.42.10.1 | PATCH | Ensure Scan all downloaded files and attachments is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection
|
||||
name: DisableIOAVProtection
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_42_10_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.10.1
|
||||
- real_time_protection
|
||||
- downloads
|
||||
|
||||
- name: "18.10.42.10.2 | PATCH | Ensure 'Turn off real-time protection' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection
|
||||
name: DisableRealtimeMonitoring
|
||||
data: 0
|
||||
datatype: dword
|
||||
when: win11cis_rule_18_10_42_10_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.10.2
|
||||
- real_time_protection
|
||||
|
||||
- name: "18.10.42.10.3 | PATCH | Ensure Turn on behavior monitoring is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Real-Time Protection
|
||||
name: DisableBehaviorMonitoring
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_42_10_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.10.3
|
||||
- real_time_protection
|
||||
- behavior_monitoring
|
||||
|
||||
- name: "18.10.42.10.4 | PATCH | Ensure 'Turn on script scanning' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection
|
||||
name: DisableScriptScanning
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_42_10_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.10.4
|
||||
- real_time_protection
|
||||
- script_scanning
|
||||
|
||||
- name: "18.10.42.12.1 | PATCH | Ensure Configure Watson events is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Reporting
|
||||
name: DisableGenericRePorts
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_42_12_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.12.1
|
||||
- reporting
|
||||
- watson
|
||||
|
||||
- name: "18.10.42.13.1 | PATCH | Ensure 'Scan packed executables' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Scan
|
||||
name: DisablePackedExeScanning
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_42_13_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.13.1
|
||||
- scan
|
||||
|
||||
- name: "18.10.42.13.2 | PATCH | Ensure Scan removable drives is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Scan
|
||||
name: DisableRemovableDriveScanning
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_42_13_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.13.2
|
||||
- scan
|
||||
|
||||
- name: "18.10.42.13.3 | PATCH | Ensure Turn on e-mail scanning is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Scan
|
||||
name: DisableEmailScanning
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_42_13_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.13.3
|
||||
- email_scanning
|
||||
|
||||
- name: "18.10.42.16 | PATCH | Ensure Configure detection for potentially unwanted applications is set to Enabled Block"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender
|
||||
name: PUAProtection
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_42_16
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.16
|
||||
- defender
|
||||
|
||||
- name: "18.10.42.17 | PATCH | Ensure Turn off Windows Defender AntiVirus is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender
|
||||
name: DisableAntiSpyware
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_42_17
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.42.17
|
||||
- defender
|
||||
|
||||
@@ -1,253 +1,82 @@
|
||||
---
|
||||
|
||||
- name: "18.10.43.5.1 | PATCH | Ensure Configure local setting override for reporting to Microsoft MAPS is set to Disabled"
|
||||
- name: "18.10.43.1 | PATCH | Ensure 'Allow auditing events in Microsoft Defender Application Guard' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Spynet
|
||||
name: LocalSettingOverrideSpynetReporting
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_5_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.43.5.1
|
||||
- automated
|
||||
- patch
|
||||
- maps
|
||||
|
||||
- name: "18.10.43.5.2 | PATCH | Ensure Join Microsoft MAPS is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Spynet
|
||||
name: SpynetReporting
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_5_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.43.5.2
|
||||
- automated
|
||||
- patch
|
||||
- maps
|
||||
|
||||
- name: "18.10.43.6.1.1 | PATCH | Ensure Configure Attack Surface Reduction rules is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Windows Defender Exploit Guard\ASR
|
||||
name: ExploitGuard_ASR_Rules
|
||||
path: HKLM:\Software\Policies\Microsoft\AppHVSI
|
||||
name: AuditApplicationGuard
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_6_1_1
|
||||
when: win11cis_rule_18_10_43_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.43.6.1.1
|
||||
- automated
|
||||
- patch
|
||||
- microsoft-defender-exploit-guard
|
||||
- attack-surface-reduction
|
||||
- defender
|
||||
|
||||
- name: "18.10.43.6.1.2 | PATCH | Ensure Configure Attack Surface Reduction rules Set the state for each ASR rule is configured"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Windows Defender Exploit Guard\ASR\Rules
|
||||
name: "{{ item }}"
|
||||
data: 1
|
||||
type: string
|
||||
loop:
|
||||
- 26190899-1602-49e8-8b27-eb1d0a1ce869
|
||||
- 3b576869-a4ec-4529-8536-b80a7769e899
|
||||
- 56a863a9-875e-4185-98a7-b882c64b5ce5
|
||||
- 5beb7efe-fd9a-4556-801d-275e5ffc04cc
|
||||
- 75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84
|
||||
- 7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c
|
||||
- 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b
|
||||
- 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2
|
||||
- b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4
|
||||
- be9ba2d9-53ea-4cdc-84e5-9b1eeee46550
|
||||
- d3e037e1-3eb8-44c8-a917-57927947596d
|
||||
- d4f940ab-401b-4efc-aadc-ad5f3c50688a
|
||||
- e6db77e5-3df2-4cf1-b95a-636979351e5b
|
||||
when:
|
||||
- win11cis_rule_18_10_43_6_1_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.43.6.1.2
|
||||
- automated
|
||||
- patch
|
||||
- microsoft-defender-exploit-guard
|
||||
- attack-surface-reduction
|
||||
- defender
|
||||
- rule_18.10.43.1
|
||||
- auditing
|
||||
|
||||
- name: "18.10.43.6.3.1 | PATCH | Ensure Prevent users and apps from accessing dangerous websites is set to Enabled Block"
|
||||
- name: "18.10.43.2 | PATCH | Ensure 'Allow camera and microphone access in Microsoft Defender Application Guard' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Windows Defender Exploit Guard\Network Protection
|
||||
name: EnableNetworkProtection
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_6_3_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.43.6.3.1
|
||||
- automated
|
||||
- patch
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- microsoft-defender-antivirus
|
||||
- microsoft-defender-exploit-guard
|
||||
- network-protection
|
||||
|
||||
- name: "18.10.43.7.1 | PATCH | (L2) Ensure 'Enable file hash computation feature' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\MpEngine
|
||||
name: EnableFileHashComputation
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_7_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.43.7.1
|
||||
- automated
|
||||
- patch
|
||||
- mpengine
|
||||
- hash
|
||||
|
||||
- name: "18.10.43.10.1 | PATCH | Ensure Scan all downloaded files and attachments is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection
|
||||
name: DisableIOAVProtection
|
||||
path: HKLM:\Software\Policies\Microsoft\AppHVSI
|
||||
name: AllowCameraMicrophoneRedirection
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_10_1
|
||||
when: win11cis_rule_18_10_43_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.43.10.1
|
||||
- automated
|
||||
- patch
|
||||
- real-time-protection
|
||||
- downloads
|
||||
|
||||
- name: "18.10.43.10.2 | PATCH | Ensure 'Turn off real-time protection' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection
|
||||
name: DisableRealtimeMonitoring
|
||||
data: 1
|
||||
datatype: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_10_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.43.10.2
|
||||
- automated
|
||||
- patch
|
||||
- real-time-protection
|
||||
- rule_18.10.43.2
|
||||
- camera
|
||||
|
||||
- name: "18.10.43.10.3 | PATCH | Ensure Turn on behavior monitoring is set to Enabled"
|
||||
- name: "18.10.43.3 | PATCH | Ensure 'Allow data persistence for Microsoft Defender Application Guard' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Real-Time Protection
|
||||
name: DisableBehaviorMonitoring
|
||||
path: HKLM:\Software\Policies\Microsoft\AppHVSI
|
||||
name: AllowPersistence
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_10_3
|
||||
when: win11cis_rule_18_10_43_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.43.10.3
|
||||
- automated
|
||||
- patch
|
||||
- real-time-protection
|
||||
- behavior-monitoring
|
||||
- automated
|
||||
- rule_18.10.43.3
|
||||
- data_persistence
|
||||
|
||||
- name: "18.10.43.10.4 | PATCH | Ensure 'Turn on script scanning' is set to 'Enabled'"
|
||||
- name: "18.10.43.4 | PATCH | Ensure 'Allow files to download and save to the host operating system from Microsoft Defender Application Guard' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection
|
||||
name: DisableScriptScanning
|
||||
path: HKLM:\Software\Policies\Microsoft\AppHVSI
|
||||
name: SaveFilesToHost
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_10_4
|
||||
when: win11cis_rule_18_10_43_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.43.10.4
|
||||
- automated
|
||||
- patch
|
||||
- real-time-protection
|
||||
- script-scanning
|
||||
- automated
|
||||
- rule_18.10.43.4
|
||||
|
||||
- name: "18.10.43.12.1 | PATCH | Ensure Configure Watson events is set to Disabled"
|
||||
- name: "18.10.43.5 | PATCH | Ensure 'Configure Microsoft Defender Application Guard clipboard settings: Clipboard behavior setting' is set to 'Enabled: Enable clipboard operation from an isolated session to the host'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Reporting
|
||||
name: DisableGenericRePorts
|
||||
path: HKLM:\Software\Policies\Microsoft\AppHVSI
|
||||
name: AppHVSIClipboardSettings
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_12_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.43.12.1
|
||||
- automated
|
||||
- patch
|
||||
- reporting
|
||||
- watson
|
||||
|
||||
- name: "18.10.43.13.1 | PATCH | Ensure Scan removable drives is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Scan
|
||||
name: DisableRemovableDriveScanning
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_13_1
|
||||
when: win11cis_rule_18_10_43_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.43.13.1
|
||||
- automated
|
||||
- patch
|
||||
- scan
|
||||
|
||||
- name: "18.10.43.13.2 | PATCH | Ensure Turn on e-mail scanning is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender\Scan
|
||||
name: DisableEmailScanning
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_13_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.43.13.2
|
||||
- automated
|
||||
- patch
|
||||
- email-scanning
|
||||
- rule_18.10.43.5
|
||||
|
||||
- name: "18.10.43.16 | PATCH | Ensure Configure detection for potentially unwanted applications is set to Enabled Block"
|
||||
- name: "18.10.43.6 | PATCH | Ensure 'Turn on Microsoft Defender Application Guard in Managed Mode' is set to 'Enabled: 1'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender
|
||||
name: PUAProtection
|
||||
path: HKLM:\Software\Policies\Microsoft\AppHVSI
|
||||
name: AllowAppHVSI_ProviderSet
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_16
|
||||
when: win11cis_rule_18_10_43_6
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.43.16
|
||||
- automated
|
||||
- patch
|
||||
- defender
|
||||
|
||||
- name: "18.10.43.17 | PATCH | Ensure Turn off Windows Defender AntiVirus is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender
|
||||
name: DisableAntiSpyware
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_43_17
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.43.17
|
||||
- automated
|
||||
- patch
|
||||
- defender
|
||||
- rule_18.10.43.6
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.44.1 | PATCH | Ensure 'Allow auditing events in Microsoft Defender Application Guard' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\AppHVSI
|
||||
name: AuditApplicationGuard
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_44_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.44.1
|
||||
- automated
|
||||
- patch
|
||||
- auditing
|
||||
|
||||
- name: "18.10.44.2 | PATCH | Ensure 'Allow camera and microphone access in Microsoft Defender Application Guard' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\AppHVSI
|
||||
name: AllowCameraMicrophoneRedirection
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_44_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.44.2
|
||||
- automated
|
||||
- patch
|
||||
- camera
|
||||
|
||||
- name: "18.10.44.3 | PATCH | Ensure 'Allow data persistence for Microsoft Defender Application Guard' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\AppHVSI
|
||||
name: AllowPersistence
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_44_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.44.3
|
||||
- automated
|
||||
- patch
|
||||
- data-persistence
|
||||
|
||||
- name: "18.10.44.4 | PATCH | Ensure 'Allow files to download and save to the host operating system from Microsoft Defender Application Guard' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\AppHVSI
|
||||
name: SaveFilesToHost
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_44_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.44.4
|
||||
- automated
|
||||
- patch
|
||||
|
||||
- name: "18.10.44.5 | PATCH | Ensure 'Configure Microsoft Defender Application Guard clipboard settings: Clipboard behavior setting' is set to 'Enabled: Enable clipboard operation from an isolated session to the host'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\AppHVSI
|
||||
name: AppHVSIClipboardSettings
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_44_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.44.5
|
||||
- automated
|
||||
- patch
|
||||
|
||||
- name: "18.10.44.6 | PATCH | Ensure 'Turn on Microsoft Defender Application Guard in Managed Mode' is set to 'Enabled: 1'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\AppHVSI
|
||||
name: AllowAppHVSI_ProviderSet
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_44_6
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.44.6
|
||||
- automated
|
||||
- patch
|
||||
@@ -6,25 +6,23 @@
|
||||
name: MSAOptional
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_5_1
|
||||
when: win11cis_rule_18_10_5_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.5.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.5.1
|
||||
|
||||
- name: "18.10.5.2 | PATCH | Ensure Allow Microsoft accounts to be optional is set to Enabled"
|
||||
- name: "18.10.5.2 | PATCH | Ensure 'Block launching Universal Windows apps with Windows Runtime API access from hosted content.' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Microsoft\Windows\Currentversion\Policies\System
|
||||
name: BlockHostedAppAccessWinRT
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_5_2
|
||||
when: win11cis_rule_18_10_5_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.5.2
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.5.2
|
||||
- api
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
---
|
||||
|
||||
- name: "18.10.50.1 | PATCH | Ensure 'Enable news and interests on the taskbar' is set to 'Disabled'"
|
||||
- name: "18.10.50.1 | PATCH | Ensure Prevent the usage of OneDrive for file storage is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windows Feeds
|
||||
name: EnableFeeds
|
||||
data: 0
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Onedrive
|
||||
name: DisableFileSyncNGSC
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_50_1
|
||||
when: win11cis_rule_18_10_50_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.50.1
|
||||
- automated
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.50.1
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.51.1 | PATCH | Ensure Prevent the usage of OneDrive for file storage is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Onedrive
|
||||
name: DisableFileSyncNGSC
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_51_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.51.1
|
||||
- automated
|
||||
- patch
|
||||
@@ -1,15 +1,291 @@
|
||||
---
|
||||
|
||||
- name: "18.10.56.1 | PATCH | (L2) Ensure 'Turn off Push To Install service' is set to 'Enabled'"
|
||||
- name: "18.10.56.2.2 | PATCH | Ensure 'Disable Cloud Clipboard integration for server-to-client data transfer' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\PushToInstall
|
||||
name: DisablePushToInstall
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client
|
||||
name: DisableCloudClipboardIntegration
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_2_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.2.2
|
||||
- remote_desktop_connection_client
|
||||
|
||||
- name: "18.10.56.2.3 | PATCH | Ensure Do not allow passwords to be saved is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: DisablePasswordSaving
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_2_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.2.3
|
||||
- remote_desktop_connection_client
|
||||
|
||||
- name: "18.10.56.3.2.1 | PATCH | Ensure 'Allow users to connect remotely by using Remote Desktop Services' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDenyTSConnections
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_56_1
|
||||
- win11cis_rule_18_10_56_3_2_1
|
||||
- not win_skip_for_test
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.56.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.2.1
|
||||
- remote_desktop_session_host
|
||||
- connections
|
||||
- rdp
|
||||
|
||||
- name: "18.10.56.3.3.1 | PATCH | Ensure 'Allow UI Automation redirection' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: EnableUiaRedirection
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_3_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.3.1
|
||||
- remote_desktop_session_host
|
||||
- device_and_resource_redirection
|
||||
|
||||
- name: "18.10.56.3.3.2 | PATCH | Ensure Do not allow COM port redirection is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDisableCcm
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_3_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.3.2
|
||||
- remote_desktop_session_host
|
||||
- device_and_resource_redirection
|
||||
|
||||
- name: "18.10.56.3.3.3 | PATCH | Ensure Do not allow drive redirection is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDisableCdm
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_3_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.3.3
|
||||
- remote_desktop_session_host
|
||||
- device_and_resource_redirection
|
||||
|
||||
- name: "18.10.56.3.3.4 | PATCH | Ensure 'Do not allow location redirection' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDisableLocationRedir
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_3_4
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.3.4
|
||||
- remote_desktop_session_host
|
||||
- device_and_resource_redirection
|
||||
|
||||
- name: "18.10.56.3.3.5 | PATCH | Ensure 'Do not allow LPT port redirection' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDisableLPT
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_3_5
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.3.5
|
||||
- remote_desktop_session_host
|
||||
- device_and_resource_redirection
|
||||
|
||||
- name: "18.10.56.3.3.6 | PATCH | Ensure 'Do not allow supported Plug and Play device redirection' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDisablePNPRedir
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_3_6
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.3.6
|
||||
- remote_desktop_session_host
|
||||
- device_and_resource_redirection
|
||||
|
||||
- name: "18.10.56.3.3.7 | PATCH | Ensure 'Do not allow WebAuthn redirection' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDisableWebAuthn
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_3_7
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.3.7
|
||||
- remote_desktop_session_host
|
||||
- device_and_resource_redirection
|
||||
|
||||
- name: "18.10.56.3.9.1 | PATCH | Ensure Always prompt for password upon connection is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: fPromptForPassword
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_9_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.9.1
|
||||
- remote_desktop_session_host
|
||||
- security
|
||||
|
||||
- name: "18.10.56.3.9.2 | PATCH | Ensure Require secure RPC communication is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: fEncryptRPCTraffic
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_9_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.9.2
|
||||
- remote_desktop_session_host
|
||||
- security
|
||||
|
||||
- name: "18.10.56.3.9.3 | PATCH | Ensure Require use of specific security layer for remote RDP connections is set to Enabled SSL"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: SecurityLayer
|
||||
data: 2
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_9_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.9.3
|
||||
- remote_desktop_session_host
|
||||
- security
|
||||
|
||||
- name: "18.10.56.3.9.4 | PATCH | Ensure Require user authentication for remote connections by using Network Level Authentication is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: UserAuthentication
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_9_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.9.4
|
||||
- remote_desktop_session_host
|
||||
- security
|
||||
|
||||
- name: "18.10.56.3.9.5 | PATCH | Ensure Set client connection encryption level is set to Enabled High Level"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: MinEncryptionLevel
|
||||
data: 3
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_9_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.9.5
|
||||
- remote_desktop_session_host
|
||||
- security
|
||||
|
||||
- name: "18.10.56.3.10.1 | PATCH | Ensure Set time limit for active but idle Remote Desktop Services sessions is set to Enabled 15 minutes or less, but not Never (0)"
|
||||
block:
|
||||
- name: "18.10.56.3.10.1 | PATCH | Ensure Set time limit for active but idle Remote Desktop Services sessions is set to Enabled 15 minutes or less, but not Never (0) | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: MaxIdleTime
|
||||
data: "{{ win11cis_idle_rdp_session_disconnect_time }}"
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_idle_rdp_session_disconnect_time <= 900000
|
||||
- win11cis_idle_rdp_session_disconnect_time != 0
|
||||
|
||||
- name: "18.10.56.3.10.1 | AUDIT | Ensure Set time limit for active but idle Remote Desktop Services sessions is set to Enabled 15 minutes or less, but not Never (0) | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid time set for win11cis_idle_rdp_session_disconnect_time. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_idle_rdp_session_disconnect_time == 0 or win11cis_idle_rdp_session_disconnect_time > 900000
|
||||
|
||||
- name: "18.10.56.3.10.1 | AUDIT | Ensure Set time limit for active but idle Remote Desktop Services sessions is set to Enabled 15 minutes or less, but not Never (0) | Warn Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.10.56.3.10.1'
|
||||
when: win11cis_idle_rdp_session_disconnect_time == 0 or win11cis_idle_rdp_session_disconnect_time > 900000
|
||||
when: win11cis_rule_18_10_56_3_10_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.10.1
|
||||
- remote_desktop_session_host
|
||||
- session_time_limits
|
||||
|
||||
- name: "18.10.56.3.10.2 | PATCH | Ensure Set time limit for disconnected sessions is set to Enabled 1 minute"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: MaxDisconnectionTime
|
||||
data: 60000
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_10_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.10.2
|
||||
- remote_desktop_session_host
|
||||
- session_time_limits
|
||||
|
||||
- name: "18.10.56.3.11.1 | PATCH | Ensure Do not delete temp folders upon exit is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: DeleteTempDirsOnExit
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_56_3_11_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.56.3.11.1
|
||||
- remote_desktop_session_host
|
||||
- temporary_folders
|
||||
|
||||
@@ -1,312 +1,14 @@
|
||||
---
|
||||
|
||||
- name: "18.10.57.2.2 | PATCH | Ensure 'Disable Cloud Clipboard integration for server-to-client data transfer' is set to 'Enabled'"
|
||||
- name: "18.10.57.1 | PATCH | Ensure Prevent downloading of enclosures is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client
|
||||
name: DisableCloudClipboardIntegration
|
||||
path: HKLM:\Software\Policies\Microsoft\Internet Explorer\Feeds
|
||||
name: DisableEnclosureDownload
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_2_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.57.2.2
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-connection-client
|
||||
|
||||
- name: "18.10.57.2.3 | PATCH | Ensure Do not allow passwords to be saved is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: DisablePasswordSaving
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_2_3
|
||||
when: win11cis_rule_18_10_57_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.57.2.3
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-connection-client
|
||||
|
||||
- name: "18.10.57.3.2.1 | PATCH | Ensure 'Allow users to connect remotely by using Remote Desktop Services' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDenyTSConnections
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_2_1
|
||||
- not win_skip_for_test
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.57.3.2.1
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- connections
|
||||
- rdp
|
||||
|
||||
- name: "18.10.57.3.3.1 | PATCH | Ensure 'Allow UI Automation redirection' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: EnableUiaRedirection
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_3_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.57.3.3.1
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- device-and-resource-redirection
|
||||
|
||||
- name: "18.10.57.3.3.2 | PATCH | Ensure Do not allow COM port redirection is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDisableCcm
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_3_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.57.3.3.2
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- device-and-resource-redirection
|
||||
|
||||
- name: "18.10.57.3.3.3 | PATCH | Ensure Do not allow drive redirection is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDisableCdm
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_3_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.57.3.3.3
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- device-and-resource-redirection
|
||||
|
||||
- name: "18.10.57.3.3.4 | PATCH | Ensure 'Do not allow location redirection' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDisableLocationRedir
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_3_4
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.57.3.3.4
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- device-and-resource-redirection
|
||||
|
||||
- name: "18.10.57.3.3.5 | PATCH | Ensure 'Do not allow LPT port redirection' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDisableLPT
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_3_5
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.57.3.3.5
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- device-and-resource-redirection
|
||||
|
||||
- name: "18.10.57.3.3.6 | PATCH | Ensure 'Do not allow supported Plug and Play device redirection' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDisablePNPRedir
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_3_6
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.57.3.3.6
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- device-and-resource-redirection
|
||||
|
||||
- name: "18.10.57.3.3.7 | PATCH | Ensure 'Do not allow WebAuthn redirection' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services
|
||||
name: fDisableWebAuthn
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_3_7
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.57.3.3.7
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- device-and-resource-redirection
|
||||
|
||||
- name: "18.10.57.3.9.1 | PATCH | Ensure Always prompt for password upon connection is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: fPromptForPassword
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_9_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.57.3.9.1
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- security
|
||||
|
||||
- name: "18.10.57.3.9.2 | PATCH | Ensure Require secure RPC communication is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: fEncryptRPCTraffic
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_9_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.57.3.9.2
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- security
|
||||
|
||||
- name: "18.10.57.3.9.3 | PATCH | Ensure Require use of specific security layer for remote RDP connections is set to Enabled SSL"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: SecurityLayer
|
||||
data: 2
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_9_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.57.3.9.3
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- security
|
||||
|
||||
- name: "18.10.57.3.9.4 | PATCH | Ensure Require user authentication for remote connections by using Network Level Authentication is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: UserAuthentication
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_9_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.57.3.9.4
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- security
|
||||
|
||||
- name: "18.10.57.3.9.5 | PATCH | Ensure Set client connection encryption level is set to Enabled High Level"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: MinEncryptionLevel
|
||||
data: 3
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_9_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.57.3.9.5
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- security
|
||||
|
||||
- name: "18.10.57.3.10.1 | PATCH | Ensure Set time limit for active but idle Remote Desktop Services sessions is set to Enabled 15 minutes or less, but not Never (0)"
|
||||
block:
|
||||
- name: "18.10.57.3.10.1 | AUDIT | Ensure Set time limit for active but idle Remote Desktop Services sessions is set to Enabled 15 minutes or less, but not Never (0) | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid time set for win11cis_idle_rdp_session_disconnect_time. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when:
|
||||
- win11cis_idle_rdp_session_disconnect_time == 0 or
|
||||
win11cis_idle_rdp_session_disconnect_time > 900000
|
||||
|
||||
- name: "18.10.57.3.10.1 | AUDIT | Ensure Set time limit for active but idle Remote Desktop Services sessions is set to Enabled 15 minutes or less, but not Never (0) | Warn Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.10.57.3.10.1'
|
||||
when:
|
||||
- win11cis_idle_rdp_session_disconnect_time == 0 or
|
||||
win11cis_idle_rdp_session_disconnect_time > 900000
|
||||
|
||||
- name: "18.10.57.3.10.1 | PATCH | Ensure Set time limit for active but idle Remote Desktop Services sessions is set to Enabled 15 minutes or less, but not Never (0) | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: MaxIdleTime
|
||||
data: "{{ win11cis_idle_rdp_session_disconnect_time }}"
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_idle_rdp_session_disconnect_time <= 900000
|
||||
- win11cis_idle_rdp_session_disconnect_time != 0
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_10_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.57.3.10.1
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- session-time-limits
|
||||
|
||||
- name: "18.10.57.3.10.2 | PATCH | Ensure Set time limit for disconnected sessions is set to Enabled 1 minute"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: MaxDisconnectionTime
|
||||
data: 60000
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_10_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.57.3.10.2
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- session-time-limits
|
||||
|
||||
- name: "18.10.57.3.11.1 | PATCH | Ensure Do not delete temp folders upon exit is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Terminal Services
|
||||
name: DeleteTempDirsOnExit
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_57_3_11_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.57.3.11.1
|
||||
- automated
|
||||
- patch
|
||||
- remote-desktop-session-host
|
||||
- temporary-folders
|
||||
- rule_18.10.57.1
|
||||
|
||||
@@ -1,15 +1,84 @@
|
||||
---
|
||||
|
||||
- name: "18.10.58.1 | PATCH | Ensure Prevent downloading of enclosures is set to Enabled"
|
||||
- name: "18.10.58.2 | PATCH | Ensure Allow Cloud Search is set to Enabled Disable Cloud Search"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Internet Explorer\Feeds
|
||||
name: DisableEnclosureDownload
|
||||
data: 1
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windows Search
|
||||
name: AllowCloudSearch
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_58_1
|
||||
when: win11cis_rule_18_10_58_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.58.2
|
||||
- cloud_search
|
||||
|
||||
- name: "18.10.58.3 | PATCH | Ensure 'Allow Cortana' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windows Search
|
||||
name: AllowCortana
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_58_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.58.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.58.3
|
||||
- cortana
|
||||
|
||||
- name: "18.10.58.4 | PATCH | Ensure 'Allow Cortana above lock screen' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windows Search
|
||||
name: AllowCortanaAboveLock
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_58_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.58.4
|
||||
- cortana
|
||||
|
||||
- name: "18.10.58.5 | PATCH | Ensure Allow indexing of encrypted files is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windows Search
|
||||
name: AllowIndexingEncryptedStoresOrItems
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_58_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.58.5
|
||||
- indexing
|
||||
|
||||
- name: "18.10.58.6 | PATCH | Ensure 'Allow search and Cortana to use location' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windows Search
|
||||
name: AllowSearchToUseLocation
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_58_6
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.58.6
|
||||
- cortana
|
||||
|
||||
- name: "18.10.58.7 | PATCH | Ensure 'Allow search highlights' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windows Search
|
||||
name: EnableDynamicContentInWSB
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_58_7
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.58.7
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.59.2 | PATCH | Ensure Allow Cloud Search is set to Enabled Disable Cloud Search"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windows Search
|
||||
name: AllowCloudSearch
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_59_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.59.2
|
||||
- automated
|
||||
- patch
|
||||
- cloud-search
|
||||
|
||||
- name: "18.10.59.3 | PATCH | Ensure Allow Cloud Search is set to Enabled Disable Cloud Search"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windows Search
|
||||
name: AllowCortana
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_59_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.59.3
|
||||
- automated
|
||||
- patch
|
||||
- cortana
|
||||
|
||||
- name: "18.10.59.4 | PATCH | Ensure 'Allow Cortana above lock screen' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windows Search
|
||||
name: AllowCortanaAboveLock
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_59_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.59.4
|
||||
- automated
|
||||
- patch
|
||||
- cortana
|
||||
|
||||
- name: "18.10.59.5 | PATCH | Ensure Allow indexing of encrypted files is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windows Search
|
||||
name: AllowIndexingEncryptedStoresOrItems
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_59_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.59.5
|
||||
- automated
|
||||
- patch
|
||||
- indexing
|
||||
|
||||
- name: "18.10.59.6 | PATCH | Ensure 'Allow search and Cortana to use location' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windows Search
|
||||
name: AllowSearchToUseLocation
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_59_6
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.59.6
|
||||
- automated
|
||||
- patch
|
||||
- cortana
|
||||
|
||||
- name: "18.10.59.7 | PATCH | Ensure 'Allow search highlights' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windows Search
|
||||
name: EnableDynamicContentInWSB
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_59_7
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.59.7
|
||||
- automated
|
||||
- patch
|
||||
@@ -1,15 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.63.1 | PATCH | Ensure Turn off KMS Client Online AVS Validation is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Nt\Currentversion\Software Protection Platform
|
||||
name: NoGenTicket
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_63_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.63.1
|
||||
- automated
|
||||
- patch
|
||||
@@ -1,71 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.66.1 | PATCH | Ensure 'Disable all apps from Microsoft Store' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\WindowsStore
|
||||
name: DisableStoreApps
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_66_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.66.1
|
||||
- automated
|
||||
- patch
|
||||
|
||||
- name: "18.10.66.2 | PATCH | Ensure 'Only display the private store within the Microsoft Store' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\WindowsStore
|
||||
name: RequirePrivateStoreOnly
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_66_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.66.2
|
||||
- automated
|
||||
- patch
|
||||
|
||||
- name: "18.10.66.3 | PATCH | Ensure 'Turn off Automatic Download and Install of updates' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\WindowsStore
|
||||
name: AutoDownload
|
||||
data: 4
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_66_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.66.3
|
||||
- automated
|
||||
- patch
|
||||
|
||||
- name: "18.10.66.4 | PATCH | Ensure 'Turn off the offer to update to the latest version of Windows' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\WindowsStore
|
||||
name: DisableOSUpgrade
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_66_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.66.4
|
||||
- automated
|
||||
- patch
|
||||
|
||||
- name: "18.10.66.5 | PATCH | Ensure 'Turn off the Store application' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\WindowsStore
|
||||
name: DisableOSUpgrade
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_66_5
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.66.5
|
||||
- automated
|
||||
- patch
|
||||
@@ -6,13 +6,12 @@
|
||||
name: NoAutoplayfornonVolume
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_7_1
|
||||
when: win11cis_rule_18_10_7_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.7.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.7.1
|
||||
- autoplay
|
||||
|
||||
- name: "18.10.7.2 | PATCH | Ensure Set the default behavior for AutoRun is set to Enabled Do not execute any autorun commands"
|
||||
@@ -21,13 +20,12 @@
|
||||
name: NoAutorun
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_7_2
|
||||
when: win11cis_rule_18_10_7_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.7.2
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.7.2
|
||||
- autoplay
|
||||
|
||||
- name: "18.10.7.3 | PATCH | Ensure Turn off Autoplay is set to Enabled All drives"
|
||||
@@ -36,11 +34,10 @@
|
||||
name: NoDriveTypeAutoRun
|
||||
data: 255
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_7_3
|
||||
when: win11cis_rule_18_10_7_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.7.3
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.7.3
|
||||
- autoplay
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.72.1 | PATCH | Ensure 'Allow widgets' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Dsh
|
||||
name: AllowNewsAndInterests
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_72_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.72.1
|
||||
- automated
|
||||
- patch
|
||||
@@ -1,115 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.76.1.1 | PATCH | Ensure 'Notify Malicious' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\WTDS\Components
|
||||
name: NotifyMalicious
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_76_1_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.76.1.1
|
||||
- automated
|
||||
- patch
|
||||
- enhanced-phishing-protection
|
||||
|
||||
- name: "18.10.76.1.2 | PATCH | Ensure 'Notify Password Reuse' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\WTDS\Components
|
||||
name: NotifyPasswordReuse
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_76_1_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.76.1.2
|
||||
- automated
|
||||
- patch
|
||||
- enhanced-phishing-protection
|
||||
|
||||
- name: "18.10.76.1.3 | PATCH | Ensure 'Notify Unsafe App' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\WTDS\Components
|
||||
name: NotifyUnsafeApp
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_76_1_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.76.1.3
|
||||
- automated
|
||||
- patch
|
||||
- enhanced-phishing-protection
|
||||
|
||||
- name: "18.10.76.1.4 | PATCH | Ensure 'Service Enabled' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\WTDS\Components
|
||||
name: ServiceEnabled
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_76_1_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.76.1.4
|
||||
- automated
|
||||
- patch
|
||||
- enhanced-phishing-protection
|
||||
|
||||
- name: "18.10.76.2.1 | PATCH | Ensure 'Service Enabled' is set to 'Enabled'"
|
||||
block:
|
||||
- name: "18.10.76.2.1 | PATCH | Ensure Configure Windows Defender SmartScreen is set to Enabled Warn and prevent bypass | EnableSmartScreen"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\System
|
||||
name: EnableSmartScreen
|
||||
data: 1
|
||||
type: dword
|
||||
|
||||
- name: "18.10.76.2.1 | PATCH | Ensure Configure Windows Defender SmartScreen is set to Enabled Warn and prevent bypass | ShellSmartScreenLevel"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\System
|
||||
name: ShellSmartScreenLevel
|
||||
data: Block
|
||||
type: string
|
||||
when:
|
||||
- win11cis_rule_18_10_76_2_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.76.2.1
|
||||
- automated
|
||||
- patch
|
||||
- explorer
|
||||
|
||||
- name: "18.10.76.3.1 | PATCH | Ensure 'Configure Windows Defender SmartScreen' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\MicrosoftEdge\PhishingFilter
|
||||
name: EnabledV9
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_76_3_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.76.3.1
|
||||
- automated
|
||||
- patch
|
||||
- microsoft-edge
|
||||
|
||||
- name: "18.10.76.3.2 | PATCH | Ensure 'Prevent bypassing Windows Defender SmartScreen prompts for sites' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\MicrosoftEdge\PhishingFilter
|
||||
name: PreventOverride
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_76_3_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.76.3.2
|
||||
- automated
|
||||
- patch
|
||||
- microsoft-edge
|
||||
@@ -1,15 +1,14 @@
|
||||
---
|
||||
|
||||
- name: "18.10.78.1 | PATCH | Ensure 'Enables or disables Windows Game Recording and Broadcasting' is set to 'Disabled'"
|
||||
- name: "18.10.78.1 | PATCH | Ensure 'Enable ESS with Supported Peripherals' is set to 'Enabled: 1'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\GameDVR
|
||||
name: AllowGameDVR
|
||||
data: 0
|
||||
path: HKLM:\Software\Microsoft\Policies\PassportForWork\Biometrics
|
||||
name: EnableESSwithSupportedPeripherals
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_78_1
|
||||
when: win11cis_rule_18_10_78_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.78.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.78.1
|
||||
|
||||
@@ -1,15 +1,48 @@
|
||||
---
|
||||
|
||||
- name: "18.10.79.1 | PATCH | Ensure 'Enable ESS with Supported Peripherals' is set to 'Enabled: 1'"
|
||||
- name: "18.10.79.1 | PATCH | Ensure 'Allow suggested apps in Windows Ink Workspace' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Microsoft\Policies\PassportForWork\Biometrics
|
||||
name: EnableESSwithSupportedPeripherals
|
||||
data: 1
|
||||
path: HKLM:\Software\Microsoft\Policies\Microsoft\WindowsInkWorkspace
|
||||
name: AllowSuggestedAppsInWindowsInkWorkspace
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_79_1
|
||||
when: win11cis_rule_18_10_79_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.79.1
|
||||
|
||||
- name: "18.10.79.2 | PATCH | Ensure 'Allow Windows Ink Workspace' is set to 'Enabled: On, but disallow access above lock' OR 'Enabled: Disabled'"
|
||||
block:
|
||||
- name: "18.10.79.2 | PATCH | Ensure 'Allow Windows Ink Workspace' is set to 'Enabled: On, but disallow access above lock' OR 'Enabled: Disabled' | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Microsoft\Policies\Microsoft\WindowsInkWorkspace
|
||||
name: AllowWindowsInkWorkspace
|
||||
data: "{{ win11cis_allow_windows_ink_workspace }}"
|
||||
type: dword
|
||||
when: win11cis_allow_windows_ink_workspace == 0 or win11cis_allow_windows_ink_workspace == 1
|
||||
|
||||
- name: "18.10.79.2 | AUDIT | Ensure 'Allow Windows Ink Workspace' is set to 'Enabled: On, but disallow access above lock' OR 'Enabled: Disabled' | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid setting for win11cis_allow_windows_ink_workspace. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when:
|
||||
- win11cis_allow_windows_ink_workspace != 0
|
||||
- win11cis_allow_windows_ink_workspace != 1
|
||||
|
||||
- name: "18.10.79.2 | AUDIT | Ensure 'Allow Windows Ink Workspace' is set to 'Enabled: On, but disallow access above lock' OR 'Enabled: Disabled' | Warn Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.10.79.2'
|
||||
when:
|
||||
- win11cis_allow_windows_ink_workspace != 0
|
||||
- win11cis_allow_windows_ink_workspace != 1
|
||||
when: win11cis_rule_18_10_79_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.79.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.79.2
|
||||
|
||||
@@ -6,12 +6,11 @@
|
||||
name: EnhancedAntiSpoofing
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_8_1_1
|
||||
when: win11cis_rule_18_10_8_1_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.8.1.1
|
||||
- automated
|
||||
- patch
|
||||
- facial-features
|
||||
- automated
|
||||
- rule_18.10.8.1.1
|
||||
- facial_features
|
||||
- antispoofing
|
||||
|
||||
@@ -1,51 +1,41 @@
|
||||
---
|
||||
|
||||
- name: "18.10.80.1 | PATCH | Ensure 'Allow suggested apps in Windows Ink Workspace' is set to 'Disabled'"
|
||||
- name: "18.10.80.1 | PATCH | Ensure 'Allow user control over installs' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Microsoft\Policies\Microsoft\WindowsInkWorkspace
|
||||
name: AllowSuggestedAppsInWindowsInkWorkspace
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Installer
|
||||
name: EnableUserControl
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_80_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.80.1
|
||||
- automated
|
||||
- patch
|
||||
|
||||
- name: "18.10.80.2 | PATCH | Ensure 'Allow suggested apps in Windows Ink Workspace' is set to 'Disabled'"
|
||||
block:
|
||||
- name: "18.10.80.2 | AUDIT | Ensure 'Allow suggested apps in Windows Ink Workspace' is set to 'Disabled' | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid setting for win11cis_allow_windows_ink_workspace. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when:
|
||||
- win11cis_allow_windows_ink_workspace != 0
|
||||
- win11cis_allow_windows_ink_workspace != 1
|
||||
|
||||
- name: "18.10.80.2 | AUDIT | Ensure 'Allow suggested apps in Windows Ink Workspace' is set to 'Disabled' | Warn Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.10.80.2'
|
||||
when:
|
||||
- win11cis_allow_windows_ink_workspace != 0
|
||||
- win11cis_allow_windows_ink_workspace != 1
|
||||
|
||||
- name: "18.10.80.2 | PATCH | Ensure 'Allow suggested apps in Windows Ink Workspace' is set to 'Disabled' | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Microsoft\Policies\Microsoft\WindowsInkWorkspace
|
||||
name: AllowWindowsInkWorkspace
|
||||
data: "{{ win11cis_allow_windows_ink_workspace }}"
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_allow_windows_ink_workspace == 0 or win11cis_allow_windows_ink_workspace == 1
|
||||
when:
|
||||
- win11cis_rule_18_10_80_2
|
||||
when: win11cis_rule_18_10_80_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.80.1
|
||||
|
||||
- name: "18.10.80.2 | PATCH | Ensure Always install with elevated privileges is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Installer
|
||||
name: AlwaysInstallElevated
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_80_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.80.2
|
||||
- automated
|
||||
|
||||
- name: "18.10.80.3 | PATCH | Ensure Prevent Internet Explorer security prompt for Windows Installer scripts is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Installer
|
||||
name: SafeForScripting
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_80_3
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.80.3
|
||||
|
||||
@@ -1,43 +1,27 @@
|
||||
---
|
||||
|
||||
- name: "18.10.81.1 | PATCH | Ensure 'Allow user control over installs' is set to 'Disabled'"
|
||||
- name: "18.10.81.1 | PATCH | Ensure 'Enable MPR notifications for the system' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Installer
|
||||
name: EnableUserControl
|
||||
path: HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System
|
||||
name: EnableMPR
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_81_1
|
||||
when: win11cis_rule_18_10_81_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.81.1
|
||||
- automated
|
||||
- patch
|
||||
|
||||
- name: "18.10.81.2 | PATCH | Ensure Always install with elevated privileges is set to Disabled"
|
||||
- name: "18.10.81.2 | PATCH | Ensure 'Sign-in and lock last interactive user automatically after a restart' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Installer
|
||||
name: AlwaysInstallElevated
|
||||
data: 0
|
||||
path: HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System
|
||||
name: DisableAutomaticRestartSignOn
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_81_2
|
||||
when: win11cis_rule_18_10_81_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.81.2
|
||||
- automated
|
||||
- patch
|
||||
|
||||
- name: "18.10.81.3 | PATCH | Ensure Prevent Internet Explorer security prompt for Windows Installer scripts is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Installer
|
||||
name: SafeForScripting
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_81_3
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.81.3
|
||||
- automated
|
||||
- patch
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.82.1 | PATCH | Ensure 'Enable MPR notifications for the system' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System
|
||||
name: EnableMPR
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_82_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.82.1
|
||||
- automated
|
||||
- patch
|
||||
|
||||
- name: "18.10.82.2 | PATCH | Ensure 'Sign-in and lock last interactive user automatically after a restart' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System
|
||||
name: DisableAutomaticRestartSignOn
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_82_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.82.2
|
||||
- automated
|
||||
- patch
|
||||
@@ -1,46 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.87.1 | PATCH | Ensure 'Turn on PowerShell Script Block Logging' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging
|
||||
name: EnableScriptBlockLogging
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_87_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.87.1
|
||||
- automated
|
||||
- patch
|
||||
|
||||
- name: "18.10.87.2 | PATCH | Ensure 'Turn on PowerShell Transcription' is set to 'Enabled'"
|
||||
block:
|
||||
- name: "18.10.87.2 | PATCH | Ensure 'Turn on PowerShell Transcription' is set to 'Enabled | Turn on PowerShell Transcription."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Powershell\Transcription
|
||||
name: EnableTranscripting
|
||||
data: 1
|
||||
type: dword
|
||||
|
||||
- name: "18.10.87.2 | PATCH | Ensure 'Turn on PowerShell Transcription' is set to 'Enabled | Set Log Directory"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Powershell\Transcription
|
||||
name: OutputDirectory
|
||||
data: "{{ win11cis_powershell_transcription_dir }}"
|
||||
type: string
|
||||
when: "'Default' not in win11cis_powershell_transcription_dir"
|
||||
|
||||
- name: "18.10.87.2 | PATCH | Ensure 'Turn on PowerShell Transcription' is set to 'Enabled | Remove Custom Log Directory"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Powershell\Transcription
|
||||
name: OutputDirectory
|
||||
state: absent
|
||||
when: "'Default' in win11cis_powershell_transcription_dir"
|
||||
when:
|
||||
- win11cis_rule_18_10_87_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.87.2
|
||||
- automated
|
||||
- patch
|
||||
@@ -1,112 +1,16 @@
|
||||
---
|
||||
|
||||
- name: "18.10.89.1.1 | PATCH | Ensure Allow Basic authentication is set to Disabled"
|
||||
- name: "18.10.89.1 | PATCH | Ensure Allow Remote Shell Access is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Winrm\Client
|
||||
name: AllowBasic
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Winrm\Service\Winrs
|
||||
name: AllowRemoteShellAccess
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_89_1_1
|
||||
- not win_skip_for_test
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.89.1.1
|
||||
- automated
|
||||
- patch
|
||||
- winrm-client
|
||||
|
||||
- name: "18.10.89.1.2 | PATCH | Ensure Allow unencrypted traffic is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Winrm\Client
|
||||
name: AllowUnencryptedTraffic
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_89_1_2
|
||||
- not win_skip_for_test
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.89.1.2
|
||||
- automated
|
||||
- patch
|
||||
- winrm-client
|
||||
|
||||
- name: "18.10.89.1.3 | PATCH | Ensure Disallow Digest authentication is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Winrm\Client
|
||||
name: AllowDigest
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_89_1_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.89.1.3
|
||||
- automated
|
||||
- patch
|
||||
- winrm-client
|
||||
|
||||
- name: "18.10.89.2.1 | PATCH | Ensure Allow Basic authentication is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Winrm\Service
|
||||
name: AllowBasic
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_89_2_1
|
||||
- not win_skip_for_test
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.89.2.1
|
||||
- automated
|
||||
- patch
|
||||
- winrm-service
|
||||
|
||||
# This control will have to be set to Enabled (1) to allow for continued remote management via Ansible following machine restart
|
||||
- name: "18.10.89.2.2 | PATCH | Ensure Allow remote server management through WinRM is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Winrm\Service
|
||||
name: AllowAutoConfig
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_89_2_2
|
||||
- win11cis_rule_18_10_89_1
|
||||
- not win_skip_for_test
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.10.89.2.2
|
||||
- automated
|
||||
- patch
|
||||
- winrm-service
|
||||
|
||||
- name: "18.10.89.2.3 | PATCH | Ensure Allow unencrypted traffic is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Winrm\Service
|
||||
name: AllowUnencryptedTraffic
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_89_2_3
|
||||
- not win_skip_for_test
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.89.2.3
|
||||
- automated
|
||||
- patch
|
||||
- winrm-service
|
||||
|
||||
- name: "18.9.102.2.4 | PATCH | Ensure Disallow WinRM from storing RunAs credentials is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Winrm\Service
|
||||
name: DisableRunAs
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_89_2_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.89.2.4
|
||||
- automated
|
||||
- patch
|
||||
- winrm-service
|
||||
- rule_18.10.89.1
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,16 +1,27 @@
|
||||
---
|
||||
|
||||
- name: "18.1.90.1 | PATCH | Ensure Allow Remote Shell Access is set to Disabled"
|
||||
- name: "18.10.90.1 | PATCH | Ensure 'Allow clipboard sharing with Windows Sandbox' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Winrm\Service\Winrs
|
||||
name: AllowRemoteShellAccess
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Sandbox
|
||||
name: AllowClipboardRedirection
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_1_90_1
|
||||
- not win_skip_for_test
|
||||
when: win11cis_rule_18_10_90_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.1.90.1
|
||||
- automated
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.90.1
|
||||
|
||||
- name: "18.10.90.2 | PATCH | Ensure 'Allow networking in Windows Sandbox' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Sandbox
|
||||
name: AllowNetworking
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_90_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.90.2
|
||||
|
||||
@@ -1,29 +1,14 @@
|
||||
---
|
||||
|
||||
- name: "18.1.91.1 | PATCH | Ensure 'Allow clipboard sharing with Windows Sandbox' is set to 'Disabled'"
|
||||
- name: "18.10.91.2.1 | PATCH | Ensure Prevent users from modifying settings is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Sandbox
|
||||
name: AllowClipboardRedirection
|
||||
data: 0
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender Security Center\App and Browser protection
|
||||
name: DisallowExploitProtectionOverride
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_1_91_1
|
||||
when: win11cis_rule_18_10_91_2_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.1.91.1
|
||||
- automated
|
||||
- patch
|
||||
|
||||
- name: "18.1.91.2 | PATCH | Ensure 'Allow clipboard sharing with Windows Sandbox' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Sandbox
|
||||
name: AllowNetworking
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_1_91_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.1.91.2
|
||||
- automated
|
||||
- patch
|
||||
- rule_18.10.91.2.1
|
||||
- app_and_browser_protection
|
||||
|
||||
@@ -1,15 +1,181 @@
|
||||
---
|
||||
- name: "18.10.92.2.1 | PATCH | Ensure Prevent users from modifying settings is set to Enabled"
|
||||
|
||||
- name: "18.10.92.1.1 | PATCH | Ensure No auto-restart with logged on users for scheduled automatic updates installations is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows Defender Security Center\App and Browser protection
|
||||
name: DisallowExploitProtectionOverride
|
||||
data: 1
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windowsupdate\Au
|
||||
name: NoAutoRebootWithLoggedOnUsers
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_92_2_1
|
||||
when: win11cis_rule_18_10_92_1_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.92.2.1
|
||||
- automated
|
||||
- patch
|
||||
- app-and-browser-protection
|
||||
- automated
|
||||
- rule_18.10.92.1.1
|
||||
- legacy_policies
|
||||
|
||||
- name: "18.10.92.2.1 | PATCH | Ensure Configure Automatic Updates is set to Enabled"
|
||||
block:
|
||||
- name: "18.10.92.2.1 | PATCH | Ensure Configure Automatic Updates is set to Enabled | Set Auto Update."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windowsupdate\Au
|
||||
name: NoAutoUpdate
|
||||
data: 0
|
||||
type: dword
|
||||
|
||||
- name: "18.10.92.2.1 | PATCH | Ensure Configure Automatic Updates is set to Enabled | Set Properties For Updates."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windowsupdate\Au
|
||||
name: AUOptions
|
||||
data: "{{ win11cis_au_options }}"
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_au_options >= 2
|
||||
- win11cis_au_options <= 5
|
||||
|
||||
- name: "18.10.92.2.1 | AUDIT | Ensure Configure Automatic Updates is set to Enabled | Warning Message Bad Variable."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid setting for win11cis_au_options. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_au_options < 2 or win11cis_au_options > 5
|
||||
|
||||
- name: "18.10.92.2.1 | AUDIT | Ensure Configure Automatic Updates is set to Enabled | Warning Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.10.92.2.1'
|
||||
when: win11cis_au_options < 2 or win11cis_au_options > 5
|
||||
when: win11cis_rule_18_10_92_2_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.92.2.1
|
||||
- manage_end_user_experience
|
||||
- updates
|
||||
|
||||
- name: "18.10.92.2.2 | PATCH | Ensure 'Configure Automatic Updates: Scheduled install day' is set to '0 - Every day' "
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windowsupdate\Au
|
||||
name: ScheduledInstallDay
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_92_2_2
|
||||
- win11cis_au_options == 4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.92.2.2
|
||||
- manage_end_user_experience
|
||||
- updates
|
||||
|
||||
- name: "18.10.92.2.3 | PATCH | Ensure 'Enable features introduced via servicing that are off by default' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate
|
||||
name: AllowTemporaryEnterpriseFeatureControl
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_92_2_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.92.2.3
|
||||
- manage_end_user_experience
|
||||
- features
|
||||
|
||||
- name: "18.10.92.2.4 | PATCH | Ensure 'Remove access to “Pause updates” feature' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate
|
||||
name: SetDisablePauseUXAccess
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_92_2_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.92.2.4
|
||||
- manage_end_user_experience
|
||||
- updates
|
||||
|
||||
- name: "18.10.92.4.1 | PATCH | Ensure 'Manage preview builds' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate
|
||||
name: ManagePreviewBuildsPolicyValue
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_92_4_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.92.4.1
|
||||
- manage_updates_offered_from_windows_update
|
||||
- preview
|
||||
|
||||
- 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'"
|
||||
block:
|
||||
- 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' | DeferFeatureUpdates"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate
|
||||
name: DeferFeatureUpdates
|
||||
data: 1
|
||||
type: dword
|
||||
|
||||
- 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' | DeferFeatureUpdatesPeriodInDays"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate
|
||||
name: DeferFeatureUpdatesPeriodInDays
|
||||
data: "{{ win11cis_defer_feature_updates_period_in_days }}"
|
||||
type: dword
|
||||
when: win11cis_defer_feature_updates_period_in_days >= 180
|
||||
|
||||
- name: "18.10.92.4.2 | AUDIT | Ensure 'Select when Preview Builds and Feature Updates are received' is set to 'Enabled: 180 or more days' | Variable Warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid number of days for win11cis_defer_feature_updates_period_in_days. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_defer_feature_updates_period_in_days < 180
|
||||
|
||||
- name: "18.10.92.4.2 | AUDIT | Ensure 'Select when Preview Builds and Feature Updates are received' is set to 'Enabled: 180 or more days' | Warning Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.10.92.4.2'
|
||||
when: win11cis_defer_feature_updates_period_in_days < 180
|
||||
when: win11cis_rule_18_10_92_4_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.92.4.2
|
||||
- manage_updates_offered_from_windows_update
|
||||
- preview
|
||||
|
||||
- name: "18.10.92.4.3 | PATCH | Ensure Select when Quality Updates are received is set to Enabled 0 days"
|
||||
block:
|
||||
- name: "18.10.92.4.3 | PATCH | Ensure Select when Quality Updates are received is set to Enabled 0 days | DeferQualityUpdates"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
|
||||
name: DeferQualityUpdates
|
||||
data: 1
|
||||
type: dword
|
||||
|
||||
- name: "18.10.92.4.3 | PATCH | Ensure Select when Quality Updates are received is set to Enabled 0 days | DeferQualityUpdatesPeriodInDays"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
|
||||
name: DeferQualityUpdatesPeriodInDays
|
||||
data: 0
|
||||
type: dword
|
||||
when: win11cis_rule_18_10_92_4_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.10.92.4.3
|
||||
- manage_updates_offered_from_windows_update
|
||||
- updates
|
||||
|
||||
@@ -1,174 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.10.93.1.1 | PATCH | Ensure No auto-restart with logged on users for scheduled automatic updates installations is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windowsupdate\Au
|
||||
name: NoAutoRebootWithLoggedOnUsers
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_93_1_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.93.1.1
|
||||
- automated
|
||||
- patch
|
||||
- legacy-policies
|
||||
|
||||
- name: "18.10.93.2.1 | PATCH | Ensure Configure Automatic Updates is set to Enabled"
|
||||
block:
|
||||
- name: "18.10.93.2.1 | PATCH | Ensure Configure Automatic Updates is set to Enabled | Set Auto Update."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windowsupdate\Au
|
||||
name: NoAutoUpdate
|
||||
data: 0
|
||||
type: dword
|
||||
|
||||
- name: "18.10.93.2.1 | AUDIT | Ensure Configure Automatic Updates is set to Enabled | Warning Message Bad Variable."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid setting for win11cis_au_options. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when:
|
||||
- win11cis_au_options < 2 or win11cis_au_options > 5
|
||||
|
||||
- name: "18.10.93.2.1 | AUDIT | Ensure Configure Automatic Updates is set to Enabled | Warning Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.10.93.2.1'
|
||||
when:
|
||||
- win11cis_au_options < 2 or win11cis_au_options > 5
|
||||
|
||||
- name: "18.10.93.2.1 | PATCH | Ensure Configure Automatic Updates is set to Enabled | Set Properties For Updates."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windowsupdate\Au
|
||||
name: AUOptions
|
||||
data: "{{ win11cis_au_options }}"
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_au_options >= 2
|
||||
- win11cis_au_options <= 5
|
||||
when:
|
||||
- win11cis_rule_18_10_93_2_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.93.2.1
|
||||
- automated
|
||||
- patch
|
||||
- manage-end-user-experience
|
||||
- updates
|
||||
|
||||
- name: "18.10.93.2.2 | PATCH | Ensure 'Configure Automatic Updates: Scheduled install day' is set to '0 - Every day' "
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Windowsupdate\Au
|
||||
name: ScheduledInstallDay
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_93_2_2
|
||||
- win11cis_au_options == 4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.93.2.2
|
||||
- automated
|
||||
- patch
|
||||
- manage-end-user-experience
|
||||
- updates
|
||||
|
||||
- name: "18.10.93.2.3 | PATCH | Ensure 'Remove access to “Pause updates” feature' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\PPolicies\Microsoft\Windows\WindowsUpdate
|
||||
name: SetDisablePauseUXAccess
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_93_2_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.93.2.3
|
||||
- automated
|
||||
- patch
|
||||
- manage-end-user-experience
|
||||
- updates
|
||||
|
||||
- name: "18.10.93.4.1 | PATCH | Ensure 'Manage preview builds' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate
|
||||
name: ManagePreviewBuildsPolicyValue
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_93_4_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.93.4.1
|
||||
- automated
|
||||
- patch
|
||||
- manage-updates-offered-from-windows-update
|
||||
- preview
|
||||
|
||||
- name: "18.10.93.4.2 | PATCH | Ensure 'Select when Preview Builds and Feature Updates are received' is set to 'Enabled: 180 or more days'"
|
||||
block:
|
||||
- name: "18.10.93.4.2 | PATCH | Ensure 'Select when Preview Builds and Feature Updates are received' is set to 'Enabled: 180 or more days' | DeferFeatureUpdates"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate
|
||||
name: DeferFeatureUpdates
|
||||
data: 1
|
||||
type: dword
|
||||
|
||||
- name: "18.10.93.4.2 | AUDIT | Ensure 'Select when Preview Builds and Feature Updates are received' is set to 'Enabled: 180 or more days' | Variable Warning."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have an invalid number of days for win11cis_defer_feature_updates_period_in_days. Please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_defer_feature_updates_period_in_days < 180
|
||||
|
||||
- name: "18.10.93.4.2 | AUDIT | Ensure 'Select when Preview Builds and Feature Updates are received' is set to 'Enabled: 180 or more days' | Warning Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.10.93.4.2'
|
||||
when: win11cis_defer_feature_updates_period_in_days < 180
|
||||
|
||||
- name: "18.10.93.4.2 | PATCH | Ensure 'Select when Preview Builds and Feature Updates are received' is set to 'Enabled: 180 or more days' | DeferFeatureUpdatesPeriodInDays"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate
|
||||
name: DeferFeatureUpdatesPeriodInDays
|
||||
data: "{{ win11cis_defer_feature_updates_period_in_days }}"
|
||||
type: dword
|
||||
when: win11cis_defer_feature_updates_period_in_days >= 180
|
||||
when:
|
||||
- win11cis_rule_18_10_93_4_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.93.4.2
|
||||
- automated
|
||||
- patch
|
||||
- manage-updates-offered-from-windows-update
|
||||
- preview
|
||||
|
||||
- name: "18.10.93.4.3 | PATCH | Ensure Select when Quality Updates are received is set to Enabled 0 days"
|
||||
block:
|
||||
- name: "18.10.93.4.3 | PATCH | Ensure Select when Quality Updates are received is set to Enabled 0 days | DeferQualityUpdates"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
|
||||
name: DeferQualityUpdates
|
||||
data: 1
|
||||
type: dword
|
||||
|
||||
- name: "18.10.93.4.3 | PATCH | Ensure Select when Quality Updates are received is set to Enabled 0 days | DeferQualityUpdatesPeriodInDays"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
|
||||
name: DeferQualityUpdatesPeriodInDays
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_10_93_4_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.10.93.4.3
|
||||
- automated
|
||||
- patch
|
||||
- manage-updates-offered-from-windows-update
|
||||
- updates
|
||||
@@ -4,334 +4,326 @@
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.3.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- app-package-deployment
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- app_package_deployment
|
||||
|
||||
- name: "SECTION | 18.10.4 | App Privacy"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.4.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- app-privacy
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- app_privacy
|
||||
|
||||
- name: "SECTION | 18.10.5 | App Runtime"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.5.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- app-runtime
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- app_runtime
|
||||
|
||||
- name: "SECTION | 18.10.7 | Autoplay Policies"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.7.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- autoplay-policies
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- autoplay_policies
|
||||
|
||||
- name: "SECTION | 18.10.8 | Biometrics"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.8.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- biometrics
|
||||
|
||||
- name: "SECTION | 18.10.9 | Bitlocker Drive Encryption"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.9.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- bitlocker-drive-encryption
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- bitlocker_drive_encryption
|
||||
|
||||
- name: "SECTION | 18.10.10 | Camera"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.10.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- camera
|
||||
|
||||
- name: "SECTION | 18.10.12 | Cloud Content"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.12.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- cloud-content
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- cloud_content
|
||||
|
||||
- name: "SECTION | 18.10.13 | Connect"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.13.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- connect
|
||||
|
||||
- name: "SECTION | 18.10.14 | Credential User Interface"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.14.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- credential-user-interface
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- credential_user_interface
|
||||
|
||||
- name: "SECTION | 18.10.15 | Data Collection And Preview Builds"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.15.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- data-collection-and-preview-builds
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- data_collection_and_preview_builds
|
||||
|
||||
- name: "SECTION | 18.10.16 | Delivery Optimization"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.16.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- delivery-optimization
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- delivery_optimization
|
||||
|
||||
- name: "SECTION | 18.10.17 | Desktop App Installer"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.17.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- desktop-app-installer
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- desktop_app_installer
|
||||
|
||||
- name: "SECTION | 18.10.26 | Event Log Service"
|
||||
- name: "SECTION | 18.10.25 | Event Log Service"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.26.x.yml
|
||||
file: cis_18.10.25.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- event-log-service
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- event_log_service
|
||||
|
||||
- name: "SECTION | 18.10.29 | File Explorer (Formerly Windows Explorer)"
|
||||
- name: "SECTION | 18.10.28 | File Explorer (Formerly Windows Explorer)"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.29.x.yml
|
||||
file: cis_18.10.28.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- file-explorer
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- file_explorer
|
||||
|
||||
- name: "SECTION | 18.10.33 | Homegroup"
|
||||
- name: "SECTION | 18.10.36 | Location And Sensors"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.33.x.yml
|
||||
file: cis_18.10.36.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- homegroup
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- location_and_sensors
|
||||
|
||||
- name: "SECTION | 18.10.37 | Location And Sensors"
|
||||
- name: "SECTION | 18.10.40 | Messaging"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.37.x.yml
|
||||
file: cis_18.10.40.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- location-and-sensors
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- messaging
|
||||
|
||||
- name: "SECTION | 18.10.41 | Messaging"
|
||||
- name: "SECTION | 18.10.41 | Microsoft Account"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.41.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- messaging
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- microsoft_account
|
||||
|
||||
- name: "SECTION | 18.10.42 | Microsoft Account"
|
||||
- name: "SECTION | 18.10.42 | Microsoft Defender Antivirus (formerly Windows Defender and Windows Defender Antivirus)"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.42.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- microsoft-account
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- microsoft_defender_antivirus
|
||||
|
||||
- name: "SECTION | 18.10.43 | Microsoft Defender Antivirus (formerly Windows Defender and Windows Defender Antivirus)"
|
||||
- name: "SECTION | 18.10.43 | Microsoft Defender Application Guard (formerly Windows Defender Application Guard)"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.43.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- microsoft-defender-antivirus
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- microsoft_defender_application_guard
|
||||
|
||||
- name: "SECTION | 18.10.44 | Microsoft Defender Application Guard (formerly Windows Defender Application Guard)"
|
||||
- name: "SECTION | 18.10.49 | News And Interests"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.44.x.yml
|
||||
file: cis_18.10.49.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- microsoft-defender-application-guard
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- news_and_interests
|
||||
|
||||
- name: "SECTION | 18.10.50 | News And Interests"
|
||||
- name: "SECTION | 18.10.50 | OneDrive (Formerly SkyDrive)"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.50.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- news-and-interests
|
||||
|
||||
- name: "SECTION | 18.10.51 | OneDrive (Formerly SkyDrive)"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.51.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- onedrive
|
||||
|
||||
- name: "SECTION | 18.10.56 | Push To Install"
|
||||
- name: "SECTION | 18.10.55 | Push To Install"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.55.x.yml
|
||||
tags:
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- push_to_install
|
||||
|
||||
- name: "SECTION | 18.10.56 | Remote Desktop Services (formerly Terminal Services)"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.56.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- push-to-install
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- remote_desktop_services
|
||||
|
||||
- name: "SECTION | 18.10.57 | Remote Desktop Services (formerly Terminal Services)"
|
||||
- name: "SECTION | 18.10.57 | RSS Feeds"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.57.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- remote-desktop-services
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- rss_feeds
|
||||
|
||||
- name: "SECTION | 18.10.58 | RSS Feeds"
|
||||
- name: "SECTION | 18.10.58 | Search"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.58.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- rss-feeds
|
||||
|
||||
- name: "SECTION | 18.10.59 | Search"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.59.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- search
|
||||
|
||||
- name: "SECTION | 18.10.63 | Software Protection Platform"
|
||||
- name: "SECTION | 18.10.62 | Software Protection Platform"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.63.x.yml
|
||||
file: cis_18.10.62.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- software-protection-platform
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- software_protection_platform
|
||||
|
||||
- name: "SECTION | 18.10.66 | Store"
|
||||
- name: "SECTION | 18.10.65 | Store"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.66.x.yml
|
||||
file: cis_18.10.65.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- store
|
||||
|
||||
- name: "SECTION | 18.10.72 | Widgets"
|
||||
- name: "SECTION | 18.10.71 | Widgets"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.72.x.yml
|
||||
file: cis_18.10.71.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- widgets
|
||||
|
||||
- name: "SECTION | 18.10.76 | Windows Defender SmartScreen"
|
||||
- name: "SECTION | 18.10.75 | Windows Defender SmartScreen"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.76.x.yml
|
||||
file: cis_18.10.75.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- windows-defender-smartscreen
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- windows_defender_smartscreen
|
||||
|
||||
- name: "SECTION | 18.10.78 | Windows Game Recording and Broadcasting"
|
||||
- name: "SECTION | 18.10.77 | Windows Game Recording and Broadcasting"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.77.x.yml
|
||||
tags:
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- windows_game_recording_and_broadcasting
|
||||
|
||||
- name: "SECTION | 18.10.78 | Windows Hello for Business (formerly Microsoft Passport for Work)"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.78.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- windows-game-recording-and-broadcasting
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- windows_hello_for_business
|
||||
|
||||
- name: "SECTION | 18.10.79 | Windows Hello for Business (formerly Microsoft Passport for Work)"
|
||||
- name: "SECTION | 18.10.79 | Windows Ink Workspace"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.79.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- windows-hello-for-business
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- windows_ink_workspace
|
||||
|
||||
- name: "SECTION | 18.10.80 | Windows Ink Workspace"
|
||||
- name: "SECTION | 18.10.80 | Windows Installer"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.80.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- windows-ink-workspace
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- windows_installer
|
||||
|
||||
- name: "SECTION | 18.10.81 | Windows Installer"
|
||||
- name: "SECTION | 18.10.81 | Windows Logon Options"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.81.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- windows-installer
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- windows_logon_options
|
||||
|
||||
- name: "SECTION | 18.10.82 | Windows Logon Options"
|
||||
- name: "SECTION | 18.10.86 | Windows Powershell"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.82.x.yml
|
||||
file: cis_18.10.86.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- windows-logon-options
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- windows_powershell
|
||||
|
||||
- name: "SECTION | 18.10.87 | Windows Powershell"
|
||||
- name: "SECTION | 18.10.88 | Windows Remote Management (WinRM)"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.87.x.yml
|
||||
file: cis_18.10.88.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- windows-powershell
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- windows_remote_management
|
||||
|
||||
- name: "SECTION | 18.10.89 | Windows Remote Management (WinRM)"
|
||||
- name: "SECTION | 18.10.89 | Windows Remote Shell"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.89.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- windows-remote-management
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- windows_remote_shell
|
||||
|
||||
- name: "SECTION | 18.10.90 | Windows Remote Shell"
|
||||
- name: "SECTION | 18.10.90 | Windows Sandbox"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.90.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- windows-remote-shell
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- windows_sandbox
|
||||
|
||||
- name: "SECTION | 18.10.91 | Windows Sandbox"
|
||||
- name: "SECTION | 18.10.91 | Windows Security (formerly Windows Defender Security Center)"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.91.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- windows-sandbox
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- windows_security
|
||||
|
||||
- name: "SECTION | 18.10.92 | Windows Security (formerly Windows Defender Security Center)"
|
||||
- name: "SECTION | 18.10.92 | Windows Update"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.92.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- windows-security
|
||||
|
||||
- name: "SECTION | 18.10.93 | Windows Update"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.10.93.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- windows-components
|
||||
- windows-update
|
||||
- administrative_templates_computer
|
||||
- windows_components
|
||||
- windows_update
|
||||
|
||||
@@ -1,124 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "18.3.1 | PATCH | Ensure LAPS AdmPwd GPO Extension CSE is installed."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions\{D76B9641-3288-4f75-942D-087DE603E3EA}
|
||||
name: DllName
|
||||
data: C:\Program Files\LAPS\CSE\AdmPwd.dll
|
||||
type: string
|
||||
when:
|
||||
- win11cis_rule_18_3_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.3.1
|
||||
- automated
|
||||
- patch
|
||||
- gpo
|
||||
|
||||
- name: "18.3.2 | PATCH | Ensure Do not allow password expiration time longer than required by policy is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft Services\AdmPwd
|
||||
name: PwdExpirationProtectionEnabled
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_3_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.3.2
|
||||
- automated
|
||||
- patch
|
||||
- password
|
||||
|
||||
- name: "18.3.3 | PATCH | Ensure Enable Local Admin Password Management is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft Services\AdmPwd
|
||||
name: AdmPwdEnabled
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_3_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.3.3
|
||||
- automated
|
||||
- patch
|
||||
- administrator-password
|
||||
|
||||
- name: "18.3.4 | PATCH | Ensure Password Settings Password Complexity is set to Enabled Large letters small letters numbers special characters."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft Services\AdmPwd
|
||||
name: PasswordComplexity
|
||||
data: 4
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_3_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.3.4
|
||||
- automated
|
||||
- patch
|
||||
- password
|
||||
|
||||
- name: "18.3.5 | PATCH | Ensure Password Settings Password Length is set to Enabled 15 or more."
|
||||
block:
|
||||
- name: "18.3.5 | AUDIT | Ensure Password Settings Password Length is set to Enabled 15 or more MS only. | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have a invalid password length set for win11cis_laps_password_length please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_laps_password_length < 15
|
||||
|
||||
- name: "18.3.5 | AUDIT | Ensure Password Settings Password Length is set to Enabled 15 or more MS only. | Warn Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.3.5'
|
||||
when: win11cis_laps_password_length < 15
|
||||
|
||||
- name: "18.3.5 | PATCH | Ensure Password Settings Password Length is set to Enabled 15 or more MS only. | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft Services\AdmPwd
|
||||
name: PasswordLength
|
||||
data: "{{ win11cis_laps_password_length }}"
|
||||
type: dword
|
||||
when: win11cis_laps_password_length >= 15
|
||||
when:
|
||||
- win11cis_rule_18_3_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.3.5
|
||||
- patch
|
||||
- password
|
||||
|
||||
- name: "18.3.6 | PATCH | Ensure Password Settings Password Age Days is set to Enabled 30 or fewer."
|
||||
block:
|
||||
- name: "18.3.6 | AUDIT | Ensure Password Settings Password Age Days is set to Enabled 30 or fewer MS only | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Warning!! You have a invalid password length set for win11cis_laps_password_length please read"
|
||||
- "the notes for the variable and make the necessary change to the variable to be in compliance."
|
||||
when: win11cis_laps_password_age_days > 30
|
||||
|
||||
- name: "18.3.6 | AUDIT | Ensure Password Settings Password Age Days is set to Enabled 30 or fewer MS only | Warn Count."
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
vars:
|
||||
warn_control_id: '18.3.6'
|
||||
when: win11cis_laps_password_age_days > 30
|
||||
|
||||
- name: "18.3.6 | PATCH | Ensure Password Settings Password Age Days is set to Enabled 30 or fewer MS only | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft Services\AdmPwd
|
||||
name: PasswordAgeDays
|
||||
data: "{{ win11cis_laps_password_age_days }}"
|
||||
type: dword
|
||||
when: win11cis_laps_password_age_days <= 30
|
||||
when:
|
||||
- win11cis_rule_18_3_6
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.3.6
|
||||
- automated
|
||||
- patch
|
||||
- password
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "SECTION | 18.3 | LAPS"
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.3.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- laps
|
||||
@@ -6,13 +6,12 @@
|
||||
name: LocalAccountTokenFilterPolicy
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_4_1
|
||||
when: win11cis_rule_18_4_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.4.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.4.1
|
||||
- uac
|
||||
|
||||
- name: "18.4.2 | PATCH | 18.4.2 | Ensure 'Configure RPC packet level privacy setting for incoming connections' is set to 'Enabled'"
|
||||
@@ -21,13 +20,12 @@
|
||||
name: RpcAuthnLevelPrivacyEnabled
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_4_2
|
||||
when: win11cis_rule_18_4_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.4.2
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.4.2
|
||||
- rpc
|
||||
|
||||
- name: "18.4.3 | PATCH | Ensure Configure SMB v1 client driver is set to Enabled Disable driver recommended"
|
||||
@@ -36,13 +34,12 @@
|
||||
name: Start
|
||||
data: 4
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_4_3
|
||||
when: win11cis_rule_18_4_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.4.3
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.4.3
|
||||
- smb
|
||||
|
||||
- name: "18.4.4 | PATCH | Ensure Configure SMB v1 server is set to Disabled"
|
||||
@@ -51,61 +48,69 @@
|
||||
name: SMB1
|
||||
data: 0
|
||||
type: dword
|
||||
state: present
|
||||
notify: change_requires_reboot
|
||||
when:
|
||||
- win11cis_rule_18_4_4
|
||||
when: win11cis_rule_18_4_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.4.4
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.4.4
|
||||
- smb
|
||||
|
||||
- name: "18.4.5 | PATCH | Ensure Enable Structured Exception Handling Overwrite Protection SEHOP is set to Enabled"
|
||||
- name: "18.4.5 | PATCH | Ensure 'Enable Certificate Padding' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Microsoft\Cryptography\Wintrust\Config
|
||||
name: EnableCertPaddingCheck
|
||||
data: 1
|
||||
type: dword
|
||||
when: win11cis_rule_18_4_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.4.5
|
||||
- certificate_padding
|
||||
|
||||
- name: "18.4.6 | PATCH | Ensure Enable Structured Exception Handling Overwrite Protection SEHOP is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\kernel
|
||||
name: DisableExceptionChainValidation
|
||||
data: 0
|
||||
type: dword
|
||||
state: present
|
||||
when:
|
||||
- win11cis_rule_18_4_5
|
||||
when: win11cis_rule_18_4_6
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.4.5
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.4.6
|
||||
- sehop
|
||||
|
||||
- name: "18.4.6 | PATCH | Ensure 'NetBT NodeType configuration' is set to 'Enabled: P-node recommended'"
|
||||
- name: "18.4.7 | PATCH | Ensure 'NetBT NodeType configuration' is set to 'Enabled: P-node recommended'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters
|
||||
state: present
|
||||
value: NodeType
|
||||
data: "{{ win11cis_netbt_nodetype }}"
|
||||
datatype: dword
|
||||
when:
|
||||
- win11cis_rule_18_4_6
|
||||
when: win11cis_rule_18_4_7
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.4.6
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.4.7
|
||||
- sehop
|
||||
|
||||
- name: "18.4.7 | PATCH | Ensure WDigest Authentication is set to Disabled"
|
||||
- name: "18.4.8 | PATCH | Ensure WDigest Authentication is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\Wdigest
|
||||
state: present
|
||||
value: UseLogonCredential
|
||||
data: 0
|
||||
datatype: dword
|
||||
when:
|
||||
- win11cis_rule_18_4_7
|
||||
- win11cis_rule_18_4_8
|
||||
- discovered_domain_joined
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.4.7
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.4.8
|
||||
- wdigest
|
||||
|
||||
@@ -4,5 +4,5 @@
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.4.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- ms-security-guide
|
||||
- administrative_templates_computer
|
||||
- ms_security_guide
|
||||
|
||||
@@ -2,130 +2,114 @@
|
||||
|
||||
- name: "18.5.1 | PATCH | Ensure MSS AutoAdminLogon Enable Automatic Logon not recommended is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
|
||||
state: present
|
||||
value: AutoAdminLogon
|
||||
path: HKLM:\Software\Microsoft\Windows Nt\CurrentVersion\Winlogon
|
||||
name: AutoAdminLogon
|
||||
data: 0
|
||||
datatype: string
|
||||
when:
|
||||
- win11cis_rule_18_5_1
|
||||
when: win11cis_rule_18_5_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.5.1
|
||||
- automated
|
||||
- patch
|
||||
- mss-auto-logon
|
||||
- automated
|
||||
- rule_18.5.1
|
||||
- mss_auto_logon
|
||||
|
||||
- name: "18.5.2 | PATCH | Ensure MSS DisableIPSourceRouting IPv6 IP source routing protection level protects against packet spoofing is set to Enabled Highest protection source routing is completely disabled"
|
||||
- name: "18.5.2 | PATCH | Ensure 'MSS: (DisableIPSourceRouting IPv6) IP source routing protection level' is set to 'Enabled: Highest protection, source routing is completely disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters
|
||||
state: present
|
||||
value: DisableIPSourceRouting
|
||||
data: 2
|
||||
datatype: dword
|
||||
when:
|
||||
- win11cis_rule_18_5_2
|
||||
when: win11cis_rule_18_5_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.5.2
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.5.2
|
||||
- iprouting
|
||||
|
||||
- name: "18.5.3 | PATCH | Ensure MSS DisableIPSourceRouting IP source routing protection level protects against packet spoofing is set to Enabled Highest protection source routing is completely disabled"
|
||||
- name: "18.5.3 | PATCH | Ensure 'MSS: (DisableIPSourceRouting) IP source routing protection level' is set to 'Enabled: Highest protection, source routing is completely disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
|
||||
state: present
|
||||
value: DisableIPSourceRouting
|
||||
data: 2
|
||||
datatype: dword
|
||||
when:
|
||||
- win11cis_rule_18_5_3
|
||||
when: win11cis_rule_18_5_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.5.3
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.5.3
|
||||
- iprouting
|
||||
|
||||
- name: "18.5.4 | PATCH | Ensure 'MSS: (DisableSavePassword) Prevent the dial-up password from being saved' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SYSTEM\CurrentControlSet\Services\RasMan\Parameters
|
||||
state: present
|
||||
value: DisableSavePassword
|
||||
data: 1
|
||||
datatype: dword
|
||||
when:
|
||||
- win11cis_rule_18_5_4
|
||||
when: win11cis_rule_18_5_4
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.5.4
|
||||
- automated
|
||||
- patch
|
||||
- dial-up-password
|
||||
- automated
|
||||
- rule_18.5.4
|
||||
- dial_up_password
|
||||
|
||||
- name: "18.5.5 | PATCH | Ensure MSS EnableICMPRedirect Allow ICMP redirects to override OSPF generated routes is set to Disabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
|
||||
state: present
|
||||
value: EnableICMPRedirect
|
||||
data: 0
|
||||
datatype: dword
|
||||
when:
|
||||
- win11cis_rule_18_5_5
|
||||
when: win11cis_rule_18_5_5
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.5.5
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.5.5
|
||||
- icmp
|
||||
|
||||
- name: "18.5.6 | PATCH | Ensure MSS KeepAliveTime How often keep-alive packets are sent in milliseconds is set to Enabled 300000 or 5 minutes recommended"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
|
||||
state: present
|
||||
value: KeepAliveTime
|
||||
data: 300000
|
||||
datatype: dword
|
||||
when:
|
||||
- win11cis_rule_18_5_6
|
||||
when: win11cis_rule_18_5_6
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.5.6
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.5.6
|
||||
- keepalivetime
|
||||
|
||||
- name: "18.5.7 | PATCH | Ensure MSS NoNameReleaseOnDemand Allow the computer to ignore NetBIOS name release requests except from WINS servers is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\System\Currentcontrolset\Services\Netbt\Parameters
|
||||
state: present
|
||||
name: NoNameReleaseOnDemand
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_5_7
|
||||
when: win11cis_rule_18_5_7
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.5.7
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.5.7
|
||||
- nonamereleaseondemand
|
||||
|
||||
- name: "18.5.8 | PATCH | Ensure MSS PerformRouterDiscovery Allow IRDP to detect and configure Default Gateway addresses could lead to DoS is set to Disabled"
|
||||
- name: "18.5.8 | PATCH | Ensure 'MSS: (PerformRouterDiscovery) Allow IRDP to detect and configure Default Gateway addresses' is set to 'Disabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\System\Currentcontrolset\Services\Tcpip\Parameters
|
||||
state: present
|
||||
name: PerformRouterDiscovery
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_5_8
|
||||
when: win11cis_rule_18_5_8
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.5.8
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.5.8
|
||||
- irdp
|
||||
|
||||
- name: "18.5.9 | PATCH | Ensure MSS SafeDllSearchMode Enable Safe DLL search mode recommended is set to Enabled"
|
||||
@@ -134,18 +118,24 @@
|
||||
name: SafeDllSearchMode
|
||||
data: 1
|
||||
type: dword
|
||||
state: present
|
||||
when:
|
||||
- win11cis_rule_18_5_9
|
||||
when: win11cis_rule_18_5_9
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.5.9
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.5.9
|
||||
- safedllsearchmode
|
||||
|
||||
- name: "18.5.10 | PATCH | Ensure MSS ScreenSaverGracePeriod The time in seconds before the screen saver grace period expires 0 recommended is set to Enabled 5 or fewer seconds"
|
||||
block:
|
||||
- name: "18.5.10 | PATCH | Ensure MSS ScreenSaverGracePeriod The time in seconds before the screen saver grace period expires 0 recommended is set to Enabled 5 or fewer seconds | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Microsoft\Windows Nt\Currentversion\Winlogon
|
||||
name: ScreenSaverGracePeriod
|
||||
data: "{{ win11cis_screen_saver_grace_period }}"
|
||||
type: string
|
||||
when: win11cis_screen_saver_grace_period <= 5
|
||||
|
||||
- name: "18.5.10 | AUDIT | Ensure MSS ScreenSaverGracePeriod The time in seconds before the screen saver grace period expires 0 recommended is set to Enabled 5 or fewer seconds | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
@@ -159,23 +149,13 @@
|
||||
vars:
|
||||
warn_control_id: '18.5.10'
|
||||
when: win11cis_screen_saver_grace_period > 5
|
||||
|
||||
- name: "18.5.10 | PATCH | Ensure MSS ScreenSaverGracePeriod The time in seconds before the screen saver grace period expires 0 recommended is set to Enabled 5 or fewer seconds | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Microsoft\Windows Nt\Currentversion\Winlogon
|
||||
name: ScreenSaverGracePeriod
|
||||
data: "{{ win11cis_screen_saver_grace_period }}"
|
||||
type: string
|
||||
state: present
|
||||
when: win11cis_screen_saver_grace_period <= 5
|
||||
when:
|
||||
- win11cis_rule_18_5_10
|
||||
when: win11cis_rule_18_5_10
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.5.10
|
||||
- automated
|
||||
- patch
|
||||
- screen-saver
|
||||
- automated
|
||||
- rule_18.5.10
|
||||
- screen_saver
|
||||
|
||||
- name: "18.5.11 | PATCH | Ensure MSS TcpMaxDataRetransmissions IPv6 How many times unacknowledged data is retransmitted is set to Enabled 3"
|
||||
ansible.windows.win_regedit:
|
||||
@@ -183,14 +163,13 @@
|
||||
name: TcpMaxDataRetransmissions
|
||||
data: 3
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_5_11
|
||||
when: win11cis_rule_18_5_11
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.5.11
|
||||
- automated
|
||||
- patch
|
||||
- tcp-max-data-retransmissions
|
||||
- automated
|
||||
- rule_18.5.11
|
||||
- tcp_max_data_retransmissions
|
||||
|
||||
- name: "18.5.12 | PATCH | Ensure MSS TcpMaxDataRetransmissions How many times unacknowledged data is retransmitted is set to Enabled 3"
|
||||
ansible.windows.win_regedit:
|
||||
@@ -198,17 +177,24 @@
|
||||
name: TcpMaxDataRetransmissions
|
||||
data: 3
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_5_12
|
||||
when: win11cis_rule_18_5_12
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.5.12
|
||||
- automated
|
||||
- patch
|
||||
- tcp-max-data-retransmissions
|
||||
- automated
|
||||
- rule_18.5.12
|
||||
- tcp_max_data_retransmissions
|
||||
|
||||
- name: "18.5.13 | PATCH | Ensure MSS WarningLevel Percentage threshold for the security event log at which the system will generate a warning is set to Enabled 90 or less"
|
||||
block:
|
||||
- name: "18.5.13 | PATCH | Ensure MSS WarningLevel Percentage threshold for the security event log at which the system will generate a warning is set to Enabled 90 or less | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\System\Currentcontrolset\Services\Eventlog\Security
|
||||
name: WarningLevel
|
||||
data: "{{ win11cis_log_threshold_audit_event }}"
|
||||
type: dword
|
||||
when: win11cis_log_threshold_audit_event <= 90
|
||||
|
||||
- name: "18.5.13 | AUDIT | Ensure MSS WarningLevel Percentage threshold for the security event log at which the system will generate a warning is set to Enabled 90 or less | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
@@ -222,19 +208,10 @@
|
||||
vars:
|
||||
warn_control_id: '18.5.13'
|
||||
when: win11cis_log_threshold_audit_event > 90
|
||||
|
||||
- name: "18.5.13 | PATCH | Ensure MSS WarningLevel Percentage threshold for the security event log at which the system will generate a warning is set to Enabled 90 or less | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\System\Currentcontrolset\Services\Eventlog\Security
|
||||
name: WarningLevel
|
||||
data: "{{ win11cis_log_threshold_audit_event }}"
|
||||
type: dword
|
||||
when: win11cis_log_threshold_audit_event <= 90
|
||||
when:
|
||||
- win11cis_rule_18_5_13
|
||||
when: win11cis_rule_18_5_13
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.5.13
|
||||
- automated
|
||||
- patch
|
||||
- mss-warning-level
|
||||
- automated
|
||||
- rule_18.5.13
|
||||
- mss_warning_level
|
||||
|
||||
@@ -4,5 +4,5 @@
|
||||
ansible.builtin.import_tasks:
|
||||
file: cis_18.5.x.yml
|
||||
tags:
|
||||
- administrative-templates-computer
|
||||
- mss-legacy
|
||||
- administrative_templates_computer
|
||||
- mss_legacy
|
||||
|
||||
@@ -6,11 +6,10 @@
|
||||
name: Disabled
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_6_10_2
|
||||
when: win11cis_rule_18_6_10_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.6.10.2
|
||||
- automated
|
||||
- patch
|
||||
- networking-services
|
||||
- automated
|
||||
- rule_18.6.10.2
|
||||
- networking_services
|
||||
|
||||
@@ -6,14 +6,13 @@
|
||||
name: NC_AllowNetBridge_NLA
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_6_11_2
|
||||
when: win11cis_rule_18_6_11_2
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.6.11.2
|
||||
- automated
|
||||
- patch
|
||||
- network-bridge
|
||||
- automated
|
||||
- rule_18.6.11.2
|
||||
- network_bridge
|
||||
|
||||
- name: "18.6.11.3 | PATCH | Ensure Prohibit use of Internet Connection Sharing on your DNS domain network is set to Enabled"
|
||||
ansible.windows.win_regedit:
|
||||
@@ -21,13 +20,12 @@
|
||||
name: NC_ShowSharedAccessUI
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_6_11_3
|
||||
when: win11cis_rule_18_6_11_3
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.6.11.3
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.6.11.3
|
||||
- ics
|
||||
|
||||
- name: "18.6.11.4 | PATCH | Ensure Require domain users to elevate when setting a networks location is set to Enabled"
|
||||
@@ -36,11 +34,10 @@
|
||||
name: NC_StdDomainUserSetLocation
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_6_11_4
|
||||
when: win11cis_rule_18_6_11_4
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.6.11.4
|
||||
- automated
|
||||
- patch
|
||||
- domain-users
|
||||
- automated
|
||||
- rule_18.6.11.4
|
||||
- domain_users
|
||||
|
||||
@@ -6,20 +6,19 @@
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Networkprovider\Hardenedpaths
|
||||
name: "\\\\*\\NETLOGON"
|
||||
data: "RequireMutualAuthentication=1, RequireIntegrity=1"
|
||||
data: "RequireMutualAuthentication=1, RequireIntegrity=1, RequirePrivacy=1"
|
||||
type: string
|
||||
|
||||
- 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"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Networkprovider\Hardenedpaths
|
||||
name: "\\\\*\\SYSVOL"
|
||||
data: "RequireMutualAuthentication=1, RequireIntegrity=1"
|
||||
data: "RequireMutualAuthentication=1, RequireIntegrity=1, RequirePrivacy=1"
|
||||
type: string
|
||||
when:
|
||||
- win11cis_rule_18_6_14_1
|
||||
when: win11cis_rule_18_6_14_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.6.14.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.6.14.1
|
||||
- unc
|
||||
|
||||
@@ -6,12 +6,11 @@
|
||||
name: DisabledComponents
|
||||
data: 255
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_6_19_2_1
|
||||
when: win11cis_rule_18_6_19_2_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.6.19.2.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.6.19.2.1
|
||||
- parameters
|
||||
- ipv6
|
||||
|
||||
@@ -36,13 +36,12 @@
|
||||
name: DisableWPDRegistrar
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_6_20_1
|
||||
when: win11cis_rule_18_6_20_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.6.20.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.6.20.1
|
||||
- wireless
|
||||
|
||||
- name: "18.6.20.2 | PATCH | Ensure Prohibit access of the Windows Connect Now wizards is set to Enabled"
|
||||
@@ -51,10 +50,10 @@
|
||||
name: DisableWcnUi
|
||||
data: 1
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_6_20_2
|
||||
when: win11cis_rule_18_6_20_2
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.6.20.2
|
||||
- patch
|
||||
- automated
|
||||
- windows-connect-now
|
||||
- rule_18.6.20.2
|
||||
- windows_connect_now
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
---
|
||||
|
||||
- name: "18.6.21.1 | PATCH | Ensure Minimize the number of simultaneous connections to the Internet or a Windows Domain is set to Enabled"
|
||||
- name: "18.6.21.1 | PATCH | Ensure 'Minimize the number of simultaneous connections to the Internet or a Windows Domain' is set to 'Enabled: 3 = Prevent Wi-Fi when on Ethernet'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Wcmsvc\Grouppolicy
|
||||
name: fMinimizeConnections
|
||||
data: 3
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_6_21_1
|
||||
when: win11cis_rule_18_6_21_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.6.21.1
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.6.21.1
|
||||
- domain
|
||||
|
||||
- name: "18.6.21.2 | PATCH | Ensure Prohibit connection to non-domain networks when connected to domain authenticated network is set to Enabled MS only"
|
||||
- name: "18.6.21.2 | PATCH | Ensure 'Prohibit connection to non-domain networks when connected to domain authenticated network' is set to 'Enabled'"
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\Wcmsvc\Grouppolicy
|
||||
name: fBlockNonDomain
|
||||
@@ -22,8 +22,10 @@
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_6_21_2
|
||||
- discovered_domain_joined
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.6.21.2
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.6.21.2
|
||||
- non_domain
|
||||
|
||||
@@ -6,12 +6,10 @@
|
||||
name: AutoConnectAllowedOEM
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_6_23_2_1
|
||||
when: win11cis_rule_18_6_23_2_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.6.23.2.1
|
||||
- automated
|
||||
- patch
|
||||
- wlan-settings
|
||||
- automated
|
||||
- rule_18.6.23.2.1
|
||||
- autoconnect
|
||||
|
||||
@@ -2,6 +2,14 @@
|
||||
|
||||
- name: "18.6.4.1 | PATCH | Ensure Configure DNS over HTTPS (DoH) name resolution is set to Enabled: Allow DoH or higher"
|
||||
block:
|
||||
- name: "18.6.4.1 | PATCH | Ensure Configure DNS over HTTPS (DoH) name resolution is set to Enabled: Allow DoH or higher. | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient
|
||||
name: DoHPolicy
|
||||
data: "{{ win11cis_doh_policy }}"
|
||||
type: dword
|
||||
when: win11cis_doh_policy == 2 or win11cis_doh_policy == 3
|
||||
|
||||
- name: "18.6.4.1 | AUDIT | Ensure Configure DNS over HTTPS (DoH) name resolution is set to Enabled: Allow DoH or higher. | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
@@ -19,25 +27,24 @@
|
||||
when:
|
||||
- win11cis_doh_policy != 2
|
||||
- win11cis_doh_policy != 3
|
||||
|
||||
- name: "18.6.4.1 | AUDIT | Ensure Configure DNS over HTTPS (DoH) name resolution is set to Enabled: Allow DoH or higher. | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient
|
||||
name: DoHPolicy
|
||||
data: "{{ win11cis_doh_policy }}"
|
||||
type: dword
|
||||
when: win11cis_doh_policy == 2 or win11cis_doh_policy == 3
|
||||
when:
|
||||
- win11cis_rule_18_6_4_1
|
||||
when: win11cis_rule_18_6_4_1
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.6.4.1
|
||||
- automated
|
||||
- patch
|
||||
- dns-over-https
|
||||
- automated
|
||||
- rule_18.6.4.1
|
||||
- dns_over_https
|
||||
|
||||
- name: "18.6.4.2 | PATCH | Ensure 'Configure NetBIOS settings' is set to 'Enabled: Disable NetBIOS name resolution on public networks'"
|
||||
block:
|
||||
- name: "18.6.4.2 | PATCH | Ensure 'Configure NetBIOS settings' is set to 'Enabled: Disable NetBIOS name resolution on public networks'. | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient
|
||||
name: EnableNetbios
|
||||
data: "{{ win11cis_enable_netbios_policy }}"
|
||||
type: dword
|
||||
when: win11cis_enable_netbios_policy == 2 or win11cis_enable_netbios_policy == 0
|
||||
|
||||
- name: "18.6.4.2 | AUDIT | Ensure 'Configure NetBIOS settings' is set to 'Enabled: Disable NetBIOS name resolution on public networks'. | Warning Check For Variable Standards."
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
@@ -55,21 +62,14 @@
|
||||
when:
|
||||
- win11cis_enable_netbios_policy != 2
|
||||
- win11cis_enable_netbios_policy != 0
|
||||
|
||||
- name: "18.6.4.2 | PATCH | Ensure 'Configure NetBIOS settings' is set to 'Enabled: Disable NetBIOS name resolution on public networks'. | Set Variable."
|
||||
ansible.windows.win_regedit:
|
||||
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient
|
||||
name: EnableNetbios
|
||||
data: "{{ win11cis_enable_netbios_policy }}"
|
||||
type: dword
|
||||
when: win11cis_enable_netbios_policy == 2 or win11cis_enable_netbios_policy == 0
|
||||
when:
|
||||
- win11cis_rule_18_6_4_2
|
||||
- discovered_domain_joined
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.6.4.2
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.6.4.2
|
||||
- netbios
|
||||
|
||||
- name: "18.6.4.3 | PATCH | Ensure Turn off multicast name resolution is set to Enabled."
|
||||
@@ -80,9 +80,10 @@
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_6_4_3
|
||||
- discovered_domain_joined
|
||||
tags:
|
||||
- level1-corporate-enterprise-environment
|
||||
- rule_18.6.4.3
|
||||
- automated
|
||||
- patch
|
||||
- automated
|
||||
- rule_18.6.4.3
|
||||
- multicast
|
||||
|
||||
@@ -6,11 +6,10 @@
|
||||
name: EnableFontProviders
|
||||
data: 0
|
||||
type: dword
|
||||
when:
|
||||
- win11cis_rule_18_6_5_1
|
||||
when: win11cis_rule_18_6_5_1
|
||||
tags:
|
||||
- level2-high-security-sensitive-data-environment
|
||||
- rule_18.6.5.1
|
||||
- automated
|
||||
- patch
|
||||
- font-providers
|
||||
- automated
|
||||
- rule_18.6.5.1
|
||||
- font_providers
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user