[audit] Generowanie raportów audytowych - aureport

Red Hat 6.x / CentOS 6.x
System operacyjny poza możliwością wyszukiwania zdarzeń w logach audit daje nam możliwość prostego generowania raportów z tych zdarzeń. Narzędzie aureport, bo je mam na myśli, posiada sporą grupę opcji, dzięki której w czytelny sposób możemy przedstawić statystyki dla wybranego elementu, zaprezentowane w usystematyzowanej kolumnowej formie.

Jak w przypadku narzędzia ausearch tutaj również możemy wymusić interpretację niektórych pól przedstawianych w raporcie, i analogicznie będziemy to realizować przez dodanie parametru -i.

Podstawowym raportem generowanym przez aureport jest raport sumaryczny pokazujący ilościowe zestawienie zdarzeń różnego rodzaju:

[root@server ~]# aureport

Summary Report
======================
Range of time in logs: 08/24/2015 19:14:27.452 - 10/08/2015 07:21:05.686
Selected time for report: 08/24/2015 19:14:27 - 10/08/2015 07:21:05.686
Number of changes in configuration: 20
Number of changes to accounts, groups, or roles: 28
Number of logins: 56
Number of failed logins: 6
Number of authentications: 112
Number of failed authentications: 20
Number of users: 5
Number of terminals: 16
Number of host names: 8
Number of executables: 18
Number of files: 2
Number of AVC's: 7
Number of MAC events: 62
Number of failed syscalls: 0
Number of anomaly events: 6
Number of responses to anomaly events: 0
Number of crypto events: 913
Number of keys: 0
Number of process IDs: 1381
Number of events: 8933

Na jego podstawie, bez wnikania w szczegóły poszczególnych zdarzeń możemy określić np. ile nieudanych prób logowania miało miejsce w okresie czasu wymienionym w samym raporcie - domyślnie zawsze wykorzystywany jest aktualny plik logu, więc data zakończenia powinna być aktualna. Każde z wymienionych typów zdarzeń możemy, przy użyciu odpowiednich opcji uszczegółowić i wyraportować.

Przejdźmy zatem do samych opcji programu, generujących raporty w odniesieniu do różnych pól audit.log.

* -au wygeneruje nam raport z prób autentykacji w systemie, np:

[root@server ~]# aureport -au -i

Authentication Report
============================================
# date time acct host term exe success event
============================================
1. 10/08/2015 03:53:38 root 192.168.1.6 ssh /usr/sbin/sshd yes 3252
2. 10/08/2015 03:53:38 root 192.168.1.6 ssh /usr/sbin/sshd yes 3255
3. 10/08/2015 06:45:59 root 192.168.1.111 ssh /usr/sbin/sshd no 3524
4. 10/08/2015 06:45:59 root 192.168.1.111 ssh /usr/sbin/sshd no 3525
5. 10/08/2015 06:46:02 root 192.168.1.111 ssh /usr/sbin/sshd no 3526
6. 10/08/2015 06:46:02 root 192.168.1.111 ssh /usr/sbin/sshd no 3527
7. 10/08/2015 06:46:06 root 192.168.1.111 ssh /usr/sbin/sshd no 3528
8. 10/08/2015 06:46:06 root 192.168.1.111 ssh /usr/sbin/sshd no 3529
9. 10/08/2015 06:46:25 root 192.168.1.111 ssh /usr/sbin/sshd yes 3540
10. 10/08/2015 06:46:25 root 192.168.1.111 ssh /usr/sbin/sshd yes 3543
11. 10/08/2015 06:46:33 test 192.168.1.111 ssh /usr/sbin/sshd no 3565
12. 10/08/2015 06:46:33 test 192.168.1.111 ssh /usr/sbin/sshd no 3566
13. 10/08/2015 06:46:34 test 192.168.1.111 ssh /usr/sbin/sshd yes 3567
14. 10/08/2015 06:46:34 test 192.168.1.111 ssh /usr/sbin/sshd yes 3570

Z zestawienia możemy odczytać datę próby logowania, użytkownika, ip z którego próba była podjęta, jaki program został użyty, czy autoryzacja zakończyła się sukcesem oraz ID eventu audit.
Trzeba podkreślić tu fakt, że raport przedstawia próby autentykacji, czyli każdorazową weryfikacją pary user-hasło. Np. podczas logowania poprzez ssh i pomyłki przy wpisywaniu hasła dostaniemy możliwość podania hasła jeszcze raz. Pierwsza, nieudana próba wprowadzenia hasła zostanie zalogowana - sytuację taką widać powyżej - autentykacja użytkownika test o godz. 06:46:33 nie udała się (podano błędne hasło) a sekundę później zakończyła się sukcesem (podano poprawne hasło w drugiej próbie dla tej samej sesji ssh). Podwojenie wpisów jest wynikiem samego procesu autentykacji, i jest zachowaniem normalnym.

* --failed to opcja, która ograniczy nam wyniki naszego raportu jedynie do elementów, które nie zakończyły się sukcesem, i możemy stosować ją w połączeniu z bodaj wszystkimi opcjami rodzajowymi raportów (przeciwieństwem jej jest opcja --success):

[root@server ~]# aureport -au -i --failed

Authentication Report
============================================
# date time acct host term exe success event
============================================
1. 10/08/2015 06:45:59 root 192.168.1.111 ssh /usr/sbin/sshd no 3524
2. 10/08/2015 06:45:59 root 192.168.1.111 ssh /usr/sbin/sshd no 3525
3. 10/08/2015 06:46:02 root 192.168.1.111 ssh /usr/sbin/sshd no 3526
4. 10/08/2015 06:46:02 root 192.168.1.111 ssh /usr/sbin/sshd no 3527
5. 10/08/2015 06:46:06 root 192.168.1.111 ssh /usr/sbin/sshd no 3528
6. 10/08/2015 06:46:06 root 192.168.1.111 ssh /usr/sbin/sshd no 3529
7. 10/08/2015 06:46:33 test 192.168.1.111 ssh /usr/sbin/sshd no 3565
8. 10/08/2015 06:46:33 test 192.168.1.111 ssh /usr/sbin/sshd no 3566

* -l pokazuje nam statystyki logowania userów. W odróżnieniu od opcji -au przedstawione są tu faktyczne próby logowania - jeśli logowanie jest raportowane jako nieudane oznaczać to może, że np. hasło zostało podane błędnie trzykrotnie i serwer odnówił autoryzacji użytkownika, np:

[root@server ~]# aureport -l -i

Login Report
============================================
# date time auid host term exe success event
============================================
1. 10/08/2015 03:53:38 root 192.168.1.6 /dev/pts/0 /usr/sbin/sshd yes 3260
2. 10/08/2015 06:46:06 root 192.168.1.111 ssh /usr/sbin/sshd no 3533
3. 10/08/2015 06:46:25 root 192.168.1.111 /dev/pts/1 /usr/sbin/sshd yes 3548
4. 10/08/2015 06:46:35 root 192.168.1.111 /dev/pts/1 /usr/sbin/sshd yes 3579

* -c zaraportuje zmiany w konfiguracji - niezbyt czytelne i bez dalszej analizy chyba nieprzyatne

* -e wyświetli nam listę wszystkich eventóv w formie raportu

* -k wyświetli raport z występujących w logu kluczy reguł - możliwych do zdefiniowania indywidualnie wraz z niestandardowymi regułami. W przypadku, kiedy nie zdefiniowaliśmy własnych reguł ta opcja jest w zasadzie bezużyteczna, gdyż predefiniowane reguły nie używają kluczy.

* -m jest raportem przedstawiającym zmiany w kontach użytkowników. Raportowane są tu dodania kont, grup, usunięcia ich czy zmiany hasła.

* -n ciekawy raport prezentujący nietypowe w rozumieniu systemu zachowania. Co prawda sam raport nie mówi nam co spowodowało anomalię, ale daje nam możliwość zbadania tego faktu podając event ID zdarzenia, oraz dając możliwość zweryfikowania jak na taką anomalię system zareagował. Reakcję możemy sprawdzić wywołująć aureport z opcją -r.

* -p jest raportem PID-ów procesów

* -s to raport z SYSCALL-i

* --summary to bardzo przydatna opcja, pozwalająca na pogrupowanie i podliczenie wystąpień w konkretnym raporcie. Zapewnia nam dodatkową gradację szczegółowości raportów pomiędzy raportem sumarycznym i szczegółowym. Dla przykładu sumaryczny raport logowań:

[root@server ~]# aureport -i -l --summary

Login Summary Report
============================
total  auid
============================
36  root
19  test
3  unset
2  admin
2  test2

Niestety nie wszystkie raporty działają z tą opcją.
Co ciekawe, w przypadku raportów z logowań uwzględniane są nie tylko konta lokalne, ale również te autoryzujące się w źródłach zewnętrznych (jak np. w tym przypadku konta z IPA - konto admin)

* --tty wspomnianu już został przy okazji modułu pam_tty_audit. Służy do raportowania "klawiatury" użytkownika, który został w tymże module skonfigurowany.

* -tm raportuje terminale wykorzystywane przez system

* -ts [data] [godzina] to, tak jak w przypadku ausearch ogranicznik czasu wyświtlania raportu - time start. Możemy tu jako parametru użyć interesującej nas daty lub godziny, ale również aliasów: now, recent (10 minut temu), today (dziś od godz. 00:00:01), yesterday, last-week, last-month, last-year.

* -te [data] [godzina], czyli time end. Przyjmuje on parametry identyczne jak -ts

Pozostałe opcje zdają się być mniej użyteczne, ale warto je poznać, choćby dla uświadomienia sobie pełnych możliwości aureport. Standardowo w tym celu odeślę Cię do manuala systemowego, bo to nieocenione źródło informacji, które zawsze jest pod ręką.

Brak komentarzy:

Prześlij komentarz