Website-Suche

So prüfen Sie den Linux-Prozess mithilfe von „autrace“ unter CentOS/RHEL


Dieser Artikel ist unsere fortlaufende Serie zum Thema Linux-Auditing. In unseren letzten drei Artikeln haben wir erklärt, wie man Linux-Systeme (CentOS und RHEL) prüft, auditd-Protokolle mit ausearch abfragt und generiert Berichte mit dem Dienstprogramm aureport.

In diesem Artikel erklären wir, wie man einen bestimmten Prozess mit dem Dienstprogramm autrace prüft. Dabei analysieren wir einen Prozess, indem wir die Systemaufrufe verfolgen, die ein Prozess durchführt.

Lesen Sie auch: So verfolgen Sie die Ausführung von Befehlen in Shell-Skripten mit Shell-Tracing

Was ist autrace?

autrace ist ein Befehlszeilenprogramm, das ein Programm ausführt, bis es beendet wird, genau wie strace; Es fügt die Prüfregeln hinzu, um einen Prozess zu verfolgen, und speichert die Prüfinformationen in der Datei /var/www/audit/audit.log. Damit es funktioniert (d. h. bevor Sie das ausgewählte Programm ausführen), müssen Sie zunächst alle vorhandenen Prüfregeln löschen.

Die Syntax für die Verwendung von autrace ist unten dargestellt und akzeptiert nur eine Option, -r, die die erfassten Systemaufrufe auf diejenigen beschränkt, die für die Bewertung der Ressourcennutzung des Prozesses erforderlich sind:

autrace -r program program-args

Achtung: In der autrace-Manpage lautet die Syntax wie folgt, was eigentlich ein Dokumentationsfehler ist. Da Sie dieses Formular verwenden, geht das von Ihnen ausgeführte Programm davon aus, dass Sie eine seiner internen Optionen verwenden, was zu einem Fehler führt oder die durch die Option aktivierte Standardaktion ausführt.

autrace program -r program-args

Wenn Prüfregeln vorhanden sind, zeigt autrace den folgenden Fehler an.

autrace /usr/bin/df

Löschen Sie zunächst alle auditd-Regeln mit dem folgenden Befehl.

auditctl -D

Fahren Sie dann mit der Ausführung von autrace mit Ihrem Zielprogramm fort. In diesem Beispiel verfolgen wir die Ausführung des df-Befehls, der die Dateisystemnutzung zeigt.

autrace /usr/bin/df -h

Im obigen Screenshot können Sie alle Protokolleinträge im Zusammenhang mit der Ablaufverfolgung mithilfe des Dienstprogramms asearch wie folgt aus der Überwachungsprotokolldatei finden.

ausearch -i -p 2678

Wo die Option:

  • -i – ermöglicht die Interpretation numerischer Werte in Text.
  • -p – übergibt die zu durchsuchende Prozess-ID.

Um einen Bericht über die Trace-Details zu erstellen, können Sie eine Befehlszeile aus aussearch und aureport wie folgt erstellen.

ausearch -p 2678 --raw | aureport -i -f

Wo :

  • --raw – weist ausesearch an, Roheingaben an aureport zu liefern.
  • -f – ermöglicht die Berichterstellung über Dateien und af_unix-Sockets.
  • -i – ermöglicht die Interpretation numerischer Werte in Text.

Und mit dem folgenden Befehl beschränken wir die gesammelten Systemaufrufe auf diejenigen, die für die Analyse der Ressourcennutzung des df-Prozesses erforderlich sind.

autrace -r /usr/bin/df -h

Angenommen, Sie haben in der letzten Woche ein Programm autraceed; Das bedeutet, dass in den Prüfprotokollen viele Informationen gespeichert werden. Um einen Bericht nur für die heutigen Datensätze zu erstellen, verwenden Sie das Flag -ts asearch, um das Startdatum/die Startzeit für die Suche anzugeben:

ausearch -ts today -p 2678 --raw | aureport -i -f

Das ist es! Auf diese Weise können Sie bestimmte Linux-Prozesse mit dem autrace-Tool verfolgen und prüfen. Weitere Informationen finden Sie in den Manpages.

Sie können auch diese verwandten, nützlichen Leitfäden lesen:

  1. Sysdig – Ein leistungsstarkes Systemüberwachungs- und Fehlerbehebungstool für Linux
  2. BCC – Dynamische Tracing-Tools für Linux-Leistungsüberwachung, Netzwerk und mehr
  3. 30 nützliche „ps Command“-Beispiele für die Linux-Prozessüberwachung
  4. CPUTool – Begrenzen und steuern Sie die CPU-Auslastung aller Prozesse unter Linux
  5. Finden Sie die am häufigsten ausgeführten Prozesse nach höchster Speicher- und CPU-Auslastung unter Linux

Das ist alles für jetzt! Über den Kommentar unten können Sie Fragen stellen oder Gedanken zu diesem Artikel äußern. Im nächsten Artikel beschreiben wir, wie man PAM (Pluggable Authentication Module) für die Prüfung der TTY-Eingabe für bestimmte CentOS/RHEL-Benutzer konfiguriert.