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