Kali Protokollanalyse mit journalctl

Kali LinuxKali LinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie die Grundlagen der Log-Analyse in einer Kali Linux-Umgebung unter Verwendung des leistungsstarken Tools journalctl und anderer Befehlszeilen-Dienstprogramme. Dieses praktische Erlebnis, das für Anfänger konzipiert wurde, konzentriert sich auf grundlegende Fähigkeiten für Systemadministration und Debugging. Sie werden untersuchen, wie Sie auf Systemprotokolle in einem Kali Linux-Container auf einer LabEx VM zugreifen, diese anzeigen und analysieren können.

Durch schrittweise praktische Übungen werden Sie Systemprotokolle anzeigen, die in Verzeichnissen wie /var/log gespeichert sind, Protokolle nach bestimmten Diensten filtern, nach Fehlern suchen und Protokolle für weitere Analysen exportieren. Alle Operationen werden innerhalb der Shell des Kali Linux-Containers durchgeführt, in die Sie beim Öffnen des Terminals automatisch gelangen. Dieses Lab bietet eine kontrollierte Umgebung, um Ihre Fähigkeiten in der Überwachung und Fehlerbehebung von Systemereignissen aufzubauen.

Anzeigen von Systemprotokollen in Kali Linux

In diesem ersten Schritt lernen Sie, wie Sie Systemprotokolle innerhalb eines Kali Linux-Containers auf der LabEx VM anzeigen können. Systemprotokolle sind entscheidend für die Überwachung und Fehlerbehebung von Problemen auf einem Linux-System, da sie Ereignisse, Fehler und Aktivitäten aufzeichnen. Für einen Anfänger ist das Verständnis, wie man auf diese Protokolle zugreift, eine grundlegende Fähigkeit für die Systemadministration.

Wenn Sie das Terminal in der LabEx VM-Umgebung öffnen, werden Sie automatisch mit der Shell des Kali Linux-Containers verbunden. Es ist nicht erforderlich, den Container manuell zu starten oder die Shell zu betreten; die Umgebung ist bereits für Sie eingerichtet. Alle Operationen in diesem Lab werden innerhalb des Terminals dieses Containers durchgeführt.

Linux-Systeme speichern Protokolle in Verzeichnissen wie /var/log. Häufige Protokolldateien sind /var/log/syslog für allgemeine Systemmeldungen und /var/log/auth.log für Authentifizierungsereignisse. Beginnen wir damit, den Inhalt dieser Dateien mit einfachen Befehlen anzuzeigen.

Führen Sie den folgenden Befehl im Terminal aus, um die letzten 10 Zeilen der Datei /var/log/syslog anzuzeigen:

tail -n 10 /var/log/syslog

Dieser Befehl verwendet tail, um die neuesten Einträge in der Protokolldatei anzuzeigen. Die Ausgabe sieht in etwa so aus, obwohl der genaue Inhalt von der Aktivität Ihres Systems abhängt:

Oct 15 10:22:34 kali-container kernel: [ 1234.567890] some kernel message
Oct 15 10:23:01 kali-container cron[1234]: (CRON) INFO (pidfile fd = 3)
...

Jede Zeile enthält typischerweise einen Zeitstempel, den Hostnamen, den Dienst- oder Prozessnamen und die Ereignisdetails. Diese Ausgabe bestätigt, dass Sie erfolgreich auf die Systemprotokolle zugegriffen haben.

Um neue Protokolleinträge in Echtzeit kontinuierlich zu überwachen, was für das Debugging nützlich ist, führen Sie diesen Befehl aus:

tail -f /var/log/syslog

Dadurch werden neue Einträge angezeigt, sobald sie hinzugefügt werden. Um die Überwachung zu stoppen, drücken Sie Ctrl + C, um zur Terminal-Eingabeaufforderung zurückzukehren.

Als Nächstes überprüfen wir die Authentifizierungsprotokolldatei /var/log/auth.log, die Anmeldeversuche und andere Sicherheitsereignisse aufzeichnet. Führen Sie diesen Befehl aus:

tail -n 5 /var/log/auth.log

Die Ausgabe könnte so aussehen und Aktivitäten im Zusammenhang mit der Authentifizierung anzeigen:

Oct 15 10:20:01 kali-container sudo: root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/bin/bash
...

Dieser Schritt führt Sie in die Anzeige von Protokollen ein, eine grundlegende, aber wesentliche Fähigkeit. In den folgenden Schritten bauen Sie darauf auf, indem Sie diese Protokolle nach bestimmten Informationen filtern und analysieren.

Installieren und Verwenden von journalctl zur Protokollanzeige

Nachdem Sie gesehen haben, wie man Protokolle mit grundlegenden Befehlen wie tail anzeigt, wechseln wir zu einem leistungsfähigeren Tool namens journalctl. Dieses Tool wird verwendet, um Protokolle abzufragen und anzuzeigen, die von systemd verwaltet werden, dem System- und Dienstmanager in modernen Linux-Distributionen, einschließlich Kali Linux. Für einen Anfänger ist das Erlernen von journalctl wichtig, da es eine strukturierte Möglichkeit bietet, auf detaillierte Systemprotokolle zuzugreifen.

Da Sie sich bereits in der Shell des Kali Linux-Containers befinden (die beim Öffnen des Terminals automatisch betreten wird), müssen Sie nichts manuell navigieren oder starten. Allerdings ist journalctl in einer minimalen Container-Einrichtung möglicherweise nicht vorinstalliert oder voll funktionsfähig. Daher stellen wir sicher, dass die erforderlichen Tools verfügbar sind, indem wir die Paketliste aktualisieren und die erforderlichen Komponenten installieren.

Führen Sie die folgenden Befehle aus, um die Paketliste zu aktualisieren und systemd-Komponenten bei Bedarf zu installieren:

apt update
apt install -y systemd

Diese Befehle aktualisieren das Paket-Repository und installieren systemd, das journalctl enthält. Warten Sie, bis die Installation abgeschlossen ist; dies kann einige Momente dauern.

Nach der Installation können Sie journalctl verwenden, um Systemprotokolle anzuzeigen. Führen Sie diesen Befehl aus, um die neuesten Protokolleinträge anzuzeigen:

journalctl -n 10

Die Option -n 10 beschränkt die Ausgabe auf die letzten 10 Zeilen. Die Ausgabe sieht ähnlich aus, obwohl sie von der Aktivität Ihres Systems abhängt:

Oct 15 10:25:01 kali-container systemd[1]: Starting system activity...
Oct 15 10:25:02 kali-container systemd[1]: Started system activity...
...

Diese Ausgabe zeigt Protokolleinträge mit Zeitstempeln, Dienstnamen und Nachrichten. Wenn Sie so etwas sehen, bedeutet dies, dass journalctl korrekt funktioniert. Wenn keine Ausgabe erscheint oder ein Fehler auftritt, kann dies an begrenzten Protokolldaten in der Container-Umgebung liegen, was für diese Lab-Einrichtung normal ist.

Um Protokolle in Echtzeit anzuzeigen, ähnlich wie tail -f, führen Sie diesen Befehl aus:

journalctl -f

Dadurch werden neue Protokolleinträge kontinuierlich angezeigt. Drücken Sie Ctrl + C, um die Überwachung zu stoppen und zur Terminal-Eingabeaufforderung zurückzukehren.

Dieser Schritt hilft Ihnen zu verstehen, wie Sie journalctl zum Anzeigen von Protokollen verwenden, was fortgeschrittener ist als die einfache Dateianzeige. Im nächsten Schritt lernen Sie, diese Protokolle nach bestimmten Diensten zu filtern.

Filtern von Protokollen nach Dienst mit journalctl

Aufbauend auf Ihrer Fähigkeit, Protokolle mit journalctl anzuzeigen, konzentriert sich dieser Schritt auf das Filtern von Protokollen, um Einträge anzuzeigen, die sich auf einen bestimmten Dienst beziehen. Für einen Anfänger ist das Filtern eine wichtige Fähigkeit, da Systemprotokolle oft eine Mischung aus Nachrichten von verschiedenen Prozessen enthalten, und das Isolieren relevanter Informationen hilft bei der Fehlerbehebung spezifischer Probleme.

Sie arbeiten weiterhin innerhalb der Shell des Kali Linux-Containers, die Sie beim Öffnen des Terminals automatisch betreten haben. Es ist keine manuelle Navigation oder Container-Start erforderlich. Wir verwenden journalctl, um Protokolle für einen bestimmten Dienst zu filtern, z. B. cron, der geplante Aufgaben in Linux verwaltet. Dies ermöglicht es Ihnen, sich auf Protokolle zu konzentrieren, die sich auf eine einzelne Komponente beziehen, ohne von irrelevanten Daten überfordert zu werden.

Um Protokolle für den cron-Dienst zu filtern, führen Sie den folgenden Befehl aus:

journalctl -u cron

Die Option -u gibt die Einheit (Dienst) an, nach der gefiltert werden soll, in diesem Fall cron. Die Ausgabe zeigt Protokolle an, die sich speziell auf den cron-Dienst beziehen und in etwa so aussehen, abhängig von der Systemaktivität:

Oct 15 10:30:01 kali-container cron[1234]: (CRON) INFO (pidfile fd = 3)
Oct 15 10:30:02 kali-container cron[1235]: (CRON) STARTUP (fork ok)
...

Diese Ausgabe zeigt nur cron-bezogene Einträge, einschließlich Zeitstempeln und Ereignisdetails. Wenn keine Ausgabe erscheint, bedeutet dies möglicherweise, dass der cron-Dienst in diesem Container keine aktuellen Protokolle generiert hat, was für Lernzwecke akzeptabel ist.

Wenn cron-Protokolle nicht verfügbar sind oder Sie einen anderen Dienst untersuchen möchten, können Sie versuchen, nach sshd (falls installiert) zu filtern, das SSH-Verbindungen verarbeitet. Stellen Sie zunächst sicher, dass openssh-server installiert ist, indem Sie Folgendes ausführen:

apt install -y openssh-server

Warten Sie, bis die Installation abgeschlossen ist. Filtern Sie dann Protokolle für sshd mit diesem Befehl:

journalctl -u ssh

Die Ausgabe zeigt möglicherweise SSH-bezogene Ereignisse an, wenn der Dienst aktiv ist. Wenn keine Ausgabe erscheint, ist dies für dieses Lab in Ordnung, da der Schwerpunkt auf dem Erlernen des Filterprozesses liegt.

Dieser Schritt zeigt Ihnen, wie Sie Protokolldaten mithilfe von journalctl auf bestimmte Dienste eingrenzen können. Im nächsten Schritt lernen Sie, in diesen Protokollen nach Fehlern zu suchen, um potenzielle Probleme zu identifizieren.

Suchen nach Fehlern in Protokollen mit journalctl

Nachdem Sie gelernt haben, Protokolle nach Dienst zu filtern, führt Sie dieser Schritt durch die Suche nach Fehlern in Systemprotokollen mit journalctl. Für einen Anfänger ist die Identifizierung von Fehlern in Protokollen für die Fehlerbehebung von entscheidender Bedeutung, da Protokolle oft Nachrichten enthalten, die auf Probleme mit Diensten oder Anwendungen hinweisen. Diese Fähigkeit hilft Ihnen, Probleme, die Aufmerksamkeit erfordern, schnell zu identifizieren.

Sie arbeiten weiterhin innerhalb der Shell des Kali Linux-Containers, auf die Sie automatisch zugreifen, wenn Sie das Terminal öffnen. Es ist keine zusätzliche Einrichtung oder Navigation erforderlich. Wir verwenden journalctl, um nach Fehlermeldungen zu suchen, indem wir Protokolle basierend auf Prioritätsstufen filtern, wobei Fehler typischerweise mit einer bestimmten Schwere protokolliert werden.

In journalctl werden Protokolleinträge nach Prioritätsstufen kategorisiert, wobei 3 Fehler (kritische Probleme) und 4 Warnungen darstellt. Um nach Fehlermeldungen in allen Protokollen zu suchen, führen Sie diesen Befehl aus:

journalctl -p 3

Die Option -p 3 filtert Protokolle, um nur Einträge mit der Prioritätsstufe 3 (Fehler) anzuzeigen. Die Ausgabe könnte so aussehen, abhängig von der Aktivität Ihres Systems:

Oct 15 10:35:10 kali-container some-service[5678]: error: failed to initialize module
...

Diese Ausgabe zeigt Fehlermeldungen mit Zeitstempeln und Details an. Wenn keine Ausgabe erscheint, bedeutet dies, dass in den Protokollen keine aktuellen Fehler auf dieser Prioritätsstufe vorhanden sind, was in einer kontrollierten Container-Umgebung üblich ist.

Um Warnungen zusammen mit Fehlern einzubeziehen, können Sie nach den Prioritätsstufen 3 und 4 suchen, indem Sie Folgendes ausführen:

journalctl -p 3..4

Dieser Befehl zeigt sowohl Fehler als auch Warnungen an. Die Ausgabe kann zusätzliche Zeilen enthalten, wie z. B.:

Oct 15 10:36:15 kali-container another-service[7890]: warning: connection timeout
...

Wenn keine Ausgabe erscheint, ist dies für dieses Lab akzeptabel, da das Ziel darin besteht, den Suchprozess zu erlernen. Dieser Schritt versetzt Sie in die Lage, kritische Probleme in Protokollen mithilfe von journalctl zu identifizieren. Im nächsten Schritt lernen Sie, diese Protokolle für eine weitere Analyse zu exportieren.

Exportieren von Protokollen zur Analyse mit journalctl

In diesem Schritt lernen Sie, wie Sie Systemprotokolle zur weiteren Analyse mit journalctl exportieren können. Aufbauend auf den vorherigen Schritten, in denen Sie Protokolle angezeigt, gefiltert und durchsucht haben, ermöglicht das Exportieren das Speichern bestimmter Protokolldaten in einer Datei. Dies ist nützlich für eine detaillierte Untersuchung oder das Teilen mit anderen zur Fehlerbehebung. Als Anfänger hilft Ihnen diese Fähigkeit, Ergebnisse zu dokumentieren, ohne wiederholt auf die ursprünglichen Protokolle zugreifen zu müssen.

Sie arbeiten weiterhin innerhalb der Shell des Kali Linux-Containers, die Sie beim Öffnen des Terminals automatisch betreten haben. Es ist kein manueller Container-Start oder Navigation erforderlich. Wir verwenden journalctl, um Protokolle zu extrahieren und die Ausgabe in Dateien im Verzeichnis /root umzuleiten, um einen einfachen Zugriff zu ermöglichen.

Exportieren wir alle aktuellen Protokolle in eine Datei namens system_logs.txt im Verzeichnis /root. Führen Sie diesen Befehl aus:

journalctl -n 50 > /root/system_logs.txt

Die Option -n 50 beschränkt die Ausgabe auf die letzten 50 Protokolleinträge, und das Symbol > leitet die Ausgabe in die angegebene Datei um. Sie sehen die Ausgabe nicht im Terminal, da sie in der Datei gespeichert wird. Um zu bestätigen, dass die Datei erstellt wurde und Daten enthält, führen Sie aus:

cat /root/system_logs.txt

Die Ausgabe zeigt die gespeicherten Protokolleinträge an, ähnlich wie bei journalctl -n 50, einschließlich Zeitstempeln und Nachrichten.

Als Nächstes exportieren wir Protokolle, die nach einem bestimmten Dienst, wie z. B. cron, gefiltert wurden, in eine Datei namens cron_logs.txt. Führen Sie diesen Befehl aus:

journalctl -u cron > /root/cron_logs.txt

Dadurch werden nur cron-bezogene Protokolle in /root/cron_logs.txt gespeichert. Überprüfen Sie den Inhalt, indem Sie ausführen:

cat /root/cron_logs.txt

Die Ausgabe zeigt cron-Dienstprotokolle an, falls verfügbar, und bestätigt, dass der Export erfolgreich war.

Schließlich exportieren wir Fehlerprotokolle in eine Datei namens error_logs.txt. Führen Sie diesen Befehl aus:

journalctl -p 3 > /root/error_logs.txt

Dadurch werden Fehlermeldungen in der angegebenen Datei gespeichert. Überprüfen Sie den Inhalt mit:

cat /root/error_logs.txt

Diese Ausgabe zeigt Fehlerprotokolle an, falls vorhanden. Durch den Abschluss dieses Schritts haben Sie gelernt, Protokolldaten für eine spätere Überprüfung zu speichern, eine praktische Fähigkeit für die Systemadministration und das Debugging.

Zusammenfassung

In diesem Lab haben Sie die Grundlagen der Protokollanalyse in Kali Linux mit dem Tool journalctl und grundlegenden Befehlszeilen-Dienstprogrammen gelernt. Sie begannen mit der Anzeige von Systemprotokollen im Verzeichnis /var/log mit Befehlen wie tail und gingen dann zur Verwendung von journalctl für einen strukturierteren Protokollzugriff über. Durch praktische Schritte haben Sie Protokolle nach Dienst gefiltert, nach Fehlern gesucht und Protokolle zur weiteren Analyse innerhalb eines Kali Linux-Containers auf der LabEx VM exportiert. Diese grundlegenden Fähigkeiten rüsten Sie für eine effektive Systemadministration und Fehlerbehebung in Linux-Umgebungen aus.