- name: Ensure rsyslog Default File Permissions Configured - Search for $FileCreateMode
Parameter in rsyslog Main Config File
ansible.builtin.find:
paths: /etc
pattern: rsyslog.conf
contains: ^\s*\$FileCreateMode\s*\d+ register: rsyslog_main_file_with_filecreatemode
when: ansible_virtualization_type not in ["docker", "lxc", "openvz", "podman", "container"]
tags:
- CCE-88320-7
- configure_strategy
- low_complexity
- low_disruption
- medium_severity
- no_reboot_needed
- rsyslog_filecreatemode
- name: Ensure rsyslog Default File Permissions Configured - Search for $FileCreateMode
Parameter in rsyslog Include Files
ansible.builtin.find:
paths: /etc/rsyslog.d/
pattern: '*.conf'
contains: ^\s*\$FileCreateMode\s*\d+
register: rsyslog_includes_with_filecreatemode
when: ansible_virtualization_type not in ["docker", "lxc", "openvz", "podman", "container"]
tags:
- CCE-88320-7
- configure_strategy
- low_complexity
- low_disruption
- medium_severity
- no_reboot_needed
- rsyslog_filecreatemode
- name: Ensure rsyslog Default File Permissions Configured - Assemble List of rsyslog
Configuration Files with $FileCreateMode Parameter
ansible.builtin.set_fact:
rsyslog_filecreatemode_files: '{{ rsyslog_main_file_with_filecreatemode.files
| map(attribute=''path'') | list + rsyslog_includes_with_filecreatemode.files
| map(attribute=''path'') | list }}'
when: ansible_virtualization_type not in ["docker", "lxc", "openvz", "podman", "container"]
tags:
- CCE-88320-7
- configure_strategy
- low_complexity
- low_disruption
- medium_severity
- no_reboot_needed
- rsyslog_filecreatemode
- name: Ensure rsyslog Default File Permissions Configured - Remove $FileCreateMode
Parameter from Multiple Files to Avoid Conflicts
ansible.builtin.lineinfile:
path: '{{ item }}'
regexp: \$FileCreateMode.*
state: absent
register: result_rsyslog_filecreatemode_removed
loop: '{{ rsyslog_filecreatemode_files }}'
when:
- ansible_virtualization_type not in ["docker", "lxc", "openvz", "podman", "container"]
- rsyslog_filecreatemode_files | length > 1
tags:
- CCE-88320-7
- configure_strategy
- low_complexity
- low_disruption
- medium_severity
- no_reboot_needed
- rsyslog_filecreatemode
- name: Ensure rsyslog Default File Permissions Configured - Add $FileCreateMode Parameter
and Expected Value
ansible.builtin.lineinfile:
path: /etc/rsyslog.d/99-rsyslog_filecreatemode.conf
line: $FileCreateMode 0640
mode: 416
create: true
when:
- ansible_virtualization_type not in ["docker", "lxc", "openvz", "podman", "container"]
- rsyslog_filecreatemode_files | length == 0 or result_rsyslog_filecreatemode_removed
is not skipped
tags:
- CCE-88320-7
- configure_strategy
- low_complexity
- low_disruption
- medium_severity
- no_reboot_needed
- rsyslog_filecreatemode
- name: Ensure rsyslog Default File Permissions Configured - Ensure Correct Value
of Existing $FileCreateMode Parameter
ansible.builtin.lineinfile:
path: '{{ item }}'
regexp: ^\$FileCreateMode
line: $FileCreateMode 0640
loop: '{{ rsyslog_filecreatemode_files }}'
when:
- ansible_virtualization_type not in ["docker", "lxc", "openvz", "podman", "container"]
- rsyslog_filecreatemode_files | length == 1
tags:
- CCE-88320-7
- configure_strategy
- low_complexity
- low_disruption
- medium_severity
- no_reboot_needed
- rsyslog_filecreatemode