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
Schreibe einen Kommentar