Neben Webserver-Logs sind Systemlogs besonders wichtig: Sie verraten dir,

  • wer sich einloggen wollte,
  • ob es Angriffsversuche gab,
  • und welche Prozesse Fehler melden.

In diesem Kapitel lernst du, wie du typische Linux-Systemlogs auswertest.

🔹 auth.log – Logins überwachen

In /var/log/auth.log stehen alle Loginversuche (lokal & über SSH).
Fehlgeschlagene Logins finden

grep "Failed password" /var/log/auth.log

👉 Zeigt alle gescheiterten Versuche.

Nur zählen:

grep "Failed password" /var/log/auth.log | wc -l

Erfolgreiche Logins finden

grep "Accepted" /var/log/auth.log

Nur Benutzername extrahieren:

grep "Accepted" /var/log/auth.log | awk '{print $9}' | sort | uniq -c | sort -nr

👉 Zeigt, welcher User sich wie oft erfolgreich eingeloggt hat.

Angreifer-IPs herausfiltern

grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head

👉 $(NF-3) → viertletzte Spalte = IP-Adresse.
So erkennst du, von wo die Angriffe kommen.

🔹 journalctl – Systemd-Logs

Mit journalctl kannst du systemd-Logs durchsuchen.

Aktuelle Boot-Meldungen

journalctl -b

Nur Fehler anzeigen

journalctl -p err

Meldungen für einen Dienst

journalctl -u ssh

👉 Zeigt nur Logs für den SSH-Dienst.

🔹 Kombination mit awk & grep

Fehler nach Priorität zählen

journalctl -p warning -b | awk '{print $6}' | sort | uniq -c | sort -nr

👉 Zählt Warnungen pro Prozess.

🔹 Übungen

1. auth.log analysieren:

Zähle fehlgeschlagene Logins.

Liste die Top 5 Angreifer-IPs.

Finde die erfolgreichsten User-Logins.

2. journalctl nutzen:

  • Zeige nur Fehler vom letzten Boot.
  • Finde alle Meldungen vom SSH-Dienst.
  • Bonus: Zähle, welcher Dienst die meisten Warnungen erzeugt hat.

✅ Zusammenfassung

  • auth.log → Loginversuche (erfolgreich & fehlgeschlagen).
  • journalctl → zentrale Quelle für systemd-Logs (nach Dienst, Boot, Priorität filterbar).
  • Mit grep & awk lassen sich Angriffe, Useraktivität und fehlerhafte Prozesse sichtbar machen.

👉 Damit endet der Kernteil des Kurses. Als Bonus kannst du im nächsten Kapitel eigene Bash-Skripte zur Log-Analyse schreiben, die dir Routinearbeit abnehmen.

 

📚 Inhaltsverzeichnis

👉 Log-Analyse Kapitel 1: Logs im Terminal lesen – cat, less, tail & grep
👉 Log-Analyse Kapitel 2: Filtern mit grep und regulären Ausdrücken
👉 Log-Analyse Kapitel 3: Logs bereinigen mit sed – inkl. Mehrdatei-Änderungen
👉 Log-Analyse Kapitel 4: Logs analysieren mit awk
👉 Log-Analyse Kapitel 5: Logs kombinieren mit grep, sed, awk, sort, uniq & cut
👉 Log-Analyse Kapitel 6: Praxisprojekt – Apache-/Nginx-Access-Logs analysieren
👉 Log-Analyse Kapitel 7: Praxisprojekt – Systemlogs analysieren (auth.log & journalctl)

⭐ Bonus-Kapitel

👉 Log-Analyse Kapitel 8 (Bonus): Eigene Auswertungs-Skripte für Logs schreiben
👉 Log-Analyse Kapitel 9 (Bonus): Logs visualisieren mit CSV & gnuplot