Auth.log analysieren mit dem Linux-Terminal

Wenn jemand versucht, auf deinen Server zuzugreifen, hinterlässt das Spuren – meistens in /var/log/auth.log.
Mit ein paar klassischen Terminal-Befehlen kannst du diese Logdateien direkt auswerten, ohne Python, R oder ein SIEM-System.


1. Einen Blick ins Log werfen

Das Authentifizierungs-Log liegt hier:

less /var/log/auth.log

Typische Einträge für fehlgeschlagene SSH-Logins sehen so aus:

Sep 18 09:32:10 server sshd[1234]: Failed password for invalid user admin from 192.168.1.42 port 54321 ssh2

2. Anzahl fehlgeschlagener Login-Versuche

Wie viele Login-Fehler gab es?

grep "invalid" /var/log/auth.log | wc -l

3. Top-IP-Adressen von Angreifern

Angreifer-IP extrahieren und zählen:

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

Ergebnis (Beispiel):

120 203.0.113.5
 95 198.51.100.22
 12 192.168.1.42

4. Häufig verwendete Benutzernamen

Welche Accounts versuchen Angreifer zu knacken?

grep "invalid" /var/log/auth.log | awk '{print $(NF-5)}' \
| sort | uniq -c | sort -nr | head

Beispielausgabe:

200 root
 75 admin
 30 test

5. Zeitliche Verteilung der Angriffe

An welchen Tagen war besonders viel los?

grep "invalid" /var/log/auth.log \
| awk -F'T' '{print $1}' \
| sort | uniq -c

Beispiel:

 50 Sep 15
 92 Sep 16
110 Sep 17

6. Bruteforce erkennen

Viele Versuche von derselben IP?

grep "invalid" /var/log/auth.log | awk '{print $(NF-3)}' \
| sort | uniq -c | sort -nr | awk '$1 > 10'

→ listet nur IPs mit mehr als 10 Versuchen.


7. Optional: Export als CSV

Falls du die Daten weiter in Python, Excel oder Pandas analysieren willst:

grep "invalid" /var/log/auth.log | \
awk '{print $1","$2","$3","$(NF-5)","$(NF-3)}' \
> failed_logins.csv

Spalten: Monat, Tag, Uhrzeit, Benutzername, IP


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert