Set-OPS-Public/roles/auditd/defaults/main.yml

57 lines
2.8 KiB
YAML
Raw Normal View History

---
auditd_enabled: true
audit + timers : deux services en echec sur les quinze machines, muets depuis toujours `make prouver` disait 15/15 a failed=0. Les machines, elles, portaient chacune trois unites systemd en echec. Le rapport d Ansible n est pas l etat d une machine. AUDITD : ONZE REGLES ARMEES, PERSONNE POUR COLLECTER. Deux fichiers de regles identiques cohabitaient — 99-chezlepro.rules et 99-setops.rules, vestige du renommage du role. augenrules CONCATENE rules.d/ : Error sending add rule data request (Rule exists) There was an error in line 16 of /etc/audit/audit.rules audit-rules echoue, et auditd ne demarre pas — c est sa dependance. Resultat : auditctl -l affiche onze regles, ce qui donne toutes les apparences d un audit qui fonctionne, et rien ne les enregistre. Meme mue que ssh_baseline, meme registre : auditd_fichiers_perimes. On n y ajoute que des noms qu on a REELLEMENT deposes un jour. Et `failed_when: false` cachait la panne : quinze machines a failed=0 avec auditd mort sur les quinze. Un service de securite qui ne demarre pas doit se VOIR. TIMERS APT-DAILY : UN ETAT D ECHEC RESIDUEL. Masquer le service pendant que son timer tourne lui fait perdre sa cible ; systemd le note et le GARDE (Unit to trigger vanished). `state: stopped` n efface pas un etat failed — seul reset-failed le fait. Ce n est pas cosmetique : une supervision qui compte les unites en echec compte ces deux-la pour toujours, et la vraie panne s y noiera. Meme defaut que le journal de la frontiere noye sous 982 000 entrees. DIAGNOSTIC FAUX, CORRIGE : j avais lu « masked enabled » dans list-unit-files comme un etat contradictoire, et construit une reparation pour le defaire. Ces colonnes sont ETAT puis PRESET — masque avec un prereglage constructeur active est normal. La reparation a ete annulee avant d etre livree. make verifier : vert. make prouver : CONFORME, 55 OK, 0 echec, 0 saute. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019f91zs9SDdwSzL2CVei6on
2026-08-31 16:16:13 -04:00
# LES FICHIERS QU'UNE NOMENCLATURE ABANDONNEE A LAISSES DERRIERE ELLE.
#
# Ce role a porte le nom `chezlepro` avant de porter celui du moteur. Le renommage a
# change le fichier DEPOSE sans retirer le precedent — meme mue que `ssh_baseline`, meme
# registre, et une consequence PIRE ici.
#
# `augenrules` CONCATENE tout `rules.d/`. Deux fichiers portant la meme regle la
# presentent donc deux fois au noyau, qui refuse la seconde :
#
# Error sending add rule data request (Rule exists)
# There was an error in line 16 of /etc/audit/audit.rules
#
# `audit-rules.service` echoue, et `auditd.service` ne demarre pas — c'est sa dependance.
# Resultat mesure le 2026-08-30 sur les quinze machines de Chezlepro : ONZE REGLES
# ARMEES DANS LE NOYAU, ET PERSONNE POUR COLLECTER. `auditctl -l` les affiche, ce qui
# donne toutes les apparences d'un audit qui fonctionne.
#
# On n'ajoute a cette liste que des noms qu'on a REELLEMENT deposes un jour : retirer un
# fichier qu'on n'a jamais ecrit serait s'arroger le droit de supprimer la configuration
# de quelqu'un d'autre.
auditd_fichiers_perimes:
- 99-chezlepro.rules
# RETENTION LOCALE : UN TAMPON, PLUS UNE ARCHIVE (2026-09-11).
#
# Debian livre 8 Mo x 5 fichiers = 40 Mo. Mesure sur `infra-edge-01` au repos,
# deploiement termine : 3 380 octets en 60 s, soit ~4,6 Mo/jour. Les 40 Mo tiennent
# donc environ NEUF JOURS — sauf qu'une reconstruction a elle seule en brule 4 Mo : les
# trois du 2026-09-10 auraient mange trois jours de piste.
#
# CE QUI CHANGE LE RAISONNEMENT : depuis aujourd'hui, Alloy expedie `audit.log` vers Loki
# (`client_journal`). L'archive n'est plus ici — elle est chez le collecteur, hors de la
# machine auditee, ce qui est le seul endroit ou elle ait une valeur de preuve. Ce qui
# reste en local n'est plus qu'un TAMPON : de quoi traverser une panne de Loki sans
# perdre la piste.
#
# 16 Mo x 8 = 128 Mo, soit ~28 jours au repos. Sur un disque de 40 Go c'est negligeable,
# et ca couvre largement toute indisponibilite plausible du collecteur.
#
# CE CHOIX EST UNE DECISION D'EXPLOITATION, pas une derivation : deux lignes a changer si
# la mesure du debit evolue.
auditd_max_log_file: 16 # Mo par fichier
auditd_num_logs: 8 # fichiers conserves
# SONDE « audit » — AGE MAXIMAL TOLERE SANS UNE SEULE ECRITURE.
#
# Repose sur une observation, et il faut le savoir : le journal bouge meme SANS activite
# humaine. La regle `time-change` capte les ajustements d'horloge (218 evenements sur la
# premiere heure d'une machine neuve), et les sessions `sudo` du deploiement le reste du
# temps. Une heure de silence COMPLET n'est donc pas un creux normal : c'est soit
# `disk_full_action = SUSPEND` qui a mordu, soit la collecte qui s'est arretee sans que le
# service meure.
auditd_sonde_age_max: 3600