forked from ansible-lockdown/RHEL9-CIS
Merge pull request #13 from ansible-lockdown/alignment
Alignment of lint
This commit is contained in:
commit
81e39644b2
46 changed files with 811 additions and 341 deletions
|
|
@ -268,7 +268,7 @@
|
|||
warn_control_id: '1.1.1.9'
|
||||
block:
|
||||
- name: "1.1.1.9 | PATCH | Ensure unused filesystems kernel modules are not available | Add discovery script"
|
||||
ansible.builtin.template:
|
||||
ansible.builtin.copy:
|
||||
src: fs_with_cves.sh
|
||||
dest: /var/fs_with_cves.sh
|
||||
owner: root
|
||||
|
|
@ -284,9 +284,7 @@
|
|||
- name: "1.1.1.9 | AUDIT | Ensure unused filesystems kernel modules are not available | Output Warning"
|
||||
when: discovered_fs_modules_loaded.stdout | length > 0
|
||||
ansible.builtin.debug:
|
||||
msg: |
|
||||
"Warning!! Discovered loaded Filesystem modules that need attention. This is a manual task
|
||||
{{ discovered_fs_modules_loaded.stdout_lines }}"
|
||||
msg: "{{ ['Warning!! Discovered loaded Filesystem modules that need attention. This is a manual task'] + discovered_fs_modules_loaded.stdout_lines }}"
|
||||
|
||||
- name: "1.1.1.9 | AUDIT | Ensure unused filesystems kernel modules are not available | Capture Warning"
|
||||
when: discovered_fs_modules_loaded.stdout | length > 0
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
- name: "1.1.2.1.1 | PATCH | Ensure /tmp is a separate partition"
|
||||
when:
|
||||
- required_mount not in mount_names
|
||||
- required_mount not in prelim_mount_names
|
||||
- rhel9cis_rule_1_1_2_1_1
|
||||
tags:
|
||||
- level1-server
|
||||
|
|
@ -12,62 +12,104 @@
|
|||
- rule_1.1.2.1.1
|
||||
- NIST800-53R5_CM-7
|
||||
vars:
|
||||
warn_control_id: '1.1.2.1.1'
|
||||
required_mount: '/tmp'
|
||||
warn_control_id: "1.1.2.1.1"
|
||||
required_mount: "/tmp"
|
||||
block:
|
||||
- name: "1.1.2.1.1 | PATCH | Ensure /tmp is a separate partition | Absent"
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} doesn't exist. Please investigate this manual task"
|
||||
- name: "1.1.2.1.1 | AUDIT | Ensure /tmp is a separate partition | check for mount"
|
||||
ansible.builtin.command: findmnt -kn "{{ required_mount }}"
|
||||
changed_when: false
|
||||
failed_when: discovered_tmp_mount.rc not in [ 0, 1 ]
|
||||
register: discovered_tmp_mount
|
||||
|
||||
- name: "1.1.2.1.1 | PATCH | Ensure /tmp is a separate partition | Present"
|
||||
- name: "1.1.2.1.1 | AUDIT | Ensure /tmp is a separate partition | Absent"
|
||||
when: discovered_tmp_mount is undefined
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} is not mounted on a separate partition"
|
||||
|
||||
- name: "1.1.2.1.1 | AUDIT | Ensure /tmp is a separate partition | Present"
|
||||
when: discovered_tmp_mount is undefined
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
|
||||
# via fstab
|
||||
- name: |
|
||||
"1.1.2.1.2 | PATCH | Ensure nodev option set on /tmp partition"
|
||||
"1.1.2.1.3 | PATCH | Ensure nosuid option set on /tmp partition"
|
||||
"1.1.2.1.4 | PATCH | Ensure noexec option set on /tmp partition"
|
||||
ansible.posix.mount:
|
||||
name: /tmp
|
||||
src: "{{ item.device }}"
|
||||
fstype: "{{ item.fstype }}"
|
||||
state: present
|
||||
opts: "{{ item.options }}{% if ('nodev' not in item.options and rhel9cis_rule_1_1_2_1_2) %},nodev{% endif %}{% if ('nosuid' not in item.options and rhel9cis_rule_1_1_2_1_3) %},nosuid{% endif %}{% if ('noexec' not in item.options and rhel9cis_rule_1_1_2_1_4) %},noexec{% endif %}"
|
||||
notify: Remount tmp
|
||||
loop: "{{ ansible_facts.mounts }}"
|
||||
loop_control:
|
||||
label: "{{ item.device }}"
|
||||
- name: "1.1.2.1.2 | PATCH | Ensure nodev option set on /tmp partition"
|
||||
when:
|
||||
- item.mount == "/tmp"
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- not prelim_mount_point_fs_and_options[mount_point]['src'] == "tmpfs"
|
||||
- rhel9cis_rule_1_1_2_1_2
|
||||
- not rhel9cis_tmp_svc
|
||||
- rhel9cis_rule_1_1_2_1_2 or
|
||||
rhel9cis_rule_1_1_2_1_3 or
|
||||
rhel9cis_rule_1_1_2_1_4
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.1.2
|
||||
- rule_1.1.2.1.3
|
||||
- rule_1.1.2.1.4
|
||||
- NIST800-53R5_CM-7
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/tmp"
|
||||
required_option: nodev
|
||||
notify: &mount_option_notify
|
||||
- "Remount {{ mount_point }}"
|
||||
ansible.builtin.set_fact: &mount_option_set_fact
|
||||
prelim_mount_point_fs_and_options: |
|
||||
{{ prelim_mount_point_fs_and_options | combine({mount_point: {'options': (prelim_mount_point_fs_and_options[mount_point]['options'] + [required_option])}}, recursive=True) }}
|
||||
changed_when: &mount_option_changed_when
|
||||
- required_option not in prelim_mount_point_fs_and_options[mount_point]['original_options']
|
||||
|
||||
- name: "1.1.2.1.3 | PATCH | Ensure nosuid option set on /tmp partition"
|
||||
when:
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- not prelim_mount_point_fs_and_options[mount_point]['src'] == "tmpfs"
|
||||
- rhel9cis_rule_1_1_2_1_3
|
||||
- not rhel9cis_tmp_svc
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.1.3
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/tmp"
|
||||
required_option: nosuid
|
||||
notify: *mount_option_notify
|
||||
ansible.builtin.set_fact:
|
||||
<<: *mount_option_set_fact
|
||||
changed_when: *mount_option_changed_when
|
||||
|
||||
- name: "1.1.2.1.4 | PATCH | Ensure noexec option set on /tmp partition"
|
||||
when:
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- not prelim_mount_point_fs_and_options[mount_point]['src'] == "tmpfs"
|
||||
- rhel9cis_rule_1_1_2_1_4
|
||||
- not rhel9cis_tmp_svc
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.1.4
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/tmp"
|
||||
required_option: noexec
|
||||
notify: *mount_option_notify
|
||||
ansible.builtin.set_fact:
|
||||
<<: *mount_option_set_fact
|
||||
changed_when: *mount_option_changed_when
|
||||
|
||||
# via systemd
|
||||
- name: |
|
||||
"1.1.2.1.1 | PATCH | Ensure /tmp is configured"
|
||||
"1.1.2.1.2 | PATCH | Ensure nodev option set on /tmp partition"
|
||||
"1.1.2.1.3 | PATCH | Ensure noexec option set on /tmp partition"
|
||||
"1.1.2.1.4 | PATCH | Ensure nosuid option set on /tmp partition"
|
||||
"1.1.2.1.1 | PATCH | Ensure /tmp is configured
|
||||
1.1.2.1.2 | PATCH | Ensure nodev option set on /tmp partition
|
||||
1.1.2.1.3 | PATCH | Ensure noexec option set on /tmp partition
|
||||
1.1.2.1.4 | PATCH | Ensure nosuid option set on /tmp partition"
|
||||
when:
|
||||
- rhel9cis_tmp_svc
|
||||
- rhel9cis_rule_1_1_2_1_1 or
|
||||
rhel9cis_rule_1_1_2_1_2 or
|
||||
rhel9cis_rule_1_1_2_1_3 or
|
||||
rhel9cis_rule_1_1_2_1_4
|
||||
- rhel9cis_rule_1_1_2_1_1 or rhel9cis_rule_1_1_2_1_2 or rhel9cis_rule_1_1_2_1_3 or rhel9cis_rule_1_1_2_1_4
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
|
|
@ -79,10 +121,12 @@
|
|||
- rule_1.1.2.1.4
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/tmp"
|
||||
ansible.builtin.template:
|
||||
src: etc/systemd/system/tmp.mount.j2
|
||||
dest: /etc/systemd/system/tmp.mount
|
||||
owner: root
|
||||
group: root
|
||||
mode: 'go-wx'
|
||||
notify: Systemd restart tmp.mount
|
||||
notify: *mount_option_notify
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
|
||||
# Skips if mount is absent
|
||||
- name: "1.1.2.2.1 | AUDIT | Ensure /dev/shm is a separate partition"
|
||||
when: rhel9cis_rule_1_1_2_2_1
|
||||
- name: "1.1.2.2.1 | PATCH | Ensure /dev/shm is a separate partition"
|
||||
when:
|
||||
- rhel9cis_rule_1_1_2_2_1
|
||||
- required_mount not in prelim_mount_names
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
|
|
@ -11,46 +12,84 @@
|
|||
- rule_1.1.2.2.1
|
||||
- NIST800-53R5_CM-7
|
||||
vars:
|
||||
warn_control_id: '1.1.2.2.1'
|
||||
warn_control_id: "1.1.2.2.1"
|
||||
required_mount: "/dev/shm"
|
||||
block:
|
||||
- name: "1.1.2.2.1 | AUDIT | Ensure /dev/shm is a separate partition | check exists" # noqa command-instead-of-module
|
||||
ansible.builtin.shell: mount -l | grep -w /dev/shm
|
||||
- name: "1.1.2.2.1 | AUDIT | Ensure /dev/shm is a separate partition | check for mount"
|
||||
ansible.builtin.command: findmnt -kn "{{ required_mount }}"
|
||||
changed_when: false
|
||||
register: discovered_dev_shm_mount_check
|
||||
failed_when: discovered_dev_shm_mount.rc not in [ 0, 1 ]
|
||||
register: discovered_dev_shm_mount
|
||||
|
||||
- name: "1.1.2.2.1 | AUDIT | Ensure /dev/shm is a separate partition"
|
||||
when: discovered_dev_shm_mount_check.rc == 1
|
||||
block:
|
||||
- name: "1.1.2.2.1 | AUDIT | Ensure /dev/shm is a separate partition | Absent"
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} doesn't exist. Please investigate this manual task"
|
||||
- name: "1.1.2.2.1 | AUDIT | Ensure /dev/shm is a separate partition | Absent"
|
||||
when: discovered_dev_shm_mount is undefined
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} is not mounted on a separate partition"
|
||||
|
||||
- name: "1.1.2.2.1 | AUDIT | Ensure separate partition exists for /home | Present"
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
- name: "1.1.2.2.1 | AUDIT | Ensure /dev/shm is a separate partition | Present"
|
||||
when: discovered_dev_shm_mount is undefined
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
|
||||
- name: |
|
||||
"1.1.2.2.2 | PATCH | Ensure nodev option set on /dev/shm partition
|
||||
1.1.2.2.3 | PATCH | Ensure nosuid option set on /dev/shm partition
|
||||
1.1.2.2.4 | PATCH | Ensure noexec option set on /dev/shm partition"
|
||||
- name: "1.1.2.2.2 | PATCH | Ensure nodev option set on /dev/shm partition"
|
||||
when:
|
||||
- rhel9cis_rule_1_1_2_2_2 or
|
||||
rhel9cis_rule_1_1_2_2_3 or
|
||||
rhel9cis_rule_1_1_2_2_4
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_2_2
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.2.2
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/dev/shm"
|
||||
required_option: nodev
|
||||
notify: &mount_option_notify
|
||||
- "Remount {{ mount_point }}"
|
||||
ansible.builtin.set_fact: &mount_option_set_fact
|
||||
prelim_mount_point_fs_and_options: |
|
||||
{{ prelim_mount_point_fs_and_options | combine({mount_point: {'options': (prelim_mount_point_fs_and_options[mount_point]['options'] + [required_option])}}, recursive=True) }}
|
||||
changed_when: &mount_option_changed_when
|
||||
- required_option not in prelim_mount_point_fs_and_options[mount_point]['original_options']
|
||||
|
||||
- name: "1.1.2.2.3 | PATCH | Ensure nosuid option set on /dev/shm partition"
|
||||
when:
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_2_3
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.2.3
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/dev/shm"
|
||||
required_option: nosuid
|
||||
notify: *mount_option_notify
|
||||
ansible.builtin.set_fact:
|
||||
<<: *mount_option_set_fact
|
||||
changed_when: *mount_option_changed_when
|
||||
|
||||
- name: "1.1.2.2.4 | PATCH | Ensure noexec option set on /dev/shm partition"
|
||||
when:
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_2_4
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.2.4
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
ansible.posix.mount:
|
||||
name: /dev/shm
|
||||
src: tmpfs
|
||||
fstype: tmpfs
|
||||
state: mounted
|
||||
opts: defaults,{% if rhel9cis_rule_1_1_2_2_2 %}nodev,{% endif %}{% if rhel9cis_rule_1_1_2_2_3 %}nosuid,{% endif %}{% if rhel9cis_rule_1_1_2_2_4 %}noexec{% endif %}
|
||||
notify: Change_requires_reboot
|
||||
vars:
|
||||
mount_point: "/dev/shm"
|
||||
required_option: noexec
|
||||
notify: *mount_option_notify
|
||||
ansible.builtin.set_fact:
|
||||
<<: *mount_option_set_fact
|
||||
changed_when: *mount_option_changed_when
|
||||
|
|
|
|||
|
|
@ -1,52 +1,74 @@
|
|||
---
|
||||
|
||||
- name: "1.1.2.3.1 | AUDIT | Ensure separate partition exists for /home"
|
||||
- name: "1.1.2.3.1 | PATCH | Ensure /home is a separate partition"
|
||||
when:
|
||||
- required_mount not in mount_names
|
||||
- rhel9cis_rule_1_1_2_3_1
|
||||
- required_mount not in prelim_mount_names
|
||||
tags:
|
||||
- level2-server
|
||||
- level2-workstation
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- audit
|
||||
- mounts
|
||||
- rule_1_1_2.3.1
|
||||
- rule_1.1.2.3.1
|
||||
- NIST800-53R5_CM-7
|
||||
vars:
|
||||
warn_control_id: '1.1.2.3.1'
|
||||
required_mount: '/home'
|
||||
warn_control_id: "1.1.2.3.1"
|
||||
required_mount: "/home"
|
||||
block:
|
||||
- name: "1.1.2.3.1 | AUDIT | Ensure separate partition exists for /home | Absent"
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} doesn't exist. Please investigate this manual task"
|
||||
- name: "1.1.2.3.1 | AUDIT | Ensure /home is a separate partition | check for mount"
|
||||
ansible.builtin.command: findmnt -kn "{{ required_mount }}"
|
||||
changed_when: false
|
||||
failed_when: discovered_home_mount.rc not in [ 0, 1 ]
|
||||
register: discovered_home_mount
|
||||
|
||||
- name: "1.1.2.3.1 | AUDIT | Ensure separate partition exists for /home | Present"
|
||||
- name: "1.1.2.3.1 | AUDIT | Ensure /home is a separate partition | Absent"
|
||||
when: discovered_dev_shm_mount is undefined
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} is not mounted on a separate partition"
|
||||
|
||||
- name: "1.1.2.3.1 | AUDIT | Ensure /home is a separate partition | Present"
|
||||
when: discovered_dev_shm_mount is undefined
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
|
||||
- name: |
|
||||
"1.1.2.3.2 | PATCH | Ensure nodev option set on /home partition
|
||||
1.1.2.3.3 | PATCH | Ensure nosuid option set on /home partition"
|
||||
- name: "1.1.2.3.2 | PATCH | Ensure nodev option set on /home partition"
|
||||
when:
|
||||
- item.mount == "/home"
|
||||
- rhel9cis_rule_1_1_2_3_2 or
|
||||
rhel9cis_rule_1_1_2_3_3
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_3_2
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.3.2
|
||||
- rule_1.1.2.3.3
|
||||
- NIST800-53R5_CM-7
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
ansible.posix.mount:
|
||||
name: /home
|
||||
src: "{{ item.device }}"
|
||||
fstype: "{{ item.fstype }}"
|
||||
state: present
|
||||
opts: "{{ item.options }}{% if ('nodev' not in item.options and rhel9cis_rule_1_1_2_3_2) %},nodev{% endif %}{% if ('nosuid' not in item.options and rhel9cis_rule_1_1_2_3_3) %},nosuid{% endif %}"
|
||||
loop: "{{ ansible_facts.mounts }}"
|
||||
loop_control:
|
||||
label: "{{ item.device }}"
|
||||
notify: Change_requires_reboot
|
||||
vars:
|
||||
mount_point: "/home"
|
||||
required_option: nodev
|
||||
notify: &mount_option_notify
|
||||
- "Remount {{ mount_point }}"
|
||||
ansible.builtin.set_fact: &mount_option_set_fact
|
||||
prelim_mount_point_fs_and_options: |
|
||||
{{ prelim_mount_point_fs_and_options | combine({mount_point: {'options': (prelim_mount_point_fs_and_options[mount_point]['options'] + [required_option])}}, recursive=True) }}
|
||||
changed_when: &mount_option_changed_when
|
||||
- required_option not in prelim_mount_point_fs_and_options[mount_point]['original_options']
|
||||
|
||||
- name: "1.1.2.3.3 | PATCH | Ensure nosuid option set on /home partition"
|
||||
when:
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_3_3
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.3.3
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/home"
|
||||
required_option: nosuid
|
||||
notify: *mount_option_notify
|
||||
ansible.builtin.set_fact:
|
||||
<<: *mount_option_set_fact
|
||||
changed_when: *mount_option_changed_when
|
||||
|
|
|
|||
|
|
@ -1,52 +1,75 @@
|
|||
---
|
||||
|
||||
- name: "1.1.2.4.1 | AUDIT | Ensure separate partition exists for /var"
|
||||
- name: "1.1.2.4.1 | PATCH | Ensure /var is a separate partition"
|
||||
when:
|
||||
- required_mount not in mount_names
|
||||
- rhel9cis_rule_1_1_2_4_1
|
||||
- required_mount not in prelim_mount_names
|
||||
tags:
|
||||
- level2-server
|
||||
- level2-workstation
|
||||
- patch
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- audit
|
||||
- mounts
|
||||
- rule_1_1_2.4.1
|
||||
- rule_1.1.2.4.1
|
||||
- NIST800-53R5_CM-7
|
||||
vars:
|
||||
warn_control_id: '1.1.2.4.1'
|
||||
required_mount: '/var'
|
||||
block:
|
||||
- name: "1.1.2.4.1 | AUDIT | Ensure separate partition exists for /var | Absent"
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} doesn't exist. Please investigate this manual task"
|
||||
- name: "1.1.2.4.1 | AUDIT | Ensure /var is a separate partition | check for mount"
|
||||
ansible.builtin.command: findmnt -kn "{{ required_mount }}"
|
||||
changed_when: false
|
||||
failed_when: discovered_var_mount.rc not in [ 0, 1 ]
|
||||
register: discovered_var_mount
|
||||
|
||||
- name: "1.1.2.4.1 | AUDIT | Ensure separate partition exists for /var | Present"
|
||||
- name: "1.1.2.4.1 | AUDIT | Ensure /var is a separate partition | Absent"
|
||||
when: discovered_dev_shm_mount is undefined
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} is not mounted on a separate partition"
|
||||
|
||||
- name: "1.1.2.4.1 | AUDIT | Ensure /var is a separate partition | Present"
|
||||
when: discovered_dev_shm_mount is undefined
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
|
||||
# skips if mount is absent
|
||||
- name: |
|
||||
"1.1.2.4.2 | PATCH | Ensure nodev option set on /var partition
|
||||
1.1.2.4.3 | PATCH | Ensure nosuid option set on /var partition"
|
||||
- name: "1.1.2.4.2 | PATCH | Ensure nodev option set on /var partition"
|
||||
when:
|
||||
- item.mount == "/var"
|
||||
- rhel9cis_rule_1_1_2_4_2 or
|
||||
rhel9cis_rule_1_1_2_4_3
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_4_2
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.4.2
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/var"
|
||||
required_option: nodev
|
||||
notify: &mount_option_notify
|
||||
- "Remount {{ mount_point }}"
|
||||
ansible.builtin.set_fact: &mount_option_set_fact
|
||||
prelim_mount_point_fs_and_options: |
|
||||
{{ prelim_mount_point_fs_and_options | combine({mount_point: {'options': (prelim_mount_point_fs_and_options[mount_point]['options'] + [required_option])}}, recursive=True) }}
|
||||
changed_when: &mount_option_changed_when
|
||||
- required_option not in prelim_mount_point_fs_and_options[mount_point]['original_options']
|
||||
|
||||
- name: "1.1.2.4.3 | PATCH | Ensure nosuid option set on /var partition"
|
||||
when:
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_4_3
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.4.3
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
ansible.posix.mount:
|
||||
name: /var
|
||||
src: "{{ item.device }}"
|
||||
fstype: "{{ item.fstype }}"
|
||||
state: present
|
||||
opts: "{{ item.options }}{% if ('nodev' not in item.options and rhel9cis_rule_1_1_2_4_2) %},nodev{% endif %}{% if ('nosuid' not in item.options and rhel9cis_rule_1_1_2_4_2) %},nosuid{% endif %}"
|
||||
loop: "{{ ansible_facts.mounts }}"
|
||||
loop_control:
|
||||
label: "{{ item.device }}"
|
||||
notify: Change_requires_reboot
|
||||
vars:
|
||||
mount_point: "/var"
|
||||
required_option: nosuid
|
||||
notify: *mount_option_notify
|
||||
ansible.builtin.set_fact:
|
||||
<<: *mount_option_set_fact
|
||||
changed_when: *mount_option_changed_when
|
||||
|
|
|
|||
|
|
@ -1,56 +1,95 @@
|
|||
---
|
||||
|
||||
# Skips if mount is absent
|
||||
- name: "1.1.2.5.1 | AUDIT | Ensure separate partition exists for /var/tmp"
|
||||
- name: "1.1.2.5.1 | PATCH | Ensure /var/tmp is a separate partition"
|
||||
when:
|
||||
- required_mount not in mount_names
|
||||
- rhel9cis_rule_1_1_2_5_1
|
||||
- required_mount not in prelim_mount_names
|
||||
tags:
|
||||
- level2-server
|
||||
- level2-workstation
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- audit
|
||||
- mounts
|
||||
- rule_1_1_2.5.1
|
||||
- rule_1.1.2.5.1
|
||||
- NIST800-53R5_CM-7
|
||||
vars:
|
||||
warn_control_id: '1.1.2.5.1'
|
||||
required_mount: '/var/tmp'
|
||||
block:
|
||||
- name: "1.1.2.5.1 | AUDIT | Ensure separate partition exists for /var/tmp | Absent"
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} doesn't exist. Please investigate this manual task"
|
||||
- name: "1.1.2.5.1 | AUDIT | Ensure /var/tmp is a separate partition | check for mount"
|
||||
ansible.builtin.command: findmnt -kn "{{ required_mount }}"
|
||||
changed_when: false
|
||||
failed_when: discovered_var_tmp_mount.rc not in [ 0, 1 ]
|
||||
register: discovered_var_tmp_mount
|
||||
|
||||
- name: "1.1.2.5.1 | AUDIT | Ensure separate partition exists for /var/tmp | Present"
|
||||
- name: "1.1.2.5.1 | AUDIT | Ensure /var/tmp is a separate partition | Absent"
|
||||
when: discovered_var_tmp_mount is undefined
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} is not mounted on a separate partition"
|
||||
|
||||
- name: "1.1.2.5.1 | AUDIT | Ensure /var/tmp is a separate partition | Present"
|
||||
when: discovered_var_tmp_mount is undefined
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
|
||||
# skips if mount is absent
|
||||
- name: |
|
||||
"1.1.2.5.2 | PATCH | Ensure nodev option set on /var/tmp partition
|
||||
1.1.2.5.3 | PATCH | Ensure nosuid option set on /var/tmp partition
|
||||
1.1.2.5.4 | PATCH | Ensure noexec option set on /var/tmp partition"
|
||||
- name: "1.1.2.5.2 | PATCH | Ensure nodev option set on /var/tmp partition"
|
||||
when:
|
||||
- item.mount == "/var/tmp"
|
||||
- rhel9cis_rule_1_1_2_5_2 or
|
||||
rhel9cis_rule_1_1_2_5_3 or
|
||||
rhel9cis_rule_1_1_2_5_4
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_5_2
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.5.2
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/var/tmp"
|
||||
required_option: nodev
|
||||
notify: &mount_option_notify
|
||||
- "Remount {{ mount_point }}"
|
||||
ansible.builtin.set_fact: &mount_option_set_fact
|
||||
prelim_mount_point_fs_and_options: |
|
||||
{{ prelim_mount_point_fs_and_options | combine({mount_point: {'options': (prelim_mount_point_fs_and_options[mount_point]['options'] + [required_option])}}, recursive=True) }}
|
||||
changed_when: &mount_option_changed_when
|
||||
- required_option not in prelim_mount_point_fs_and_options[mount_point]['original_options']
|
||||
|
||||
- name: "1.1.2.5.3 | PATCH | Ensure nosuid option set on /var/tmp partition"
|
||||
when:
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_5_3
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.5.3
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/var/tmp"
|
||||
required_option: nosuid
|
||||
notify: *mount_option_notify
|
||||
ansible.builtin.set_fact:
|
||||
<<: *mount_option_set_fact
|
||||
changed_when: *mount_option_changed_when
|
||||
|
||||
- name: "1.1.2.5.4 | PATCH | Ensure noexec option set on /var/tmp partition"
|
||||
when:
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_5_4
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.5.4
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
ansible.posix.mount:
|
||||
name: /var/tmp
|
||||
src: "{{ item.device }}"
|
||||
fstype: "{{ item.fstype }}"
|
||||
state: present
|
||||
opts: "{{ item.options }}{% if ('nodev' not in item.options and rhel9cis_rule_1_1_2_5_2) %},nodev{% endif %}{% if ('nosuid' not in item.options and rhel9cis_rule_1_1_2_5_3) %},nosuid{% endif %}{% if ('noexec' not in item.options and rhel9cis_rule_1_1_2_5_4) %},noexec{% endif %}"
|
||||
loop: "{{ ansible_facts.mounts }}"
|
||||
loop_control:
|
||||
label: "{{ item.device }}"
|
||||
notify: Change_requires_reboot
|
||||
vars:
|
||||
mount_point: "/var/tmp"
|
||||
required_option: noexec
|
||||
notify: *mount_option_notify
|
||||
ansible.builtin.set_fact:
|
||||
<<: *mount_option_set_fact
|
||||
changed_when: *mount_option_changed_when
|
||||
|
|
|
|||
|
|
@ -1,54 +1,95 @@
|
|||
---
|
||||
|
||||
- name: "1.1.2.6.1 | AUDIT | Ensure separate partition exists for /var/log"
|
||||
- name: "1/.1 | PATCH | Ensure /var/log is a separate partition"
|
||||
when:
|
||||
- required_mount not in mount_names
|
||||
- rhel9cis_rule_1_1_2_6_1
|
||||
- required_mount not in prelim_mount_names
|
||||
tags:
|
||||
- level2-server
|
||||
- level2-workstation
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- audit
|
||||
- mounts
|
||||
- rule_1_1_2.6.1
|
||||
- rule_1.1.2.6.1
|
||||
- NIST800-53R5_CM-7
|
||||
vars:
|
||||
warn_control_id: '1.1.2.6.1'
|
||||
required_mount: '/var/log'
|
||||
block:
|
||||
- name: "1.1.2.6.1 | AUDIT | Ensure separate partition exists for /var/log | Absent"
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} doesn't exist. Please investigate this manual task"
|
||||
- name: "1.1.2.6.1 | AUDIT | Ensure /var/log is a separate partition | check for mount"
|
||||
ansible.builtin.command: findmnt -kn "{{ required_mount }}"
|
||||
changed_when: false
|
||||
failed_when: discovered_var_log_mount.rc not in [ 0, 1 ]
|
||||
register: discovered_var_log_mount
|
||||
|
||||
- name: "1.1.2.6.1 | AUDIT | Ensure separate partition exists for /var/log | Present"
|
||||
- name: "1.1.2.6.1 | AUDIT | Ensure /var/log is a separate partition | Absent"
|
||||
when: discovered_var_log_mount is undefined
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} is not mounted on a separate partition"
|
||||
|
||||
- name: "1.1.2.6.1 | AUDIT | Ensure /var/log is a separate partition | Present"
|
||||
when: discovered_var_log_mount is undefined
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
|
||||
- name: |
|
||||
"1.1.2.6.2 | PATCH | Ensure nodev option set on /var/log partition
|
||||
1.1.2.6.3 | PATCH | Ensure nosuid option set on /var/log partition
|
||||
1.1.2.6.4 | PATCH | Ensure noexec option set on /var/log partition"
|
||||
- name: "1.1.2.6.2 | PATCH | Ensure nodev option set on /var/log partition"
|
||||
when:
|
||||
- item.mount == "/var/log"
|
||||
- rhel9cis_rule_1_1_2_6_2 or
|
||||
rhel9cis_rule_1_1_2_6_3 or
|
||||
rhel9cis_rule_1_1_2_6_4
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_6_2
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.6.2
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/var/log"
|
||||
required_option: nodev
|
||||
notify: &mount_option_notify
|
||||
- "Remount {{ mount_point }}"
|
||||
ansible.builtin.set_fact: &mount_option_set_fact
|
||||
prelim_mount_point_fs_and_options: |
|
||||
{{ prelim_mount_point_fs_and_options | combine({mount_point: {'options': (prelim_mount_point_fs_and_options[mount_point]['options'] + [required_option])}}, recursive=True) }}
|
||||
changed_when: &mount_option_changed_when
|
||||
- required_option not in prelim_mount_point_fs_and_options[mount_point]['original_options']
|
||||
|
||||
- name: "1.1.2.6.3 | PATCH | Ensure nosuid option set on /var/log partition"
|
||||
when:
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_6_3
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.6.3
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/var/log"
|
||||
required_option: nosuid
|
||||
notify: *mount_option_notify
|
||||
ansible.builtin.set_fact:
|
||||
<<: *mount_option_set_fact
|
||||
changed_when: *mount_option_changed_when
|
||||
|
||||
- name: "1.1.2.6.4 | PATCH | Ensure noexec option set on /var/log partition"
|
||||
when:
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_6_4
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.6.4
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
ansible.posix.mount:
|
||||
name: /var/log
|
||||
src: "{{ item.device }}"
|
||||
fstype: "{{ item.fstype }}"
|
||||
state: present
|
||||
opts: "{{ item.options }}{% if ('nodev' not in item.options and rhel9cis_rule_1_1_2_6_2) %},nodev{% endif %}{% if ('nosuid' not in item.options and rhel9cis_rule_1_1_2_6_3) %},nosuid{% endif %}{% if ('noexec' not in item.options and rhel9cis_rule_1_1_2_6_4) %},noexec{% endif %}"
|
||||
loop: "{{ ansible_facts.mounts }}"
|
||||
loop_control:
|
||||
label: "{{ item.device }}"
|
||||
notify: Change_requires_reboot
|
||||
vars:
|
||||
mount_point: "/var/log"
|
||||
required_option: noexec
|
||||
notify: *mount_option_notify
|
||||
ansible.builtin.set_fact:
|
||||
<<: *mount_option_set_fact
|
||||
changed_when: *mount_option_changed_when
|
||||
|
|
|
|||
|
|
@ -1,54 +1,95 @@
|
|||
---
|
||||
|
||||
- name: "1.1.2.7.1 | AUDIT | Ensure separate partition exists for /var/log/audit"
|
||||
- name: "1/.1 | PATCH | Ensure /var/log/audit is a separate partition"
|
||||
when:
|
||||
- required_mount not in mount_names
|
||||
- rhel9cis_rule_1_1_2_7_1
|
||||
- required_mount not in prelim_mount_names
|
||||
tags:
|
||||
- level2-server
|
||||
- level2-workstation
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- audit
|
||||
- mounts
|
||||
- rule_1_1_2.7.1
|
||||
- rule_1.1.2.7.1
|
||||
- NIST800-53R5_CM-7
|
||||
vars:
|
||||
warn_control_id: '1.1.2.7.1'
|
||||
required_mount: '/var/log/audit'
|
||||
block:
|
||||
- name: "1.1.2.7.1 | AUDIT | Ensure separate partition exists for /var/log/audit | Absent"
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} doesn't exist. Please investigate this manual task"
|
||||
- name: "1.1.2.7.1 | AUDIT | Ensure /var/log/audit is a separate partition | check for mount"
|
||||
ansible.builtin.command: findmnt -kn "{{ required_mount }}"
|
||||
changed_when: false
|
||||
failed_when: discovered_var_log_audit_mount.rc not in [ 0, 1 ]
|
||||
register: discovered_var_log_audit_mount
|
||||
|
||||
- name: "1.1.2.7.1 | AUDIT | Ensure separate partition exists for /var/log/audit | Present"
|
||||
- name: "1.1.2.7.1 | AUDIT | Ensure /var/log/audit is a separate partition | Absent"
|
||||
when: discovered_var_log_audit_mount is undefined
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning!! {{ required_mount }} is not mounted on a separate partition"
|
||||
|
||||
- name: "1.1.2.7.1 | AUDIT | Ensure /var/log/audit is a separate partition | Present"
|
||||
when: discovered_var_log_audit_mount is undefined
|
||||
ansible.builtin.import_tasks:
|
||||
file: warning_facts.yml
|
||||
|
||||
- name: |
|
||||
"1.1.2.7.2 | PATCH | Ensure nodev option set on /var/log/audit partition
|
||||
1.1.2.7.3 | PATCH | Ensure nosuid option set on /var/log/audit partition
|
||||
1.1.2.7.4 | PATCH | Ensure noexec option set on /var/log/audit partition"
|
||||
- name: "1.1.2.7.2 | PATCH | Ensure nodev option set on /var/log/audit partition"
|
||||
when:
|
||||
- item.mount == "/var/log/audit"
|
||||
- rhel9cis_rule_1_1_2_7_2 or
|
||||
rhel9cis_rule_1_1_2_7_3 or
|
||||
rhel9cis_rule_1_1_2_7_4
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_7_2
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.7.2
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/var/log/audit"
|
||||
required_option: nodev
|
||||
notify: &mount_option_notify
|
||||
- "Remount {{ mount_point }}"
|
||||
ansible.builtin.set_fact: &mount_option_set_fact
|
||||
prelim_mount_point_fs_and_options: |
|
||||
{{ prelim_mount_point_fs_and_options | combine({mount_point: {'options': (prelim_mount_point_fs_and_options[mount_point]['options'] + [required_option])}}, recursive=True) }}
|
||||
changed_when: &mount_option_changed_when
|
||||
- required_option not in prelim_mount_point_fs_and_options[mount_point]['original_options']
|
||||
|
||||
- name: "1.1.2.7.3 | PATCH | Ensure nosuid option set on /var/log/audit partition"
|
||||
when:
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_7_3
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.7.3
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
vars:
|
||||
mount_point: "/var/log/audit"
|
||||
required_option: nosuid
|
||||
notify: *mount_option_notify
|
||||
ansible.builtin.set_fact:
|
||||
<<: *mount_option_set_fact
|
||||
changed_when: *mount_option_changed_when
|
||||
|
||||
- name: "1.1.2.7.4 | PATCH | Ensure noexec option set on /var/log/audit partition"
|
||||
when:
|
||||
- prelim_mount_point_fs_and_options[mount_point] is defined
|
||||
- rhel9cis_rule_1_1_2_7_4
|
||||
tags:
|
||||
- level1-server
|
||||
- level1-workstation
|
||||
- patch
|
||||
- mounts
|
||||
- rule_1.1.2.7.4
|
||||
- NIST800-53R5_AC-3
|
||||
- NIST800-53R5_MP-2
|
||||
ansible.posix.mount:
|
||||
name: /var/log/audit
|
||||
src: "{{ item.device }}"
|
||||
fstype: "{{ item.fstype }}"
|
||||
state: present
|
||||
opts: "{{ item.options }}{% if ('nodev' not in item.options and rhel9cis_rule_1_1_2_7_2) %},nodev{% endif %}{% if ('nosuid' not in item.options and rhel9cis_rule_1_1_2_7_3) %},nosuid{% endif %}{% if ('noexec' not in item.options and rhel9cis_rule_1_1_2_7_4) %},noexec{% endif %}"
|
||||
loop: "{{ ansible_facts.mounts }}"
|
||||
loop_control:
|
||||
label: "{{ item.device }}"
|
||||
notify: Change_requires_reboot
|
||||
vars:
|
||||
mount_point: "/var/log/audit"
|
||||
required_option: noexec
|
||||
notify: *mount_option_notify
|
||||
ansible.builtin.set_fact:
|
||||
<<: *mount_option_set_fact
|
||||
changed_when: *mount_option_changed_when
|
||||
|
|
|
|||
|
|
@ -14,20 +14,20 @@
|
|||
- rule_1.2.1.1
|
||||
- NIST800-53R5_SI-2
|
||||
block:
|
||||
- name: "1.2.1.1 | AUDIT | Ensure GPG keys are configured | list installed pubkey keys" # noqa command-instead-of-module
|
||||
ansible.builtin.shell: "rpm -qa | grep {{ os_gpg_key_pubkey_name }}"
|
||||
- name: "1.2.1.1 | AUDIT | Ensure GPG keys are configured | List installed pubkey keys"
|
||||
ansible.builtin.shell: "rpm -qa | grep {{ os_gpg_key_pubkey_name }}" # noqa command-instead-of-module
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
register: discovered_os_installed_pub_keys
|
||||
|
||||
- name: "1.2.1.1 | AUDIT | Ensure GPG keys are configured | Query found keys" # noqa command-instead-of-module
|
||||
when: discovered_os_installed_pub_keys.rc == 0
|
||||
ansible.builtin.shell: 'rpm -q --queryformat "%{PACKAGER} %{VERSION}\\n" {{ os_gpg_key_pubkey_name }} | grep "{{ os_gpg_key_pubkey_content }}"'
|
||||
- name: "1.2.1.1 | AUDIT | Ensure GPG keys are configured | Query found keys"
|
||||
ansible.builtin.shell: |
|
||||
'rpm -q --queryformat "%{PACKAGER} %{VERSION}\\n" {{ os_gpg_key_pubkey_name }} | grep "{{ os_gpg_key_pubkey_content }}"'
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
register: discovered_os_gpg_key_check
|
||||
|
||||
- name: "1.2.1.1 | AUDIT | Ensure GPG keys are configured | expected keys fail"
|
||||
- name: "1.2.1.1 | AUDIT | Ensure GPG keys are configured | If expected keys fail"
|
||||
when:
|
||||
- discovered_os_installed_pub_keys.rc == 1 or
|
||||
discovered_os_gpg_key_check.rc == 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue