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 se reflètent pas.
# auditctl -l
No rules
Remarque : sur CentOS/RHEL 6, le fichier de configuration est /etc/audit/audit.rules au lieu de /etc/audit/rules.d/audit.rules.
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 auditd immuable.
3. Après le redémarrage, toute la règle d'audit sera reflétée.
# 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.
Aujourd'hui, nous avons appris comment nos ingénieurs de support dépannent la configuration des règles d'audit.