first commit
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
---
|
||||
# Regles d'audit detaillees restantes (CIS 6.2.3.4-6.2.3.19) — appliquees a chaud, pas de reboot
|
||||
#
|
||||
# PREREQUIS : hardening/playbook-coredump-auditd-hardening.yml (auditd) et
|
||||
# hardening/playbook-audit-rules-sudo-omnex.yml deja appliques.
|
||||
#
|
||||
# Couvre : date/heure, environnement reseau, acces fichier echoues, user/group (identity),
|
||||
# permissions DAC (chmod/chown/xattr), montages, sessions, login/logout, suppressions fichiers,
|
||||
# politique MAC (AppArmor), commandes chcon/setfacl/chacl/usermod, modules noyau.
|
||||
#
|
||||
# UID_MIN lu dynamiquement depuis /etc/login.defs de chaque host (1000 sur cette infra, mais
|
||||
# pas suppose en dur pour rester correct si un host differe).
|
||||
#
|
||||
# `augenrules --load` recharge a chaud : PAS de redemarrage necessaire tant que le mode
|
||||
# immutable (-e 2, check 35749) n'est pas active — volontairement PAS fait par ce playbook.
|
||||
#
|
||||
# `serial: 1` + `any_errors_fatal` : un host a la fois, arret immediat si un host casse.
|
||||
#
|
||||
# Usage recommande : tester sur un host avant le rollout complet :
|
||||
# ansible-playbook hardening/playbook-audit-rules-cis-rest.yml --limit pre-prod-uber
|
||||
|
||||
- name: Regles d'audit detaillees restantes CIS 6.2.3.x (Ubuntu 24.04)
|
||||
hosts: prod,pre-prod,bdd-redis-prod,replica-prod,infra,infra-runner,infra-utils,load-balancer
|
||||
become: true
|
||||
serial: 1
|
||||
any_errors_fatal: true
|
||||
|
||||
tasks:
|
||||
- name: Lire UID_MIN depuis /etc/login.defs
|
||||
ansible.builtin.command:
|
||||
cmd: awk '/^\s*UID_MIN/{print $2}' /etc/login.defs
|
||||
register: uid_min_result
|
||||
changed_when: false
|
||||
|
||||
- name: Deployer les regles d'audit CIS restantes
|
||||
ansible.builtin.template:
|
||||
src: ../templates/audit-52-cis-rest.rules.j2
|
||||
dest: /etc/audit/rules.d/52-cis-rest.rules
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0640"
|
||||
vars:
|
||||
uid_min: "{{ uid_min_result.stdout }}"
|
||||
register: cis_rest_rules
|
||||
|
||||
- name: Charger les nouvelles regles d'audit (augenrules --load)
|
||||
ansible.builtin.command:
|
||||
cmd: augenrules --load
|
||||
when: cis_rest_rules.changed
|
||||
changed_when: true
|
||||
|
||||
- name: Verifier que les cles principales sont actives (auditctl -l)
|
||||
ansible.builtin.command:
|
||||
cmd: auditctl -l
|
||||
register: auditctl_check
|
||||
changed_when: false
|
||||
failed_when: >
|
||||
'time-change' not in auditctl_check.stdout or
|
||||
'system-locale' not in auditctl_check.stdout or
|
||||
'identity' not in auditctl_check.stdout or
|
||||
'perm_mod' not in auditctl_check.stdout or
|
||||
'mounts' not in auditctl_check.stdout or
|
||||
'session' not in auditctl_check.stdout or
|
||||
'logins' not in auditctl_check.stdout or
|
||||
'delete' not in auditctl_check.stdout or
|
||||
'MAC-policy' not in auditctl_check.stdout or
|
||||
'perm_chng' not in auditctl_check.stdout or
|
||||
'usermod' not in auditctl_check.stdout or
|
||||
'kernel_modules' not in auditctl_check.stdout
|
||||
|
||||
- name: Confirmer le succes pour cet host
|
||||
ansible.builtin.debug:
|
||||
msg: "✅ Règles d'audit CIS 6.2.3.x restantes actives sur {{ inventory_hostname }} (UID_MIN={{ uid_min_result.stdout }}, pas de reboot requis)."
|
||||
Reference in New Issue
Block a user