[5] Własne reguły Auditd
6 marca 2022Możliwe jest dodanie własnych reguł audytu, jak poniżej.
[1] Na przykład Skonfiguruj regułę audytu, która rejestruje zapis i zmianę atrybutów dla [/etc/hosts].
# wyświetl aktualne reguły [root@vlsr01 ~]# auditctl -l No rules # -p [r|w|x|a] : docelowe akcje dla Audit # r=read, w=write, x=execute, a=attributes # -k [words] : ustaw klucz do wyszukiwania [root@vlsr01 ~]# auditctl -w /etc/hosts -p wa -k hosts_change [root@vlsr01 ~]# auditctl -l -w /etc/hosts -p wa -k hosts_change
[2] Po ustawieniu pewnych działań i wykryciu ich przez nowe reguły audytu, dzienniki audytu są rejestrowane w następujący sposób.
[root@vlsr01 ~]# ausearch -k hosts_change | aureport -f -i File Report =============================================== # date time file syscall success exe auid event =============================================== 1.06.03.2022 16:14:06 /etc/hosts chown yes /usr/bin/mc root 261 2.06.03.2022 16:14:06 /etc/hosts chmod yes /usr/bin/mc root 262 3.06.03.2022 16:14:06 /etc/hosts openat yes /usr/bin/mc root 263
[3] Reguły dodane przez polecenie [auditctl] nie są zachowywane po ponownym uruchomieniu systemu, więc jeśli chcesz zachować je na stałe, musisz je dodać w pliku pod [/etc/audit/rules.d]. Można dodać reguły do dowolnej nazwy pliku w [/etc/audit/rules.d], ale rozszerzenie musi być [.rules].
# zapisz aktualne reguły do [additional.rules] [root@vlsr01 ~]# auditctl -l >> /etc/audit/rules.d/additional.rules
[4] Jeśli ustawisz katalog dla celu inspekcji, wszystkie pliki są kierowane rekursywnie w katalogu.
# ustaw reguły Audit (czytaj/reading) do [/home/testdir/] [root@vlsr01 ~]# auditctl -w /home/testdir/ -p r -k testdir_audit [root@vlsr01 ~]# auditctl -l -w /etc/hosts -p wa -k hosts_change -w /home/testdir -p r -k testdir_audit # logi są rejestrowane w następujący sposób [root@vlsr01 ~]# ausearch -k testdir_audit | aureport -f -i File Report =============================================== # date time file syscall success exe auid event =============================================== 1.06.03.2022 16:18:25 /home/ sendto yes /usr/sbin/auditctl root 267
[5] Na przykład ustaw regułę audytu, która monitoruje pliki usuwane przez użytkowników, którzy mają UID 1000. Przy okazji, dla opcji [S], możesz upewnić się, że wszystkie wywołania systemowe [man syscalls], są wykonane po zainstalowaniu [dnf install man=pages].
[root@vlsr01 ~]# auditctl -a always,exit -F arch=b64 -S unlink,unlinkat -F 'auid>=1000' -F 'auid!=-1' -F key=delete_audit [root@vlsr01 ~]# auditctl -l -w /etc/hosts -p wa -k hosts_change -w /home/testdir -p r -k testdir_audit -a always,exit -F arch=b64 -S unlink,unlinkat -F auid>=1000 -F auid!=-1 -F key=delete_audit # logi są rejestrowane w następujący sposób [root@vlsr01 ~]# ausearch -k delete_audit | aureport -f -i File Report =============================================== # date time file syscall success exe auid event =============================================== 1.06.03.2022 16:31:33 /run/user/1000/systemd/ unlink no /usr/lib/systemd/systemd user01 311 2.06.03.2022 16:31:33 /run/user/1000/systemd/ unlink no /usr/lib/systemd/systemd user01 312 3.06.03.2022 16:31:36 /home/user01/.config/mc/ini~ unlink yes /usr/bin/mc user01 322 4. 06.03.2022 16:31:45 /home/user01/.local/share/mc/history~ unlink yes /usr/bin/mc user01 323