[5] Własne reguły Auditd

6 marca 2022 Wyłączono przez Adam [zicherka] Nogły

Moż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