Logwatch: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
Hier ist eine klare, einfache und vollständige Erklärung zu '''Logwatch''' im MediaWiki-Format, mit Fokus auf das Wesentliche und darauf, was genau wie ausgewertet wird:
+
= Logwatch mit Debian 12 und journald =
  
==== Was ist Logwatch? ====
+
Logwatch unterstützt standardmäßig kein direktes Auslesen der Logs aus '''journald''', sondern erwartet klassische Log-Dateien. Unter Debian 12 wird '''journald''' verwendet, weshalb Logwatch hier ohne Anpassungen keine brauchbaren Berichte erstellt.
Logwatch ist ein Logfile-Analyse-Tool, das automatisch Systemprotokolle (Logs) auswertet und daraus einen übersichtlichen Bericht erzeugt.  
 
  
==== Welche Logs werden ausgewertet? ====
+
= Voraussetzung =
Standardmäßig analysiert Logwatch folgende Protokolle:
 
  
;Systemprotokolle
+
Um Logwatch mit Debian 12 verwenden zu können, muss '''rsyslog''' installiert werden. '''rsyslog''' erzeugt klassische Log-Dateien unter '''/var/log''', welche von Logwatch ausgewertet werden.
* '''auth.log''' – Anmeldungen, fehlerhafte Logins, sudo-Zugriffe
 
* '''syslog''' – Allgemeine Systemmeldungen, Fehler, Warnungen
 
* '''kern.log''' – Kernelmeldungen, Hardwareprobleme, Fehler bei Geräten
 
* '''daemon.log''' – Meldungen von Diensten wie SSH, Cron, Postfix, etc.
 
  
;Anwendungsprotokolle (falls installiert)
+
== rsyslog installieren ==
* '''Apache''' – Zugriffe, Fehler, Attacken
 
* '''Postfix''' – E-Mail-Versand, Empfang, Spam-Warnungen
 
* '''SSH''' – Zugriffe, fehlgeschlagene Anmeldeversuche
 
* '''Cron''' – Ausführung und Fehler von Cronjobs
 
* '''Fail2Ban''' – IP-Blockaden, Sicherheitswarnungen
 
* '''MySQL/MariaDB''' – Fehler und Warnungen in der Datenbank
 
  
==== Wie wird ausgewertet? ====
+
* apt install rsyslog
Logwatch wertet die Logs '''regelmäßig''' (standardmäßig täglich) per Cronjob aus. Es sucht nach:
 
  
;Wichtigen Ereignissen
+
'''rsyslog''' startet automatisch nach der Installation und schreibt ab sofort klassische Log-Dateien wie '''/var/log/mail.log''', '''/var/log/syslog''', usw.
* Kritischen Fehlern (CRITICAL)
 
* Fehlgeschlagenen Anmeldungen (Login Failures)
 
* Sicherheitsrelevanten Warnungen (SECURITY)
 
* Abweichungen im normalen Betrieb (z.B. ungewöhnlich viele Zugriffe)
 
  
;Gruppierung und Zusammenfassung
+
= Testen der Log-Dateien =
* Häufig wiederkehrende Meldungen werden '''zusammengefasst''' dargestellt, um den Bericht übersichtlich zu halten.
 
* Einzelne Meldungen werden nach '''Typ und Dienst''' (z.B. SSH, Cron, Apache) sortiert.
 
  
==== Berichtsausgabe ====
+
Prüfen, ob klassische Log-Dateien angelegt wurden:
Logwatch fasst alle relevanten Einträge in einem Bericht zusammen, der entweder:
 
  
* Per Mail versendet wird (Standard)
+
* ls -l /var/log/mail.log /var/log/syslog
* Auf der Konsole ausgegeben wird
 
  
Die Detailtiefe kannst du selbst bestimmen:
+
= Logwatch testen =
* '''Low''' – Nur kritische und wichtige Meldungen (Standard)
 
* '''Med''' – Erweiterte Meldungen und Warnungen
 
* '''High''' – Ausführliche Detailmeldungen (für Troubleshooting)
 
  
==== Wichtige Optionen in logwatch.conf ====
+
Logwatch manuell ausführen, um zu prüfen, ob Logs erkannt werden:
Die Hauptkonfiguration erfolgt in '''/usr/share/logwatch/default.conf/logwatch.conf'''. 
 
Änderungen sollten immer in '''/etc/logwatch/conf/logwatch.conf''' vorgenommen werden.
 
  
;Wichtige Parameter:
+
* logwatch --output stdout --detail High
* '''MailTo = admin@beispiel.de''' – Wohin der Bericht gesendet wird.
 
* '''Detail = Low|Med|High''' – Wie detailliert der Bericht ausfällt.
 
* '''Range = yesterday|today|All''' – Welcher Zeitraum ausgewertet wird.
 
* '''Output = mail|stdout''' – Wie die Ausgabe erfolgen soll.
 
* '''Format = html|text''' – Ausgabeformat des Berichts.
 
  
==== Eigene Logs einbinden ====
+
Die Ausgabe enthält nun Postfix, Dovecot, Rspamd und ClamAV, falls diese Dienste aktiv sind.
Um eigene Logs auszuwerten, kannst du in:
 
  
'''/etc/logwatch/conf/services/'''
+
= Hinweis zur nativen journald-Unterstützung =
  
eigene Konfigurationsdateien hinterlegen. Beispiel:
+
Logwatch besitzt aktuell (Stand 2025) keine native journald-Unterstützung und ist somit nicht mehr als State-of-the-Art anzusehen. Alternativen wären direkte Nutzung von '''journalctl''', grafische Lösungen wie '''Cockpit''', oder moderne Monitoring-Tools wie '''Grafana/Loki''' oder der '''ELK-Stack'''.
 
 
Datei: /etc/logwatch/conf/services/meinlog.conf
 
Title = "Mein Dienst"
 
LogFile = /var/log/meindienst.log
 
 
 
==== Automatische Ausführung ====
 
Logwatch läuft standardmäßig einmal täglich über Cron. Du musst keine zusätzlichen Schritte vornehmen.
 
 
 
==== Manueller Test ====
 
So kannst du sofort sehen, was Logwatch macht:
 
 
 
Ausgabe auf der Konsole:
 
'''logwatch --output stdout --detail High'''
 
 
 
Ausgabe per Mail testen:
 
'''logwatch --mailto admin@beispiel.de --detail Med'''
 
 
 
Standardmäßig liefert Logwatch gute Berichte zu '''Postfix''' und '''Dovecot'''. Bei '''Rspamd''' und '''ClamAV''' musst du kleine Anpassungen machen, weil diese Logs nicht automatisch detailliert analysiert werden.
 
 
 
Hier ist genau, was du tun musst:
 
 
 
==== Postfix und Dovecot ====
 
Logwatch wertet '''Postfix''' und '''Dovecot''' standardmäßig automatisch und umfassend aus.
 
 
 
;Es werden erfasst:
 
* Empfangene und gesendete Mails
 
* Zustellfehler und Warnungen
 
* Logins und fehlgeschlagene Authentifizierungen (Dovecot)
 
* Temporär und permanent abgelehnte Nachrichten (Postfix)
 
 
 
Du musst nichts tun, wenn du die Standard-Logpfade (z.B. '''/var/log/mail.log''') verwendest.
 
 
 
==== Rspamd und ClamAV ====
 
Standardmäßig wertet Logwatch Rspamd und ClamAV '''nicht detailliert''' aus. Du bekommst höchstens sehr oberflächliche oder gar keine Meldungen dazu.
 
 
 
==== Rspamd in Logwatch integrieren ====
 
Erstelle zuerst eine neue Service-Konfiguration:
 
 
 
Datei '''/etc/logwatch/conf/services/rspamd.conf''':
 
Title = "Rspamd"
 
LogFile = /var/log/rspamd/rspamd.log
 
 
 
Um Meldungen besser zusammenzufassen, ergänze ein einfaches Filter-Skript:
 
 
 
Datei '''/etc/logwatch/scripts/services/rspamd''':
 
#!/bin/bash
 
grep -E "(reject|spam|greylist|action)" | sort | uniq -c | sort -nr
 
 
 
Mach es ausführbar:
 
'''chmod +x /etc/logwatch/scripts/services/rspamd'''
 
 
 
Damit erhältst du eine übersichtliche Zusammenfassung, wie viele Mails Spam, Greylisting oder andere Aktionen verursacht haben.
 
 
 
==== ClamAV in Logwatch integrieren ====
 
Standardmäßig sind ClamAV-Meldungen in Logwatch wenig aussagekräftig.
 
 
 
Erstelle folgende Service-Konfiguration:
 
 
 
Datei '''/etc/logwatch/conf/services/clamav.conf''':
 
Title = "ClamAV"
 
LogFile = /var/log/clamav/clamav.log
 
 
 
Und ein einfaches Filter-Skript:
 
 
 
Datei '''/etc/logwatch/scripts/services/clamav''':
 
#!/bin/bash
 
grep -E "(FOUND|Infected)" | sort | uniq -c | sort -nr
 
 
 
Mach es ausführbar:
 
'''chmod +x /etc/logwatch/scripts/services/clamav'''
 
 
 
Das gibt dir eine einfache, aber nützliche Zusammenfassung, welche Viren gefunden wurden.
 
 
 
==== Abschließender Test ====
 
Teste die Auswertung sofort mit:
 
'''logwatch --output stdout --service rspamd --detail high'''
 
'''logwatch --output stdout --service clamav --detail high'''
 
 
 
==== Fazit ====
 
* '''Postfix und Dovecot''' laufen '''Out-of-the-box'''.
 
* '''Rspamd und ClamAV''' benötigen die gezeigten kleinen Anpassungen.
 
 
 
Danach liefert Logwatch täglich vollständige und übersichtliche Berichte über deinen kompletten Mailserver.
 

Version vom 21. März 2025, 05:32 Uhr

Logwatch mit Debian 12 und journald

Logwatch unterstützt standardmäßig kein direktes Auslesen der Logs aus journald, sondern erwartet klassische Log-Dateien. Unter Debian 12 wird journald verwendet, weshalb Logwatch hier ohne Anpassungen keine brauchbaren Berichte erstellt.

Voraussetzung

Um Logwatch mit Debian 12 verwenden zu können, muss rsyslog installiert werden. rsyslog erzeugt klassische Log-Dateien unter /var/log, welche von Logwatch ausgewertet werden.

rsyslog installieren

  • apt install rsyslog

rsyslog startet automatisch nach der Installation und schreibt ab sofort klassische Log-Dateien wie /var/log/mail.log, /var/log/syslog, usw.

Testen der Log-Dateien

Prüfen, ob klassische Log-Dateien angelegt wurden:

  • ls -l /var/log/mail.log /var/log/syslog

Logwatch testen

Logwatch manuell ausführen, um zu prüfen, ob Logs erkannt werden:

  • logwatch --output stdout --detail High

Die Ausgabe enthält nun Postfix, Dovecot, Rspamd und ClamAV, falls diese Dienste aktiv sind.

Hinweis zur nativen journald-Unterstützung

Logwatch besitzt aktuell (Stand 2025) keine native journald-Unterstützung und ist somit nicht mehr als State-of-the-Art anzusehen. Alternativen wären direkte Nutzung von journalctl, grafische Lösungen wie Cockpit, oder moderne Monitoring-Tools wie Grafana/Loki oder der ELK-Stack.