4
0
Fork 0

reorder and lint

Signed-off-by: Mark Bolwell <mark.bollyuk@gmail.com>
This commit is contained in:
Mark Bolwell 2023-01-13 10:04:16 +00:00
parent 0c279ad97d
commit 198359cfbb
No known key found for this signature in database
GPG key ID: 1DE02A772D0908F9

View file

@ -1,68 +1,38 @@
--- ---
- name: "6.1.1 | AUDIT | Audit system file permissions" - name: "6.1.1 | PATCH | Ensure permissions on /etc/passwd are configured"
block: ansible.builtin.file:
- name: "6.1.1 | AUDIT | Audit system file permissions | Audit the packages" dest: /etc/passwd
shell: rpm -Va --nomtime --nosize --nomd5 --nolinkto
changed_when: false
failed_when: false
register: rhel9cis_6_1_1_packages_rpm
- name: "6.1.1 | AUDIT | Audit system file permissions | Create list and warning"
block:
- name: "6.1.1 | AUDIT | Audit system file permissions | Add file discrepancy list to system"
copy:
dest: "{{ rhel9cis_rpm_audit_file }}" # noqa template-instead-of-copy
content: "{{ rhel9cis_6_1_1_packages_rpm.stdout }}"
owner: root owner: root
group: root group: root
mode: 0640 mode: 0644
- name: "6.1.1 | AUDIT | Audit system file permissions | Message out alert for package descrepancies"
debug:
msg: |
"Warning!! You have some package descrepancies issues.
The file list can be found in {{ rhel9cis_rpm_audit_file }}"
- name: "6.1.1 | AUDIT | Audit system file permissions | warning count"
set_fact:
control_number: "{{ control_number }} + [ 'rule_6.1.1' ]"
warn_count: "{{ warn_count | int + 1 }}"
when: rhel9cis_6_1_1_packages_rpm.stdout|length > 0
- name: "6.1.1 | AUDIT | Audit system file permissions | Message out no package descrepancies"
debug:
msg: "Good News! There are no package descrepancies"
when: rhel9cis_6_1_1_packages_rpm.stdout|length == 0
when: when:
- rhel9cis_rule_6_1_1 - rhel9cis_rule_6_1_1
tags: tags:
- level2-server - level1-server
- level2-workstation - level1-workstation
- manual - patch
- audit
- permissions - permissions
- rule_6.1.1 - rule_6.1.1
- name: "6.1.2 | PATCH | Ensure sticky bit is set on all world-writable directories" - name: "6.1.2 | PATCH | Ensure permissions on /etc/passwd- are configured"
shell: df --local -P | awk {'if (NR!=1) print $6'} | xargs -I '{}' find '{}' -xdev -type d -perm -0002 2>/dev/null | xargs chmod a+t ansible.builtin.file:
changed_when: false dest: /etc/passwd-
failed_when: false owner: root
group: root
mode: 0644
when: when:
- rhel9cis_rule_6_1_2 - rhel9cis_rule_6_1_2
tags: tags:
- skip_ansible_lint
- level1-server - level1-server
- level1-workstation - level1-workstation
- automated
- patch - patch
- stickybits - permissions
- permissons - rule_6.1.2
- rule_1.1.21
- name: "6.1.3 | PATCH | Ensure permissions on /etc/passwd are configured" - name: "6.1.3 | PATCH | Ensure permissions on /etc/group are configured"
file: ansible.builtin.file:
dest: /etc/passwd dest: /etc/group-
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
@ -71,77 +41,42 @@
tags: tags:
- level1-server - level1-server
- level1-workstation - level1-workstation
- automated
- patch - patch
- permissions - permissions
- rule_6.1.3 - rule_6.1.3
- name: "6.1.4 | PATCH | Ensure permissions on /etc/shadow are configured" - name: "6.1.4 | PATCH | Ensure permissions on /etc/group- are configured"
file: ansible.builtin.file:
dest: /etc/shadow
owner: root
group: root
mode: 0000
when:
- rhel9cis_rule_6_1_4
tags:
- level1-server
- level1-workstation
- automated
- patch
- permissions
- rule_6.1.4
- name: "6.1.5 | PATCH | Ensure permissions on /etc/group are configured"
file:
dest: /etc/group- dest: /etc/group-
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
when: when:
- rhel9cis_rule_6_1_5 - rhel9cis_rule_6_1_4
tags: tags:
- level1-server - level1-server
- level1-workstation - level1-workstation
- automated
- patch - patch
- permissions - permissionss
- rule_6.1.5 - rule_6.1.4
- name: "6.1.6 | PATCH | Ensure permissions on /etc/gshadow are configured" - name: "6.1.5 | PATCH | Ensure permissions on /etc/shadow are configured"
file: ansible.builtin.file:
dest: /etc/gshadow dest: /etc/shadow
owner: root owner: root
group: root group: root
mode: 0000 mode: 0000
when: when:
- rhel9cis_rule_6_1_6 - rhel9cis_rule_6_1_5
tags: tags:
- level1-server - level1-server
- level1-workstation - level1-workstation
- automated
- patch - patch
- permissions - permissions
- rule_6.1.6 - rule_6.1.5
- name: "6.1.7 | PATCH | Ensure permissions on /etc/passwd- are configured"
file:
dest: /etc/passwd-
owner: root
group: root
mode: 0644
when:
- rhel9cis_rule_6_1_7
tags:
- level1-server
- level1-workstation
- automated
- patch
- permissions
- rule_6.1.7
- name: "6.1.6 | PATCH | Ensure permissions on /etc/shadow- are configured" - name: "6.1.6 | PATCH | Ensure permissions on /etc/shadow- are configured"
file: ansible.builtin.file:
dest: /etc/shadow- dest: /etc/shadow-
owner: root owner: root
group: root group: root
@ -151,17 +86,63 @@
tags: tags:
- level1-server - level1-server
- level1-workstation - level1-workstation
- automated
- patch - patch
- permissions - permissions
- rule_6.1.6 - rule_6.1.6
- name: "6.1.9 | PATCH | Ensure permissions on /etc/group- are configured" - name: "6.1.7 | PATCH | Ensure permissions on /etc/gshadow are configured"
file: ansible.builtin.file:
dest: /etc/group- dest: /etc/gshadow
owner: root owner: root
group: root group: root
mode: 0644 mode: 0000
when:
- rhel9cis_rule_6_1_7
tags:
- level1-server
- level1-workstation
- patch
- permissions
- rule_6.1.7
- name: "6.1.8 | PATCH | Ensure permissions on /etc/gshadow- are configured"
ansible.builtin.file:
dest: /etc/gshadow-
owner: root
group: root
mode: 0000
when:
- rhel9cis_rule_6_1_8
tags:
- level1-server
- level1-workstation
- patch
- permissions
- rule_6.1.10
- name: "6.1.9 | PATCH | Ensure no world writable files exist"
block:
- name: "6.1.9 | AUDIT | Ensure no world writable files exist | Get list of world-writable files"
ansible.builtin.shell: df --local -P | awk {'if (NR!=1) print $6'} | xargs -I '{}' find '{}' -xdev -type f -perm -0002
failed_when: false
changed_when: false
register: rhel_08_6_1_9_perms_results
- name: "6.1.9 | AUDIT | Ensure no world writable files exist | Alert no world-writable files exist"
ansible.builtin.debug:
msg: "Good news! We have not found any world-writable files on your system"
when:
- rhel_08_6_1_9_perms_results.stdout is not defined
- name: "6.1.9 | PATCH | Ensure no world writable files exist | Adjust world-writable files if they exist (Configurable)"
ansible.builtin.file:
path: '{{ item }}'
mode: o-w
state: touch
with_items: "{{ rhel_08_6_1_9_perms_results.stdout_lines }}"
when:
- rhel_08_6_1_9_perms_results.stdout_lines is defined
- rhel9cis_no_world_write_adjust
when: when:
- rhel9cis_rule_6_1_9 - rhel9cis_rule_6_1_9
tags: tags:
@ -169,125 +150,123 @@
- level1-workstation - level1-workstation
- automated - automated
- patch - patch
- permissionss - files
- permissions
- rule_6.1.9 - rule_6.1.9
- name: "6.1.10 | PATCH | Ensure permissions on /etc/gshadow- are configured" - name: "6.1.10 | AUDIT | Ensure no unowned files or directories exist"
file: block:
dest: /etc/gshadow- - name: "6.1.10 | AUDIT | Ensure no unowned files or directories exist | Finding all unowned files or directories"
owner: root ansible.builtin.shell: find "{{ item.mount }}" -xdev -nouser
group: root changed_when: false
mode: 0000 failed_when: false
check_mode: false
register: rhel_08_6_1_10_audit
with_items: "{{ ansible_mounts }}"
loop_control:
label: "{{ item.mount }}"
when: item['device'].startswith('/dev') and not 'bind' in item['options']
- name: "6.1.10 | AUDIT | Ensure no unowned files or directories exist | Displaying any unowned files or directories"
ansible.builtin.debug:
msg: "Manual intervention is required -- missing owner on items in {{ item.item.mount }}: {{ item.stdout_lines | join(', ') }}"
with_items: "{{ rhel_08_6_1_10_audit.results }}"
when:
- item.stdout_lines is defined
- item.stdout_lines | length > 0
when: when:
- rhel9cis_rule_6_1_10 - rhel9cis_rule_6_1_10
tags: tags:
- level1-server - level1-server
- level1-workstation - level1-workstation
- automated - audit
- patch - files
- permissions - permissions
- rule_6.1.10 - rule_6.1.10
- name: "6.1.11 | PATCH | Ensure no world writable files exist" - name: "6.1.11 | AUDIT | Ensure no ungrouped files or directories exist"
block: block:
- name: "6.1.11 | AUDIT | Ensure no world writable files exist | Get list of world-writable files" - name: "6.1.11 | AUDIT | Ensure no ungrouped files or directories exist | Finding all ungrouped files or directories"
shell: df --local -P | awk {'if (NR!=1) print $6'} | xargs -I '{}' find '{}' -xdev -type f -perm -0002 ansible.builtin.shell: find "{{ item.mount }}" -xdev -nogroup
check_mode: false
failed_when: false failed_when: false
changed_when: false changed_when: false
register: rhel_08_6_1_11_perms_results register: rhel_08_6_1_11_audit
with_items: "{{ ansible_mounts }}"
loop_control:
label: "{{ item.mount }}"
when: item['device'].startswith('/dev') and not 'bind' in item['options']
- name: "6.1.11 | AUDIT | Ensure no world writable files exist | Alert no world-writable files exist" - name: "6.1.11 | AUDIT | Ensure no ungrouped files or directories exist | Displaying all ungrouped files or directories"
debug: ansible.builtin.debug:
msg: "Good news! We have not found any world-writable files on your system" msg: "Manual intervention is required -- missing group on items in {{ item.item.mount }}: {{ item.stdout_lines | join(', ') }}"
with_items: "{{ rhel_08_6_1_11_audit.results }}"
when: when:
- rhel_08_6_1_11_perms_results.stdout is not defined - item.stdout_lines is defined
- item.stdout_lines | length > 0
- name: "6.1.11 | PATCH | Ensure no world writable files exist | Adjust world-writable files if they exist (Configurable)"
file:
path: '{{ item }}'
mode: o-w
state: touch
with_items: "{{ rhel_08_6_1_11_perms_results.stdout_lines }}"
when:
- rhel_08_6_1_11_perms_results.stdout_lines is defined
- rhel9cis_no_world_write_adjust
when: when:
- rhel9cis_rule_6_1_11 - rhel9cis_rule_6_1_11
tags: tags:
- level1-server - level1-server
- level1-workstation - level1-workstation
- automated - audit
- patch
- files - files
- permissions - permissions
- rule_6.1.11 - rule_6.1.11
- name: "6.1.12 | AUDIT | Ensure no unowned files or directories exist" - name: "6.1.12 | PATCH | Ensure sticky bit is set on all world-writable directories"
block: ansible.builtin.shell: df --local -P | awk {'if (NR!=1) print $6'} | xargs -I '{}' find '{}' -xdev -type d -perm -0002 2>/dev/null | xargs chmod a+t
- name: "6.1.12 | AUDIT | Ensure no unowned files or directories exist | Finding all unowned files or directories"
command: find "{{ item.mount }}" -xdev -nouser
changed_when: false changed_when: false
failed_when: false failed_when: false
check_mode: false
register: rhel_08_6_1_12_audit
with_items: "{{ ansible_mounts }}"
loop_control:
label: "{{ item.mount }}"
when: item['device'].startswith('/dev') and not 'bind' in item['options']
- name: "6.1.12 | AUDIT | Ensure no unowned files or directories exist | Displaying any unowned files or directories"
debug:
msg: "Manual intervention is required -- missing owner on items in {{ item.item.mount }}: {{ item.stdout_lines | join(', ') }}"
with_items: "{{ rhel_08_6_1_12_audit.results }}"
when:
- item.stdout_lines is defined
- item.stdout_lines | length > 0
when: when:
- rhel9cis_rule_6_1_12 - rhel9cis_rule_6_1_12
tags: tags:
- level1-server - level1-server
- level1-workstation - level1-workstation
- automated - patch
- audit - stickybits
- files - permissons
- permissions - rule_1.1.21
- rule_6.1.12
- name: "6.1.13 | AUDIT | Ensure no ungrouped files or directories exist" - name: "6.1.13 | AUDIT | Audit SUID executables"
block: block:
- name: "6.1.13 | AUDIT | Ensure no ungrouped files or directories exist | Finding all ungrouped files or directories" - name: "6.1.13 | AUDIT | Audit SUID executables | Find all SUID executables"
command: find "{{ item.mount }}" -xdev -nogroup ansible.builtin.shell: df {{ item.mount }} -P | awk {'if (NR!=1) print $6'} | xargs -I '{}' find '{}' -xdev -type f -perm -4000
check_mode: false
failed_when: false failed_when: false
changed_when: false changed_when: false
register: rhel_08_6_1_13_audit register: rhel_08_6_1_13_perms_results
with_items: "{{ ansible_mounts }}" with_items: "{{ ansible_mounts }}"
loop_control: loop_control:
label: "{{ item.mount }}" label: "{{ item.mount }}"
when: item['device'].startswith('/dev') and not 'bind' in item['options']
- name: "6.1.13 | AUDIT | Ensure no ungrouped files or directories exist | Displaying all ungrouped files or directories" - name: "6.1.13 | AUDIT | Audit SUID executables | Alert no SUID executables exist"
debug: ansible.builtin.debug:
msg: "Manual intervention is required -- missing group on items in {{ item.item.mount }}: {{ item.stdout_lines | join(', ') }}" msg: "Good news! We have not found any SUID executable files on your system"
with_items: "{{ rhel_08_6_1_13_audit.results }}" failed_when: false
changed_when: false
when: when:
- item.stdout_lines is defined - rhel_08_6_1_13_perms_results.stdout is not defined
- item.stdout_lines | length > 0
- name: "6.1.13 | AUDIT | Audit SUID executables | Alert SUID executables exist"
ansible.builtin.debug:
msg: "Manual intervention is required -- SUID set on items in {{ item.item.mount }}: {{ item.stout_lines | join(', ') }}"
with_items: "{{ rhel_08_6_1_13_perms_results.stdout_lines }}"
when:
- rhel_08_6_1_13_perms_results.stdout is defined
when: when:
- rhel9cis_rule_6_1_13 - rhel9cis_rule_6_1_13
tags: tags:
- level1-server - level1-server
- level1-workstation - level1-workstation
- automated - manual
- audit - audit
- files - files
- permissions
- rule_6.1.13 - rule_6.1.13
- name: "6.1.14 | AUDIT | Audit SUID executables" - name: "6.1.14 | AUDIT | Audit SGID executables"
block: block:
- name: "6.1.14 | AUDIT | Audit SUID executables | Find all SUID executables" - name: "6.1.14 | AUDIT | Audit SGID executables | Find all SGID executables"
shell: df {{ item.mount }} -P | awk {'if (NR!=1) print $6'} | xargs -I '{}' find '{}' -xdev -type f -perm -4000 ansible.builtin.shell: df {{ item.mount }} -P | awk {'if (NR!=1) print $6'} | xargs -I '{}' find '{}' -xdev -type f -perm -2000
failed_when: false failed_when: false
changed_when: false changed_when: false
register: rhel_08_6_1_14_perms_results register: rhel_08_6_1_14_perms_results
@ -295,17 +274,17 @@
loop_control: loop_control:
label: "{{ item.mount }}" label: "{{ item.mount }}"
- name: "6.1.14 | AUDIT | Audit SUID executables | Alert no SUID executables exist" - name: "6.1.14 | AUDIT | Audit SGID executables | Alert no SGID executables exist"
debug: ansible.builtin.debug:
msg: "Good news! We have not found any SUID executable files on your system" msg: "Good news! We have not found any SGID executable files on your system"
failed_when: false failed_when: false
changed_when: false changed_when: false
when: when:
- rhel_08_6_1_14_perms_results.stdout is not defined - rhel_08_6_1_14_perms_results.stdout is not defined
- name: "6.1.14 | AUDIT | Audit SUID executables | Alert SUID executables exist" - name: "6.1.14 | AUDIT | Audit SGID executables | Alert SGID executables exist"
debug: ansible.builtin.debug:
msg: "Manual intervention is required -- SUID set on items in {{ item.item.mount }}: {{ item.stout_lines | join(', ') }}" msg: "Manual intervention is required -- SGID set on items in {{ item.item.mount }}: {{ item.stout_lines | join(', ') }}"
with_items: "{{ rhel_08_6_1_14_perms_results.stdout_lines }}" with_items: "{{ rhel_08_6_1_14_perms_results.stdout_lines }}"
when: when:
- rhel_08_6_1_14_perms_results.stdout is defined - rhel_08_6_1_14_perms_results.stdout is defined
@ -319,37 +298,46 @@
- files - files
- rule_6.1.14 - rule_6.1.14
- name: "6.1.15 | AUDIT | Audit SGID executables" - name: "6.1.15 | AUDIT | Audit system file permissions"
block: block:
- name: "6.1.15 | AUDIT | Audit SGID executables | Find all SGID executables" - name: "6.1.15 | AUDIT | Audit system file permissions | Audit the packages"
shell: df {{ item.mount }} -P | awk {'if (NR!=1) print $6'} | xargs -I '{}' find '{}' -xdev -type f -perm -2000 ansible.builtin.shell: rpm -Va --nomtime --nosize --nomd5 --nolinkto
failed_when: false
changed_when: false changed_when: false
register: rhel_08_6_1_15_perms_results
with_items: "{{ ansible_mounts }}"
loop_control:
label: "{{ item.mount }}"
- name: "6.1.15 | AUDIT | Audit SGID executables | Alert no SGID executables exist"
debug:
msg: "Good news! We have not found any SGID executable files on your system"
failed_when: false failed_when: false
changed_when: false register: rhel9cis_6_1_15_packages_rpm
when:
- rhel_08_6_1_15_perms_results.stdout is not defined
- name: "6.1.15 | AUDIT | Audit SGID executables | Alert SGID executables exist" - name: "6.1.15 | AUDIT | Audit system file permissions | Create list and warning"
debug: block:
msg: "Manual intervention is required -- SGID set on items in {{ item.item.mount }}: {{ item.stout_lines | join(', ') }}" - name: "6.1.15 | AUDIT | Audit system file permissions | Add file discrepancy list to system"
with_items: "{{ rhel_08_6_1_15_perms_results.stdout_lines }}" ansible.builtin.copy:
when: dest: "{{ rhel9cis_rpm_audit_file }}" # noqa template-instead-of-copy
- rhel_08_6_1_15_perms_results.stdout is defined content: "{{ rhel9cis_6_1_15_packages_rpm.stdout }}"
owner: root
group: root
mode: 0640
- name: "6.1.15 | AUDIT | Audit system file permissions | Message out alert for package descrepancies"
ansible.builtin.debug:
msg: |
"Warning!! You have some package descrepancies issues.
The file list can be found in {{ rhel9cis_rpm_audit_file }}"
- name: "6.1.15 | AUDIT | Audit system file permissions | warning count"
ansible.builtin.set_fact:
control_number: "{{ control_number }} + [ 'rule_6.1.1' ]"
warn_count: "{{ warn_count | int + 1 }}"
when: rhel9cis_6_1_15_packages_rpm.stdout|length > 0
- name: "6.1.15 | AUDIT | Audit system file permissions | Message out no package descrepancies"
ansible.builtin.debug:
msg: "Good News! There are no package descrepancies"
when: rhel9cis_6_1_15_packages_rpm.stdout|length == 0
when: when:
- rhel9cis_rule_6_1_15 - rhel9cis_rule_6_1_15
tags: tags:
- level1-server - level2-server
- level1-workstation - level2-workstation
- manual - manual
- audit - audit
- files - permissions
- rule_6.1.15 - rule_6.1.15