techlogia — KI- und Web-Dienstleister Berlin
Alle Kurse
Frei lesbar – ohne Anmeldung

Log-Analyse: SSH-Angriffe in auth.log finden

Die Defender-Seite zur Pentest-Lektion: deine VM hat 200 synthetische SSH-Brute-Force-Eintraege in /var/log/auth.log. Mit grep, awk und sort filterst du heraus, wie viele Failed-Login-Versuche es gab, welche IP der dominante Angreifer ist und wie viele eindeutige Quell-IPs sich versucht haben. Vier Aufgaben, ca. 30 Minuten. Reine Defensive — diese Skills brauchst du jeden Tag wenn ein Server live ist.

Dauer: 30 Min.Niveau: FortgeschrittenAufgaben: 4

auth.log lesen wie ein SOC-Analyst

Log-Analyse: SSH-Angriffe in auth.log finden

Wenn ein Server live ist, protokolliert er jeden Login-Versuch. Diese Logs sind Gold wert: Sie zeigen, wer wann angegriffen hat. Als Defender wertest du sie mit klassischen Kommandozeilen-Werkzeugen aus — das ist eine tägliche Praxis-Fähigkeit, kein Spielzeug.

Wichtige Begriffe & Werkzeuge

  • /var/log/auth.log: das Authentifizierungs-Log (Logins, sudo, SSH).
  • grep: filtert Zeilen nach einem Muster.
  • awk: zerlegt Zeilen in Felder und gibt gezielt Spalten aus.
  • sort / uniq -c: sortieren und zählen — ideal, um „welche IP am häufigsten?" zu beantworten.

Auf dieser VM enthält /var/log/auth.log 200 synthetische Brute-Force-Einträge. Schreibe deine Ergebnisse jeweils in die angegebene Datei unter /tmp/.

Dein Ziel

Du zählst die Fehlversuche, findest den dominanten Angreifer, zählst die eindeutigen Quell-IPs und baust eine Bann-Liste.

Aufgaben

  1. 1. Failed-Logins zählen

    Aufgabe: Fehlversuche zählen. Zähle, wie viele „Failed password"-Zeilen es im Log gibt, und schreibe nur die Zahl nach /tmp/failed-count.txt.

    grep -c "Failed password" /var/log/auth.log > /tmp/failed-count.txt

    grep -c zählt die Treffer-Zeilen statt sie auszugeben.

    Kontrolle: /tmp/failed-count.txt enthält genau 200.

  2. 2. Top-Attacker-IP finden

    Aufgabe: dominante Angreifer-IP finden. Welche IP hat am häufigsten angegriffen? Extrahiere die IPs, zähle sie und nimm die häufigste. Schreibe nur die IP nach /tmp/top-attacker.txt.

    grep "Failed password" /var/log/auth.log | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' | sort | uniq -c | sort -rn | head -1 | awk '{print $2}' > /tmp/top-attacker.txt

    Schrittweise: IPs herausziehen → sortieren → zählen (uniq -c) → nach Häufigkeit absteigend sortieren → oberste nehmen → nur die IP-Spalte (awk '{print $2}').

    Kontrolle: /tmp/top-attacker.txt enthält 203.0.113.42.

  3. 3. Eindeutige Quell-IPs zählen

    Aufgabe: eindeutige Angreifer zählen. Wie viele verschiedene IPs haben es versucht? Schreibe nur die Zahl nach /tmp/unique-attackers.txt.

    grep "Failed password" /var/log/auth.log | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' | sort -u | wc -l > /tmp/unique-attackers.txt

    sort -u macht die IPs eindeutig, wc -l zählt die Zeilen.

    Kontrolle: /tmp/unique-attackers.txt enthält 5.

  4. 4. Bann-Liste für fail2ban bauen

    Aufgabe: Bann-Liste bauen. Erstelle eine Liste aller eindeutigen Angreifer-IPs (eine pro Zeile) — die könntest du an fail2ban oder eine Firewall übergeben. Schreibe sie nach /tmp/ban-list.txt.

    grep "Failed password" /var/log/auth.log | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' | sort -u > /tmp/ban-list.txt

    Kontrolle: /tmp/ban-list.txt enthält u. a. 203.0.113.42, 203.0.113.17 und 198.51.100.7.

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 starten

Lab-Inhalte unter CC BY 4.0 – frei nutzbar mit Namensnennung (© TechLogia).

Log-Analyse: SSH-Angriffe in auth.log finden