second commit
This commit is contained in:
98
ansible/roles/os_hardening/tasks/auditd.yml
Normal file
98
ansible/roles/os_hardening/tasks/auditd.yml
Normal file
@ -0,0 +1,98 @@
|
||||
---
|
||||
# CIS 4.1.x / DISA-STIG-aehnliche Audit-Regeln. Ueber die bereits vorhandene
|
||||
# Ueberwachung des Jumphost-Datenverzeichnisses hinaus wird hier ein
|
||||
# Standard-Ruleset fuer sicherheitsrelevante OS-Ereignisse ergaenzt:
|
||||
# Identitaets-/Rechteaenderungen, privilegierte Kommandos, Zeit-/
|
||||
# Netzwerkkonfigurationsaenderungen, Login-Ereignisse, Modulladen.
|
||||
|
||||
- name: auditd + audispd-plugins installieren
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- auditd
|
||||
- audispd-plugins
|
||||
state: present
|
||||
update_cache: true
|
||||
|
||||
- name: Bestehende auditd-Regeln fuer das Jumphost-Datenverzeichnis
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/audit/rules.d/10-jumphost-app.rules
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0640"
|
||||
content: |
|
||||
-w {{ jumphost_data_dir }}/jumphost.db -p wa -k jumphost_db
|
||||
-w {{ jumphost_home }} -p wa -k jumphost_app_files
|
||||
-w /etc/jumphost -p wa -k jumphost_config
|
||||
notify: restart auditd
|
||||
|
||||
- name: Erweiterte CIS/STIG-Audit-Regeln fuer das Basissystem
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/audit/rules.d/20-cis-baseline.rules
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0640"
|
||||
content: |
|
||||
# Identitaets-/Rechteaenderungen (CIS 4.1.4)
|
||||
-w /etc/passwd -p wa -k identity
|
||||
-w /etc/group -p wa -k identity
|
||||
-w /etc/shadow -p wa -k identity
|
||||
-w /etc/gshadow -p wa -k identity
|
||||
-w /etc/sudoers -p wa -k identity
|
||||
-w /etc/sudoers.d/ -p wa -k identity
|
||||
|
||||
# Sudo-Nutzung protokollieren (ergaenzt Defaults logfile in
|
||||
# sudo_logging.yml um eine auditd-seitige, manipulationsresistentere Spur)
|
||||
-a always,exit -F arch=b64 -S execve -F euid=0 -F auid!=0 -F auid!=-1 -k privileged_sudo
|
||||
|
||||
# Zeitaenderungen (CIS 4.1.3)
|
||||
-a always,exit -F arch=b64 -S adjtimex,settimeofday,clock_settime -k time_change
|
||||
-w /etc/localtime -p wa -k time_change
|
||||
|
||||
# Netzwerkkonfiguration (CIS 4.1.7)
|
||||
-w /etc/hosts -p wa -k network_config
|
||||
-w /etc/network/ -p wa -k network_config
|
||||
-w /etc/nftables.conf -p wa -k network_config
|
||||
|
||||
# Login/Logout-Ereignisse (CIS 4.1.5)
|
||||
-w /var/log/faillog -p wa -k logins
|
||||
-w /var/log/lastlog -p wa -k logins
|
||||
-w /var/run/utmp -p wa -k session
|
||||
-w /var/log/wtmp -p wa -k session
|
||||
-w /var/log/btmp -p wa -k session
|
||||
|
||||
# Kernel-Modul-Laden/-Entladen (CIS 4.1.13)
|
||||
-a always,exit -F arch=b64 -S init_module,delete_module -k kernel_modules
|
||||
|
||||
# SSH-Konfigurationsaenderungen des Jumphosts selbst
|
||||
-w /etc/ssh/sshd_config -p wa -k sshd_config
|
||||
-w /etc/ssh/sshd_config.d/ -p wa -k sshd_config
|
||||
|
||||
# Loeschungen durch Nutzer (CIS 4.1.14, exemplarisch fuer den eigenen UID-Bereich)
|
||||
-a always,exit -F arch=b64 -S unlink,unlinkat,rename,renameat -F auid>=1000 -F auid!=-1 -k file_deletion
|
||||
notify: restart auditd
|
||||
|
||||
- name: auditd-Regeln als unveraenderlich markieren (STIG, optional)
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/audit/rules.d/99-immutable.rules
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0640"
|
||||
content: |
|
||||
# ACHTUNG: nach Aktivierung sind Aenderungen an den Audit-Regeln erst
|
||||
# nach einem Reboot wieder moeglich (auditctl -e 2 sperrt bis Neustart).
|
||||
-e 2
|
||||
when: os_hardening_auditd_immutable
|
||||
notify: restart auditd
|
||||
|
||||
- name: auditd-Log-Rotation auf "keep_logs" setzen statt Ueberschreiben (CIS 4.1.2.3)
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/audit/auditd.conf
|
||||
regexp: '^max_log_file_action\s*='
|
||||
line: "max_log_file_action = keep_logs"
|
||||
notify: restart auditd
|
||||
|
||||
- name: auditd bei vollem Log-Speicher anhalten statt Ereignisse zu verwerfen (CIS 4.1.2.4)
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/audit/auditd.conf
|
||||
regexp: '^space_left_action\s*='
|
||||
line: "space_left_action = email"
|
||||
Reference in New Issue
Block a user