first commit
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
---
|
||||
# Durcissement CIS Ubuntu 24.04 — core dumps restreints, Apport désactivé, auditd installé/actif
|
||||
# (checks 35543, 35545, 35723-35726, 35756, 35757)
|
||||
#
|
||||
# IMPORTANT — REBOOT :
|
||||
# - audit=1 et audit_backlog_limit=8192 sont ajoutés à /etc/default/grub puis `update-grub`
|
||||
# régénère immédiatement /boot/grub/grub.cfg → les checks CIS 35725/35726 passent au VERT
|
||||
# dès ce playbook exécuté (ils inspectent le fichier grub.cfg généré, pas le noyau en cours
|
||||
# d'exécution).
|
||||
# - MAIS la protection réelle (auditer les process qui démarrent avant auditd) ne prend effet
|
||||
# qu'après un REDÉMARRAGE du serveur (le paramètre kernel n'est actif qu'au prochain boot).
|
||||
# Ce playbook NE redémarre PAS automatiquement les serveurs — décision à prendre séparément,
|
||||
# en fenêtre de maintenance, host par host (impact Docker/VPN/prod public à chaque reboot).
|
||||
#
|
||||
# - apport est PURGÉ (pas juste désactivé) : cohérent avec le choix déjà fait pour rsync/telnet/ftp
|
||||
# dans ce même chantier. apport-core-dump-handler et python3-apport partent avec (dépendances),
|
||||
# sans impact sur les services applicatifs de cette infra (aucun ne dépend d'apport).
|
||||
#
|
||||
# `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-coredump-auditd-hardening.yml --limit pre-prod-uber
|
||||
|
||||
- name: Durcissement core dumps + apport + auditd (CIS 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:
|
||||
# --- 1.5.3 Core dumps restreints ---
|
||||
- name: Deployer fs.suid_dumpable=0
|
||||
ansible.builtin.template:
|
||||
src: ../templates/60-cis-coredump-sysctl.conf.j2
|
||||
dest: /etc/sysctl.d/60-cis-coredump-sysctl.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
register: coredump_sysctl
|
||||
|
||||
- name: Appliquer fs.suid_dumpable
|
||||
ansible.builtin.command:
|
||||
cmd: sysctl --system
|
||||
when: coredump_sysctl.changed
|
||||
changed_when: true
|
||||
|
||||
- name: Deployer la limite hard core 0
|
||||
ansible.builtin.template:
|
||||
src: ../templates/60-cis-coredump-limits.conf.j2
|
||||
dest: /etc/security/limits.d/60-cis-coredump.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
|
||||
# --- 1.5.5 Apport (Automatic Error Reporting) ---
|
||||
- name: Purger apport (et ses dependances python3-apport, apport-core-dump-handler)
|
||||
ansible.builtin.apt:
|
||||
name: apport
|
||||
state: absent
|
||||
purge: true
|
||||
|
||||
# --- 6.2.1.x auditd ---
|
||||
- name: Installer auditd et audispd-plugins
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- auditd
|
||||
- audispd-plugins
|
||||
state: present
|
||||
update_cache: true
|
||||
cache_valid_time: 3600
|
||||
|
||||
- name: Demasquer, activer et demarrer auditd
|
||||
ansible.builtin.systemd:
|
||||
name: auditd
|
||||
masked: false
|
||||
enabled: true
|
||||
state: started
|
||||
|
||||
- name: Verifier la presence de audit=1 dans GRUB_CMDLINE_LINUX
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/default/grub
|
||||
regexp: '^GRUB_CMDLINE_LINUX='
|
||||
line: 'GRUB_CMDLINE_LINUX="audit=1 audit_backlog_limit=8192"'
|
||||
backup: true
|
||||
register: grub_conf
|
||||
|
||||
- name: Regenerer grub.cfg si la config a change
|
||||
ansible.builtin.command:
|
||||
cmd: update-grub
|
||||
when: grub_conf.changed
|
||||
changed_when: true
|
||||
|
||||
- name: Verifier que audit=1 est bien present dans grub.cfg genere
|
||||
ansible.builtin.command:
|
||||
cmd: grep -q 'audit=1' /boot/grub/grub.cfg
|
||||
changed_when: false
|
||||
|
||||
# --- 6.2.4.9 / 6.2.4.10 Ownership des outils d'audit ---
|
||||
- name: Proprietaire/groupe root:root sur les outils d'audit
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
owner: root
|
||||
group: root
|
||||
loop:
|
||||
- /sbin/auditctl
|
||||
- /sbin/aureport
|
||||
- /sbin/ausearch
|
||||
- /sbin/autrace
|
||||
- /sbin/auditd
|
||||
- /sbin/augenrules
|
||||
ignore_errors: true # certains binaires peuvent etre des symlinks vers /usr/sbin selon la distro
|
||||
|
||||
- name: Confirmer le succes pour cet host
|
||||
ansible.builtin.debug:
|
||||
msg: >-
|
||||
✅ Core dumps/apport/auditd appliqués sur {{ inventory_hostname }}.
|
||||
REDÉMARRAGE requis pour que audit=1 protège les process pré-auditd (non fait par ce playbook).
|
||||
Reference in New Issue
Block a user