Sicherheit & Härtung

Ubuntu System-Authentifizierung Logs überwachen – Anleitung

Ubuntu System-Authentifizierung Logs überwachen – Anleitung

Einleitung

Die Überwachung von System-Authentifizierungs-Logs unter Ubuntu ist ein essentieller Baustein der Systemsicherheit. Durch die systematische Analyse dieser Protokolldateien können Sie verdächtige Aktivitäten wie Brute-Force-Angriffe auf SSH, kompromittierte Passwörter oder unberechtigte Nutzung von sudo-Privilegien frühzeitig erkennen. Ubuntu speichert diese sicherheitsrelevanten Informationen in verschiedenen Log-Dateien und bietet sowohl traditionelle als auch moderne Werkzeuge für deren Auswertung.

Moderne Ubuntu-Systeme nutzen das systemd-Journal parallel zu den klassischen Syslog-Dateien, was Administratoren flexible Analysemöglichkeiten bietet. Die Kombination aus journalctl, traditionellen Log-Dateien und automatisierten Tools wie fail2ban ermöglicht eine umfassende Sicherheitsüberwachung. Diese Anleitung zeigt Ihnen, wie Sie diese Werkzeuge effektiv einsetzen und verdächtige Muster in Ihren Authentifizierungs-Logs identifizieren.

Voraussetzungen

Für die Durchführung dieser Anleitung benötigen Sie:

  • Ein Ubuntu 22.04 LTS oder 24.04 LTS System mit Root- oder Sudo-Zugriff
  • Grundlegende Kenntnisse der Linux-Kommandozeile
  • SSH-Zugang zum System (falls Remote-Administration)
  • Verständnis für grundlegende Sicherheitskonzepte
  • Installierter Texteditor wie nano oder vim

Stellen Sie sicher, dass Ihr System über ausreichend Speicherplatz für Log-Dateien verfügt und die Standard-Logging-Dienste rsyslog und systemd-journald aktiv sind.

Schritt-für-Schritt Anleitung

Authentifizierungs-Log-Dateien lokalisieren

Ubuntu speichert Authentifizierungsereignisse primär in /var/log/auth.log. Diese Datei enthält alle sicherheitsrelevanten Ereignisse, die vom PAM-System (Pluggable Authentication Modules) und SSH-Daemon protokolliert werden.

Überprüfen Sie zunächst die Verfügbarkeit der wichtigsten Log-Dateien:

ls -la /var/log/auth.log*
ls -la /var/log/wtmp
ls -la /var/log/lastlog

Für eine erste Übersicht über aktuelle Authentifizierungsereignisse verwenden Sie:

sudo tail -50 /var/log/auth.log

Systemd-Journal für Authentifizierung nutzen

Moderne Ubuntu-Systeme speichern Authentifizierungsdaten zusätzlich im systemd-Journal. Der journalctl-Befehl bietet mächtige Filtermöglichkeiten:

sudo journalctl -u ssh
sudo journalctl -u systemd-logind
sudo journalctl --since "1 hour ago" | grep -i "authentication\|sudo\|ssh"

Für eine zeitbasierte Analyse der letzten 24 Stunden:

sudo journalctl --since "24 hours ago" --until "now" -p info

SSH-Verbindungen und Login-Versuche analysieren

SSH-Brute-Force-Angriffe sind eine häufige Bedrohung. Überwachen Sie fehlgeschlagene SSH-Verbindungsversuche mit:

sudo grep "Failed password" /var/log/auth.log | tail -20
sudo grep "Invalid user" /var/log/auth.log | tail -20

Für eine detailliertere Analyse erfolgreicher SSH-Verbindungen:

sudo grep "Accepted password\|Accepted publickey" /var/log/auth.log | tail -20

Identifizieren Sie die häufigsten Angreifer-IP-Adressen:

sudo grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | head -10

Sudo-Aktivitäten überwachen

Sudo-Nutzung ist ein kritischer Sicherheitsaspekt. Überwachen Sie alle sudo-Aktionen:

sudo grep "sudo:" /var/log/auth.log | tail -20

Fehlgeschlagene sudo-Versuche sind besonders verdächtig:

sudo grep "sudo.*FAILED" /var/log/auth.log
sudo journalctl | grep "sudo.*authentication failure"

Login-Historie mit last und lastlog

Die Befehle last und lastlog bieten schnelle Übersichten über Benutzeraktivitäten:

last -10
lastlog | head -20

Für spezifische Benutzeranalyse:

last -u root
last -i

Automatisierte Überwachung mit fail2ban

Installieren und konfigurieren Sie fail2ban für automatischen Schutz:

sudo apt update
sudo apt install fail2ban

Erstellen Sie eine lokale Konfigurationsdatei:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Bearbeiten Sie die Konfiguration für SSH-Schutz:

[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600

Starten und aktivieren Sie fail2ban:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Log-Rotation und Archivierung

Überprüfen Sie die Log-Rotation-Konfiguration:

sudo cat /etc/logrotate.d/rsyslog

Für längere Aufbewahrungszeiten passen Sie die Rotation an:

/var/log/auth.log {
    weekly
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    create 640 syslog adm
}

Überprüfung

Testen Sie Ihre Überwachungssetup durch kontrollierte Testszenarien:

Führen Sie einen fehlgeschlagenen SSH-Login durch und überprüfen Sie die Protokollierung:

sudo tail -f /var/log/auth.log | grep ssh

Testen Sie sudo-Logging mit einem bewusst fehlerhaften Befehl:

sudo -u nonexistentuser whoami

Überprüfen Sie die fail2ban-Funktionalität:

sudo fail2ban-client status
sudo fail2ban-client status sshd

Validieren Sie die systemd-Journal-Integration:

sudo journalctl --since "5 minutes ago" | grep -E "(ssh|sudo|authentication)"

Troubleshooting

Problem: auth.log ist leer oder existiert nicht

Lösung: Überprüfen Sie den rsyslog-Status und die Konfiguration:

sudo systemctl status rsyslog
sudo grep "auth" /etc/rsyslog.conf

Problem: journalctl zeigt keine Authentifizierungsereignisse

Lösung: Überprüfen Sie die systemd-journald-Konfiguration:

sudo systemctl status systemd-journald
sudo journalctl --verify

Problem: fail2ban startet nicht

Lösung: Prüfen Sie die Konfigurationssyntax:

sudo fail2ban-client -t
sudo journalctl -u fail2ban

Problem: Hohe CPU-Last durch Log-Analyse

Lösung: Implementieren Sie effizientere Filterung und nutzen Sie indexbasierte Suche:

sudo journalctl --since "1 hour ago" -u ssh --no-pager | head -100

Fazit

Die effektive Überwachung von Authentifizierungs-Logs ist fundamental für die Systemsicherheit unter Ubuntu. Durch die Kombination aus traditionellen Log-Dateien, systemd-Journal und automatisierten Tools wie fail2ban schaffen Sie ein robustes Sicherheitsnetz gegen Angriffe. Die regelmäßige Analyse von /var/log/auth.log und die Nutzung von journalctl ermöglichen es, verdächtige Aktivitäten frühzeitig zu identifizieren.

Besonders wichtig ist die kontinuierliche Überwachung von SSH-Verbindungsversuchen, sudo-Nutzung und PAM-Ereignissen. Die Automatisierung durch fail2ban bietet zusätzlichen Schutz, ersetzt aber nicht die regelmäßige manuelle Überprüfung der Logs. Entwickeln Sie eine Routine für die tägliche Log-Analyse und dokumentieren Sie ungewöhnliche Muster für weitere Untersuchungen.

Für produktive Umgebungen sollten Sie zusätzlich zentrale Log-Sammlung, erweiterte SIEM-Systeme und regelmäßige Sicherheitsaudits implementieren. Die hier gezeigten Grundlagen bilden jedoch das Fundament für jede weiterführende Sicherheitsstrategie in Ubuntu-Umgebungen.