Hemos agregado nuevas reglas de auditoría al archivo de configuración /etc/audit/rules.d/audit.rules como se muestra a continuación:
# 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
Pero, estas configuraciones no se reflejan.
# auditctl -l
No rules
Nota: En CentOS / RHEL 6, el archivo de configuración es /etc/audit/audit.rules en lugar de /etc/audit/rules.d/audit.rules.
Solución
1. Lo primero que hay que comprobar aquí es la sintaxis de la regla y corregir si es incorrecta. Por ejemplo, puede ejecutar manualmente la regla que ha configurado en el archivo de configuración. Debería ver el error de sintaxis en la línea de comando cuando ejecuta el comando. Por ejemplo:
# 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. Corrija el argumento de la regla “-S time” y reinicie el sistema. El reinicio es necesario para deshabilitar el modo inmutable auditado.
3. Después del reinicio, se reflejarán todas las reglas de auditoría.
# 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 establece la sintaxis incorrecta en el archivo de configuración /etc/audit/rules.d/audit.rules, auditd detiene el registro de la regla. Entonces, todas las reglas después de una línea de sintaxis incorrecta, no se reflejarán.
Hoy, hemos aprendido cómo nuestros ingenieros de soporte solucionan problemas de configuración de reglas de auditoría.