Outils CLI auditd¶
Les commandes suivantes nécessitent souvent root ou sudo. Les options peuvent varier selon la version du paquet audit.
auditctl — gérer les règles actives¶
sudo auditctl -s # état du sous-système
sudo auditctl -l # règles actuellement chargées
sudo auditctl -w /etc/passwd -p wa -k identity
sudo auditctl -a always,exit -F arch=b64 -S openat -F dir=/etc -F auid>=1000 -F auid!=unset -k etc_access
sudo auditctl -d always,exit -F arch=b64 -S openat -F dir=/etc -F auid>=1000 -F auid!=unset -k etc_access
sudo auditctl -D # supprimer toutes les règles actives
Options importantes :
-laffiche les règles chargées ;-Dles supprime.-w PATHsurveille un fichier ou répertoire (-p r|w|x|a,-k MOTCLE). Cette forme est simple mais moins performante que les règles syscall modernes.-a LIST,ACTIONajoute une règle :LISTvaut notammentalways,exitetACTIONvautalwaysounever.-Fajoute un filtre :arch=b64,uid=,auid=,exe=,dir=,success=, etc.-Ssélectionne un syscall ; utiliser plusieurs-Savec prudence et vérifier l’architecture.-brègle le buffer noyau,-fle comportement en cas d’échec (0,1,2).
Les modifications avec auditctl sont temporaires : elles ne survivent pas au redémarrage. Utiliser /etc/audit/rules.d/*.rules puis augenrules --load pour la persistance.
augenrules — compiler et charger les règles¶
sudo augenrules --check # vérifier la génération
sudo augenrules --load # générer /etc/audit/audit.rules et charger
sudo augenrules --debug # afficher les détails de traitement
Les fichiers *.rules sont lus dans l’ordre lexical. Éviter d’éditer directement /etc/audit/audit.rules lorsqu’augenrules est utilisé.
ausearch — rechercher les événements¶
sudo ausearch -m USER_LOGIN -ts today
sudo ausearch -k identity -i
sudo ausearch -ua 1001 -ts recent
sudo ausearch -f /etc/passwd -ts 09/16/2026 09:00:00
sudo ausearch -sc execve --success no -i
sudo ausearch -a 1234 -i
sudo ausearch --input-logs --format text
Options utiles :
-m TYPEfiltre le type d’événement ; plusieurs types peuvent être donnés.-k KEYrecherche la clé d’une règle ;-f PATHrecherche un chemin.-tset-tedéfinissent début et fin (today,yesterday,recent, ou date/heure).-ua UID,-ui UID,-ul UIDfiltrent les identités réelle, effective ou de connexion.-sc SYSCALL,-a EVENT_ID,--success yes|noaffinent la recherche.-iinterprète les valeurs numériques ;--rawconserve le format brut.-xaffiche l’exécutable,--just-onelimite le résultat.
Pour reconstruire un événement multi-lignes, conserver les enregistrements partageant le même msg=audit(...:ID).
aureport — produire des synthèses¶
sudo aureport
sudo aureport -au -ts today # authentifications
sudo aureport -l -i # connexions
sudo aureport -f -i # accès fichiers
sudo aureport -x --summary # exécutables
sudo aureport -s --failed # syscalls échoués
sudo aureport -t # période couverte
-au, -l, -f, -x et -s sélectionnent des rapports ; -ts/-te filtrent la période ; -i interprète les identifiants ; --failed limite aux échecs ; --summary agrège les résultats.
auditd¶
sudo systemctl status auditd
sudo systemctl restart auditd
sudo auditd -f # mode premier plan, diagnostic
sudo auditd -s enable # activer l’audit selon la version
La gestion normale passe par systemd et la configuration /etc/audit/auditd.conf. Vérifier la syntaxe et les capacités disponibles sur la distribution avant toute modification.
audisp-remote et plugins¶
Les plugins sont configurés dans /etc/audit/plugins.d/. audisp-remote permet l’envoi vers un collecteur configuré dans audisp-remote.conf; protéger le transport et tester la perte de connectivité.