--- # Durcissement CIS Ubuntu 24.04 — AIDE (integrite fichiers) installe + verification quotidienne # (checks 35758, 35759) # # IMPORTANT : /var/lib/docker (images/layers/volumes), les donnees de bases de donnees # (postgresql, redis), wazuh-indexer, clamav et /var/log/audit sont exclus AVANT le premier # aideinit — sans ca, le scan initial serait tres long et generait des faux positifs # quotidiens (ces donnees changent en permanence par nature, leur integrite est geree par # leurs propres mecanismes, pas par un FIM au niveau fichier). # # `aideinit` peut prendre plusieurs minutes (hash de la quasi-totalite du systeme de # fichiers) — pas de reboot necessaire, mais consommation CPU/IO notable pendant le scan. # # `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-aide-hardening.yml --limit pre-prod-uber - name: Durcissement AIDE - integrite fichiers (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: - name: Installer aide et aide-common ansible.builtin.apt: name: - aide - aide-common state: present update_cache: true cache_valid_time: 3600 - name: Deployer les exclusions specifiques infra (avant le premier scan) ansible.builtin.template: src: ../templates/72_aide_infra_excludes.j2 dest: /etc/aide/aide.conf.d/72_aide_infra_excludes owner: root group: root mode: "0644" - name: Verifier si une base AIDE existe deja ansible.builtin.stat: path: /var/lib/aide/aide.db register: aide_db - name: Initialiser la base AIDE (aideinit) — peut prendre plusieurs minutes ansible.builtin.command: cmd: aideinit -y -f when: not aide_db.stat.exists changed_when: true - name: Activer et demarrer la verification quotidienne (dailyaidecheck.timer) ansible.builtin.systemd: name: "{{ item }}" masked: false enabled: true state: started loop: - dailyaidecheck.service - dailyaidecheck.timer - name: Verifier l'etat final ansible.builtin.command: cmd: systemctl show dailyaidecheck.timer -p LoadState,ActiveState register: aide_timer_check changed_when: false failed_when: > 'LoadState=loaded' not in aide_timer_check.stdout or 'ActiveState=active' not in aide_timer_check.stdout - name: Confirmer le succes pour cet host ansible.builtin.debug: msg: "✅ AIDE installé et vérification quotidienne active sur {{ inventory_hostname }}."