Il problema
Abbiamo aggiunto nuove regole di controllo al file di configurazione /etc/audit/rules.d/audit.rules come mostrato di seguito:
# 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
Ma queste configurazioni non si riflettono.
# auditctl -l No rulesNota :su CentOS/RHEL 6, il file di configurazione è /etc/audit/audit.rules invece di /etc/audit/rules.d/audit.rules.
La soluzione
1. La prima cosa da controllare qui è la sintassi della regola e correggere se è sbagliata. Ad esempio, puoi eseguire manualmente la regola che hai configurato nel file di configurazione. Dovresti vedere l'errore di sintassi sulla riga di comando quando esegui il comando. Ad esempio:
# 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. Correggere l'argomento della regola “-S tempo” e riavviare il sistema. Il riavvio è necessario per disabilitare la modalità immutabile auditd.
3. Dopo il riavvio, tutte le regole di controllo si rifletteranno.
# 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
Se si imposta la sintassi errata nel file di configurazione /etc/audit/rules.d/audit.rules, auditd interrompe la registrazione della regola. Quindi, tutte le regole dopo una riga di sintassi errata non rifletteranno.