ansible-collection-core/roles/baseline/tasks/lockdown.yml

37 lines
1.8 KiB
YAML
Raw Normal View History

---
- name: Lockdown | AUDIT | Check current authselect configuration
become: true
2025-11-01 15:07:36 +00:00
ansible.builtin.command: authselect current
register: baseline_lockdown_authselect_status
failed_when: false # Exit code is 2 when not configured
changed_when: false
- name: Lockdown | PATCH | Run Ansible Lockdown (RHEL9-CIS)
ansible.builtin.import_role:
name: RHEL9-CIS # This is the SR2 fork that includes a patch to run all tasks with become: true
vars:
# Ensure message of the day is configured properly - we have our own MOTD to apply
rhel9cis_rule_1_7_1: false
rhel9cis_rule_1_7_4: false
# Don't restrict user SSH access in sshd_config - this is managed by FreeIPA
rhel9cis_rule_5_1_7: false
2025-11-01 15:07:36 +00:00
# Only disable root login once authselect is configured
rhel9cis_rule_5_1_20: "{{ baseline_lockdown_authselect_status.rc != 2 }}"
rhel9cis_rule_5_4_2_4: false # TODO: temporarily disable requirement for root password
# TODO: figure out boot password
rhel9cis_set_boot_pass: false
# TODO: We intend to later deploy a remote rsyslog sink
rhel9cis_syslog: rsyslog
rhel9cis_time_synchronization_servers: "{{ baseline_ntp_servers }}"
rhel9cis_warning_banner: "{{ baseline_warning_banner }}"
rhel9cis_autofs_services: true # TODO: can we mask it? This is required by FreeIPA but we don't use it.
# 2.2 Configure Client Services
# These services are required by FreeIPA.
rhel9cis_openldap_clients_required: true
# 5.3.2 Configure authselect
# ipaservers are part of Linux Identity Management. Joining your host to an IdM
# domain automatically configures SSSD authentication on your host.
rhel9cis_allow_authselect_updates: false
rhel9cis_auditd_max_log_file_action: rotate
when: (ansible_distribution == "Rocky") and (ansible_distribution_major_version == "9")