Wyszukiwanie w witrynie

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:

  1. Sysdig – potężne narzędzie do monitorowania systemu i rozwiązywania problemów dla systemu Linux
  2. BCC — narzędzia dynamicznego śledzenia do monitorowania wydajności systemu Linux, pracy w sieci i nie tylko
  3. 30 Przydatnych przykładów „ps Command” do monitorowania procesów w systemie Linux
  4. CPUTool – ograniczaj i kontroluj wykorzystanie procesora przez dowolny proces w systemie Linux
  5. 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.