Jak przeprowadzić audyt procesu systemu Linux za pomocą „autrace” w CentOS/RHEL
Ten artykuł jest naszą ciągłą serią na temat audytu systemu Linux. W naszych ostatnich trzech artykułach wyjaśniliśmy, jak przeprowadzać audyt systemów Linux (CentOS i RHEL), wysyłać zapytania do dzienników audytu za pomocą ausearch i generować raporty za pomocą narzędzia aureport.
W tym artykule wyjaśnimy, jak przeprowadzić audyt danego procesu za pomocą narzędzia autrace, w którym przeanalizujemy proces, śledząc wywołania systemowe wykonywane przez proces.
Przeczytaj także: Jak śledzić wykonywanie poleceń w skrypcie powłoki za pomocą śledzenia powłoki
Co to jest autraca?
autrace to narzędzie wiersza poleceń, które uruchamia program aż do jego zakończenia, podobnie jak strace; dodaje reguły audytu do śledzenia procesu i zapisuje informacje o audycie w pliku /var/www/audit/audit.log. Aby to zadziałało (czyli przed uruchomieniem wybranego programu) należy najpierw usunąć wszystkie istniejące reguły audytu.
Poniżej pokazana jest składnia użycia autrace, która akceptuje tylko jedną opcję, -r
, która ogranicza zbierane wywołania systemowe do tych wymaganych do oceny wykorzystania zasobów procesu:
autrace -r program program-args
Uwaga: Na stronie podręcznika autrace składnia jest następująca, co w rzeczywistości jest błędem w dokumentacji. Ponieważ korzystając z tego formularza, program, który uruchomisz, założy, że używasz jednej z jego opcji wewnętrznych, co spowoduje błąd lub wykonanie domyślnej akcji włączonej przez tę opcję.
autrace program -r program-args
Jeśli istnieją jakieś reguły audytu, autrace wyświetla następujący błąd.
autrace /usr/bin/df
Najpierw usuń wszystkie reguły audytu za pomocą następującego polecenia.
auditctl -D
Następnie kontynuuj uruchamianie programu autrace w programie docelowym. W tym przykładzie śledzimy wykonanie polecenia df, które pokazuje użycie systemu plików.
autrace /usr/bin/df -h
Na powyższym zrzucie ekranu możesz znaleźć wszystkie wpisy dziennika związane ze śledzeniem, z pliku dziennika kontroli za pomocą narzędzia ausearch w następujący sposób.
ausearch -i -p 2678
Gdzie opcja:
-i
– umożliwia interpretację wartości liczbowych na tekst.-p
– przekazuje identyfikator procesu do przeszukania.
Aby wygenerować raport dotyczący szczegółów śledzenia, możesz zbudować wiersz poleceń ausearch i aureport w ten sposób.
ausearch -p 2678 --raw | aureport -i -f
Gdzie :
--raw
– mówi ausearch, aby dostarczył surowe dane wejściowe do aureport.-f
– włącza raportowanie o plikach i gniazdach af_unix.-i
– umożliwia interpretację wartości liczbowych na tekst.
Za pomocą poniższego polecenia ograniczamy zebrane wywołania systemowe do tych potrzebnych do analizy wykorzystania zasobów procesu df.
autrace -r /usr/bin/df -h
Zakładając, że prześledziłeś program z ostatniego tygodnia; co oznacza, że w dziennikach audytu znajduje się wiele informacji. Aby wygenerować raport tylko dla rekordów z dnia dzisiejszego, użyj flagi ausearch -ts
, aby określić datę/godzinę rozpoczęcia wyszukiwania:
ausearch -ts today -p 2678 --raw | aureport -i -f
Otóż to! w ten sposób możesz śledzić i kontrolować konkretny proces Linuksa za pomocą narzędzia autrace. Więcej informacji znajdziesz na stronach podręcznika.
Możesz także przeczytać powiązane, przydatne przewodniki:
- Sysdig – potężne narzędzie do monitorowania systemu i rozwiązywania problemów dla systemu Linux
- BCC — narzędzia dynamicznego śledzenia do monitorowania wydajności systemu Linux, pracy w sieci i nie tylko
- 30 Przydatnych przykładów „ps Command” do monitorowania procesów w systemie Linux
- CPUTool – ograniczaj i kontroluj wykorzystanie procesora przez dowolny proces w systemie Linux
- Znajdź najczęściej działające procesy według najwyższego użycia pamięci i procesora w systemie Linux
To wszystko na teraz! Możesz zadać pytania lub podzielić się przemyśleniami na temat tego artykułu, korzystając z komentarza poniżej. W następnym artykule opiszemy, jak skonfigurować PAM (Puggable Authentication Module) do audytu danych wejściowych TTY dla określonych użytkowników CentOS/RHEL.