Jak wysyłać zapytania do dzienników audytu za pomocą narzędzia „ausearch” w CentOS/RHEL
W naszym ostatnim artykule wyjaśniliśmy, jak przeprowadzić audyt systemu RHEL lub CentOS za pomocą narzędzia audytd. System audytu (auditd) to kompleksowy system rejestrowania i nie korzysta w tym celu z syslog. Zawiera także zestaw narzędzi do zarządzania systemem audytu jądra, a także wyszukiwania i tworzenia raportów na podstawie informacji zawartych w plikach dziennika.
W tym samouczku wyjaśnimy, jak używać narzędzia ausearch do pobierania danych z plików dziennika auditd w dystrybucjach Linuksa opartych na RHEL i CentOS.
Przeczytaj także: 4 dobre narzędzia do monitorowania logów Open Source i zarządzania nimi dla systemu Linux
Jak wspomnieliśmy wcześniej, system audytu posiada demona audytu przestrzeni użytkownika (auditd), który zbiera informacje związane z bezpieczeństwem w oparciu o wstępnie skonfigurowane reguły, z jądra i generuje wpisy w pliku dziennika.
Co to jest ausearch?
ausearch to proste narzędzie wiersza poleceń służące do przeszukiwania plików dziennika demona audytu na podstawie zdarzeń i różnych kryteriów wyszukiwania, takich jak identyfikator zdarzenia, identyfikator klucza, architektura procesora, nazwa polecenia, nazwa hosta, nazwa grupy lub identyfikator grupy , wywołania systemowe, wiadomości i nie tylko. Akceptuje również surowe dane ze standardowego wejścia.
Domyślnie ausearch odpytuje plik /var/log/audit/audit.log, który możesz przeglądać tak samo jak każdy inny plik tekstowy.
cat /var/log/audit/audit.log
OR
cat /var/log/audit/audit.log | less
Na powyższym zrzucie ekranu widać wiele danych z pliku dziennika, co utrudnia uzyskanie konkretnych informacji.
Dlatego potrzebujesz ausearch, który umożliwia skuteczniejsze i wydajniejsze wyszukiwanie informacji przy użyciu poniższej składni.
ausearch [options]
Sprawdź dzienniki procesów uruchomionych w pliku dziennika audytu
Flaga -p
służy do przekazywania identyfikatora procesu.
ausearch -p 2317
Sprawdź nieudane próby logowania w pliku dziennika audytu
Tutaj musisz użyć opcji -m
, aby zidentyfikować konkretne wiadomości i -sv
, aby zdefiniować wartość sukcesu.
ausearch -m USER_LOGIN -sv no
Znajdź aktywność użytkownika w pliku dziennika audytu
-ua służy do przekazywania nazwy użytkownika.
ausearch -ua tecmint
OR
ausearch -ua tecmint -i # enable interpreting of numeric entities into text.
Aby zapytać o działania wykonane przez określonego użytkownika w danym okresie, użyj -ts
dla daty/godziny początkowej i -te
dla określenia daty/godziny końcowej w następujący sposób ( zwróć uwagę, że zamiast rzeczywistych formatów czasu możesz używać słów takich jak teraz, ostatnio, dzisiaj, wczoraj, w tym tygodniu, tydzień temu, w tym miesiącu, w tym roku, a także punkt kontrolny).
ausearch -ua tecmint -ts yesterday -te now -i
Więcej przykładów wyszukiwania akcji przez danego użytkownika w systemie.
ausearch -ua 1000 -ts this-week -i
ausearch -ua tecmint -m USER_LOGIN -sv no -i
Znajdź modyfikacje kont użytkowników, grup i ról w dziennikach audytu
Jeśli chcesz przejrzeć wszystkie zmiany systemowe dotyczące kont użytkowników, grup i ról; określ różne typy wiadomości oddzielonych przecinkami, jak w poleceniu poniżej (zwróć uwagę na listę oddzieloną przecinkami, nie zostawiaj spacji między przecinkiem a następnym elementem):
ausearch -m ADD_USER,DEL_USER,USER_CHAUTHTOK,ADD_GROUP,DEL_GROUP,CHGRP_ID,ROLE_ASSIGN,ROLE_REMOVE -i
Wyszukaj plik dziennika audytu przy użyciu wartości klucza
Rozważ poniższą regułę audytu, która będzie rejestrować wszelkie próby uzyskania dostępu lub modyfikacji bazy danych kont użytkowników /etc/passwd.
auditctl -w /etc/passwd -p rwa -k passwd_changes
Teraz spróbuj otworzyć powyższy plik do edycji i zamknij go w następujący sposób.
vi /etc/passwd
Tylko dlatego, że wiesz, że zapisano na ten temat wpis w dzienniku, prawdopodobnie możesz wyświetlić ostatnie części pliku dziennika za pomocą polecenia tail w następujący sposób:
tail /var/log/audit/audit.log
A co jeśli ostatnio zarejestrowano kilka innych zdarzeń, znalezienie konkretnych informacji byłoby bardzo trudne, ale używając ausearch, możesz przekazać flagę -k
z określoną wartością klucza w regule audytu, aby wyświetlić wszystkie komunikaty dziennika dotyczące zdarzeń związanych z dostępem lub modyfikacją pliku /etc/passwd.
Spowoduje to również wyświetlenie wprowadzonych zmian konfiguracyjnych, definiujących reguły audytu.
ausearch -k passwd_changes | less
Aby uzyskać więcej informacji i opcji użytkowania, przeczytaj stronę podręcznika ausearch:
man ausearch
Aby dowiedzieć się więcej na temat audytu systemu Linux i zarządzania logami, przeczytaj następujące powiązane artykuły.
- Petiti – narzędzie do analizy logów typu open source dla administratorów systemu Linux
- Monitoruj logowanie serwera w czasie rzeczywistym za pomocą narzędzia „Log.io” w RHEL/CentOS 7/6
- Jak skonfigurować rotację dzienników i zarządzać nimi za pomocą Logrotate w systemie Linux
- lnav – Oglądaj i analizuj dzienniki Apache z terminala Linux
W tym samouczku opisaliśmy, jak używać ausearch do pobierania danych z pliku dziennika audytu w RHEL i CentOS. Jeśli masz jakieś pytania lub przemyślenia, którymi chcesz się podzielić, skorzystaj z sekcji komentarzy, aby się z nami skontaktować.
W następnym artykule wyjaśnimy, jak tworzyć raporty z plików dziennika kontroli za pomocą aureport w RHEL/CentOS/Fedora.