cryeffect.net

Logwatch – Automatische Log-Analyse für Linux-Systeme

Übersicht: Logwatch

Was ist Logwatch?

Logwatch ist ein automatisiertes Log-Analyse-Tool für Linux-Systeme. Es durchsucht täglich verschiedene System-Logdateien, analysiert sie und erstellt übersichtliche Berichte über Systemereignisse, Sicherheitsvorfälle und potenzielle Probleme.

Warum ist Logwatch wichtig?

  • Zeitersparnis: Automatische Analyse statt manueller Durchsicht von Logdateien
  • Früherkennung: Schnelle Identifikation von Problemen und Sicherheitsvorfällen
  • Übersichtlichkeit: Strukturierte Berichte statt unübersichtlicher Logflut
  • Proaktivität: Regelmäßige Reports ermöglichen vorbeugende Maßnahmen
  • Compliance: Dokumentation für Sicherheitsrichtlinien und Audits

Installation von Logwatch

Ubuntu/Debian:

1
2
sudo apt update
sudo apt install logwatch

CentOS/RHEL/Fedora:

1
2
3
4
5
# CentOS/RHEL
sudo yum install logwatch

# Fedora
sudo dnf install logwatch

Arch Linux:

1
sudo pacman -S logwatch

Grundkonfiguration

Hauptkonfigurationsdatei:

1
sudo nano /etc/logwatch/conf/logwatch.conf

Wichtige Einstellungen:

1
2
3
4
5
6
7
8
9
10
11
# E-Mail-Adresse für Reports
MailTo = admin@example.com

# Detail-Level (Low, Med, High)
Detail = Med

# Zeitraum für Analyse
Range = yesterday

# Output-Format
Format = text

Wie verwendet man Logwatch?

Automatische tägliche Reports (Standard):

1
2
3
# Logwatch läuft automatisch via Cron
# Konfiguration prüfen:
cat /etc/cron.daily/00logwatch

Manuelle Ausführung:

1
2
3
4
5
6
7
8
9
10
11
# Heutiger Bericht mit mittlerem Detail
logwatch --detail med --range today

# Detaillierter Bericht für gestern
logwatch --detail high --range yesterday

# Spezifischer Service (z.B. SSH)
logwatch --service ssh --range today

# HTML-Format
logwatch --format html --range today > /tmp/logwatch.html

Zeitraum-Optionen:

1
2
3
4
5
# Verschiedene Zeiträume
logwatch --range today # Heute
logwatch --range yesterday # Gestern
logwatch --range "2 days ago" # Vor 2 Tagen
logwatch --range "between 2025-08-01 and 2025-08-07" # Zeitspanne

Häufig überwachte Services

ServiceBeschreibungLogdatei
SSHLogin-Versuche, Authentifizierung/var/log/auth.log
ApacheWeb-Server Zugriffe, Fehler/var/log/apache2/
MailE-Mail-Verkehr, SMTP/var/log/mail.log
CronGeplante Aufgaben/var/log/cron
KernelSystem-Meldungen/var/log/kern.log
Firewalliptables/ufw Aktivität/var/log/ufw.log

Erweiterte Konfiguration

Custom Service hinzufügen:

1
2
# Neue Service-Konfiguration
sudo nano /etc/logwatch/conf/services/myapp.conf
1
2
3
4
5
# Beispiel-Konfiguration
Title = "My Application"
LogFile = /var/log/myapp/*.log
*OnlyService = myapp
*RemoveHeaders

E-Mail-Konfiguration optimieren:

1
2
3
4
# /etc/logwatch/conf/logwatch.conf
MailTo = admin@domain.com, security@domain.com
MailFrom = logwatch@server.domain.com
Subject = "Logwatch Report for $(hostname)"

Filter anpassen:

1
2
# Irrelevante Meldungen ausfiltern
sudo nano /etc/logwatch/conf/ignore.conf

Praktische Beispiele

Sicherheitsüberwachung:

1
2
3
4
5
6
7
8
# SSH-Angriffe erkennen
logwatch --service ssh --detail high --range "7 days"

# Firewall-Aktivität prüfen
logwatch --service iptables --range today

# Alle Sicherheitsereignisse
logwatch --service secure --detail high --range yesterday

System-Monitoring:

1
2
3
4
5
6
7
8
# Kernel-Meldungen und Systemerrors
logwatch --service kernel --detail med --range today

# Disk-Space und Mount-Probleme
logwatch --service disk --range yesterday

# Cron-Job Status
logwatch --service cron --detail high --range today

Web-Server Analyse:

1
2
3
4
5
# Apache Access und Error Logs
logwatch --service httpd --detail high --range today

# Nginx Logs (falls konfiguriert)
logwatch --service nginx --range yesterday

Häufige Probleme und Lösungen

Keine E-Mails erhalten:

1
2
3
4
5
6
7
8
# Mail-System prüfen
systemctl status postfix

# Logwatch manuell testen
logwatch --print --range today

# Mail-Konfiguration prüfen
sudo nano /etc/logwatch/conf/logwatch.conf

Zu viele oder zu wenige Details:

1
2
3
4
5
6
7
# Detail-Level anpassen
Detail = Low # Weniger Details
Detail = Med # Standard
Detail = High # Mehr Details

# Oder per Command-Line
logwatch --detail low --range today

Custom Logs hinzufügen:

1
2
3
4
5
6
# Neue Service-Definition erstellen
sudo nano /etc/logwatch/conf/services/myservice.conf

# Logfiles definieren
LogFile = /var/log/myapp/*.log
Title = "My Custom Application"

Alternativen zu Logwatch

ToolBeschreibungVorteile
rsyslogErweiterte Log-VerwaltungReal-time, zentral
journalctlsystemd JournalModern, strukturiert
goaccessWeb-Log-AnalyzerWeb-Interface, real-time
fail2banIntrusion PreventionAktive Sicherheit
ELK StackEnterprise LoggingSkalierbar, mächtig

Tipps

  • Konfiguriere E-Mail-Benachrichtigungen für kritische Events
  • Nutze verschiedene Detail-Level je nach Bedarf
  • Erstelle Custom-Services für eigene Anwendungen
  • Kombiniere Logwatch mit fail2ban für aktive Sicherheit
  • Archiviere wichtige Reports für Compliance-Zwecke
  • Teste neue Konfigurationen erst manuell

Fazit

Logwatch ist ein unverzichtbares Tool für Linux-Systemadministratoren. Es automatisiert die mühsame Aufgabe der Log-Analyse und liefert übersichtliche, actionable Reports. Mit der richtigen Konfiguration hilft es dabei, Sicherheitsprobleme frühzeitig zu erkennen, Systemstabilität zu überwachen und Compliance-Anforderungen zu erfüllen.