auditd tournait, onze regles etaient armees, et rien de tout cela ne servait a grand-chose. Quatre manques, mesures avant d etre combles. 1. Rien ne sortait. Alloy ne contenait aucune reference a l audit et les cinq greffons etaient inactifs. Il lit maintenant audit.log et le pousse vers Loki — sans toucher une permission, alloy etant deja dans le groupe adm. On ecarte le greffon syslog : journald limite le debit, et une rafale d evenements est exactement le moment qui compte. 2. Aucune sonde. Elle mesure la COLLECTE, pas l armement : le nombre de regles est precisement le chiffre qui restait bon pendant la panne du 2026-08-30. Il part en perfdata, jamais en verdict. 3. Retention non declaree. Mesuree a 4,6 Mo/jour au repos ; portee de 40 a 128 Mo. Depuis (1), le local n est plus l archive mais un tampon. 4. Les regles ignoraient la cle privee de l hote. -w /etc/step/ partout, et -w /etc/step-ca/ sur la seule autorite : auditctl refuse un watch vers un chemin absent et fait echouer le chargement entier. Verifie sur l autorite seule d abord, puis 14/14 : regles armees, auditd actif, sonde a 0, et les quatorze hotes presents dans Loki sous job=audit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
1.8 KiB
serveur_durci
Rôle-catégorie du durcissement : il ne porte aucune tâche. Son unique contenu est
meta/supervision.yml — la déclaration de la sonde audit.
Pourquoi un rôle sans tâches
La dérivation de supervision agrège les roles/<rôle>/meta/supervision.yml par nom de
groupe. Déclarée dans roles/auditd/, qui est un rôle-tâche et non un groupe, la sonde
serait restée invisible d'Icinga — et le ménage de client_sante l'aurait effacée au
passage suivant. Même leçon que la sonde correctifs, déplacée de common_packages vers
serveur_debian le 2026-09-10.
Le fichier est déposé par roles/auditd/ ; il est déclaré ici. La preuve P64 garde
les deux moitiés ensemble.
Le travail réel
Il est fait par le playbook du groupe, playbooks/groupes/serveur_durci.yml, qui applique
dans l'ordre :
| Rôle | Apport |
|---|---|
hardening_packages |
Paquets de durcissement |
sysctl_hardening |
Paramètres noyau |
core_dumps |
Vidages mémoire désarmés |
unattended_upgrades |
Mises à jour automatiques masquées (voir la sonde correctifs) |
apparmor |
Confinement des services |
auditd |
Piste d'audit : règles, rétention, sonde |
fail2ban_ssh |
Bannissement des tentatives SSH |
La sonde audit
Elle mesure la collecte, pas l'armement — et c'est tout son objet. Le 2026-08-30, sur
les quinze machines de Chezlepro, auditctl -l affichait onze règles armées dans le noyau
pendant qu'auditd était mort : un doublon dans rules.d/ faisait échouer
audit-rules.service, dont le démon dépend. Une sonde qui aurait compté les règles aurait
dit « vert » pendant toute la panne.
Le nombre de règles part donc en perfdata, jamais en verdict — pour que le diagnostic distingue « rien d'armé » de « armé mais rien de collecté ».