Le problème
Nous avons ajouté de nouvelles règles d'audit au fichier de configuration /etc/audit/rules.d/audit.rules comme indiqué ci-dessous :
# vi /etc/audit/rules.d/audit.rules -a always,exit -F arch=b64 -S adjtimex -S settimeofday -S stime -S clock_settime -k time-change -a always,exit -F arch=b64 -S sethostname -S setdomainname -k system-locale
Mais, ces configurations ne sont pas reflétées.
# auditctl -l No rulesRemarque :Sur CentOS/RHEL 6, le fichier de configuration est /etc/audit/audit.rules au lieu de /etc/audit/rules.d/audit.rules.
La solution
1. La première chose à vérifier ici est la syntaxe de la règle et à corriger si elle est erronée. Par exemple, vous pouvez exécuter manuellement la règle que vous avez configurée dans le fichier de configuration. Vous devriez voir l'erreur de syntaxe sur la ligne de commande lorsque vous exécutez la commande. Par exemple :
# auditctl -a always,exit -F arch=b64 -S adjtimex -S settimeofday -S stime -S clock_settime -k time-change Syscall name unknown: stime The audit system is in immutable mode, no rule changes allowed
2. Corrigez l'argument de règle "-S time" et redémarrez le système. Le redémarrage est nécessaire pour désactiver le mode immuable auditd.
3. Après le redémarrage, toutes les règles d'audit seront reflétées.
# auditctl -l -a always,exit -F arch=x86_64 -S adjtimex,settimeofday,time,clock_settime -F key=time-change -a always,exit -F arch=x86_64 -S sethostname,setdomainname -F key=system-locale
Si vous définissez une syntaxe incorrecte dans le fichier de configuration /etc/audit/rules.d/audit.rules, auditd arrête l'enregistrement de la règle. Ainsi, toutes les règles après une ligne de syntaxe incorrecte ne seront pas reflétées.