Incident Response mit journald
Ein Server wurde kompromittiert. Du untersuchst den Vorfall systematisch: journald-Logs filtern, verdächtige Logins und Prozesse identifizieren, eine Timeline rekonstruieren, kompromittierte Services isolieren und einen Incident-Report schreiben. Universitäts-Niveau — SOC-Analyst-Workflow in der Praxis. 5 Aufgaben, ca. 90 Minuten.
Server-Vorfall untersuchen
Incident Response: einen Server-Vorfall untersuchen
Ein Server wurde kompromittiert — ein Angreifer hat sich Zugang verschafft. Als Analyst musst du systematisch herausfinden: Wer kam rein, wie, was hat er getan, und wie stoppst du ihn? Dieser strukturierte Ablauf heißt Incident Response und ist der Alltag eines SOC-Analysten (Security Operations Center).
Wichtige Begriffe
journald/journalctl: das zentrale Logging-System moderner Linux-Server.journalctldurchsucht diese Logs.- Persistenz: Mechanismen, mit denen sich ein Angreifer dauerhaft einnistet (z. B. ein versteckter Cronjob, der regelmäßig startet).
- Timeline: die zeitliche Rekonstruktion des Angriffs — das Rückgrat jedes Vorfall-Berichts.
- Containment: das Eindämmen/Isolieren der Bedrohung, damit kein weiterer Schaden entsteht.
Dein Ziel
Du filterst verdächtige Logins, findest den bösartigen Cronjob, baust eine Timeline, isolierst den kompromittierten Dienst und schreibst einen Incident-Report — Universitäts-Niveau.
Aufgaben
1. Fehlgeschlagene Logins finden
Schritt 1: Wer hat angegriffen? Fehlgeschlagene SSH-Logins verraten die IP-Adressen eines Brute-Force-Angriffs. Du filterst sie aus dem Journal und sicherst die Angreifer-IPs.
Lege den Arbeitsordner an und extrahiere die Quell-IPs der gescheiterten Logins:
mkdir -p /home/student/incident journalctl -u ssh | grep -i "failed password" | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' | sort -u > /home/student/incident/suspicious-ips.txtgrep -oEzieht nur die IP-Adressen heraus,sort -umacht sie eindeutig.Kontrolle:
/home/student/incident/suspicious-ips.txtist nicht leer.2. Verdächtigen Cronjob identifizieren
Schritt 2: Persistenz finden. Angreifer nutzen Cronjobs, um sich dauerhaft einzunisten — ein Eintrag, der regelmäßig z. B. eine Reverse-Shell startet, überlebt jeden Neustart. Du findest ihn, indem du alle Crontab-Speicherorte prüfst.
Durchsuche die Cron-Verzeichnisse und kopiere die verdächtige Zeile in eine Datei:
sudo grep -rE "bash|curl|wget|nc|/tmp/" /etc/crontab /etc/cron.d/ /var/spool/cron/ 2>/dev/nullTrage die gefundene bösartige Zeile ein (
nano /home/student/incident/malicious-cron.txt).Kontrolle:
/home/student/incident/malicious-cron.txtist nicht leer.3. Angriffs-Timeline rekonstruieren
Schritt 3: Timeline rekonstruieren. Eine chronologische Timeline zeigt Eintrittspunkt, Aktionen des Angreifers und Auswirkung in der richtigen Reihenfolge — ohne sie kann niemand den Vorfall nachvollziehen. Nutze die Zeitstempel aus dem Journal.
Schreibe pro Zeile Zeitstempel + Ereignis (mindestens 3 Zeilen) nach
timeline.txt, z. B.:2026-05-28 02:14 Erster erfolgreicher SSH-Login von Angreifer-IP 2026-05-28 02:17 Boesartiger Cronjob in /etc/cron.d/ angelegt 2026-05-28 02:19 Unbekannter Dienst 'rogue-agent' gestartetHilfreich zum Recherchieren:
journalctl --since "today" | less.Kontrolle:
/home/student/incident/timeline.txtenthält mindestens 3 Zeilen.4. Kompromittierten Service isolieren
Schritt 4: Containment. Solange der kompromittierte Dienst läuft, kann der Angreifer aktiv bleiben. Du musst ihn stoppen (sofortiger Schaden gestoppt) und deaktivieren (startet nach Reboot nicht wieder — die Persistenz ist weg).
Stoppe und deaktiviere den bösartigen Dienst
rogue-agent:sudo systemctl stop rogue-agent sudo systemctl disable rogue-agentKontrolle:
systemctl is-active rogue-agentmeldetinactiveundsystemctl is-enabled rogue-agentmeldetdisabled.5. Incident-Report verfassen
Schritt 5: Incident-Report. Ein guter Bericht beginnt mit einer Zusammenfassung (Entscheider lesen oft nur die) und endet mit Empfehlungen (damit derselbe Angriff nicht wieder funktioniert). So schließt sich der Kreis: Lessons Learned.
Schreibe einen strukturierten Bericht (
nano /home/student/incident/report.md), der mindestens diese Abschnitte enthält:# Incident-Report ## Zusammenfassung Kurz: Was ist passiert, wann, welche Auswirkung. ## Timeline (Verweis auf timeline.txt) ## Betroffene Systeme ... ## Empfehlungen - Passwoerter zuruecksetzen - Public-Key-Auth erzwingen, Passwort-Login abschalten - Monitoring/fail2ban einrichtenKontrolle:
/home/student/incident/report.mdenthält eine Überschrift „Zusammenfassung" (oder „Summary") und „Empfehlungen" (oder „Recommendations").
Jetzt selbst üben
Lesen ist gut – selbst machen ist besser. Starte diesen Kurs an einer echten Linux-VM, direkt im Browser. Ein kostenloses Konto genügt.
Kostenlos startenLab-Inhalte unter CC BY 4.0 – frei nutzbar mit Namensnennung (© TechLogia).
