Logwatch: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
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 unter Debian 12 mit Postfix, Dovecot, Rspamd, ClamAV und Apache =
  
==== Was ist Logwatch? ====
+
Logwatch wertet standardmäßig klassische Logdateien unter '''/var/log''' aus. Debian 12 (Bookworm) verwendet jedoch '''journald''', welches keine Text-Logs erzeugt.
Logwatch ist ein Logfile-Analyse-Tool, das automatisch Systemprotokolle (Logs) auswertet und daraus einen übersichtlichen Bericht erzeugt.  
 
  
==== Welche Logs werden ausgewertet? ====
+
Damit Logwatch alle gewünschten Dienste auswerten kann, ist es nötig, '''rsyslog''' zusätzlich zu installieren.
Standardmäßig analysiert Logwatch folgende Protokolle:
 
  
;Systemprotokolle
+
= rsyslog installieren =
* '''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''' schreibt wieder klassische Logdateien.
* '''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
+
Nach der Installation werden automatisch die üblichen Logs wie '''/var/log/syslog''' und '''/var/log/mail.log''' erzeugt.
* Kritischen Fehlern (CRITICAL)
 
* Fehlgeschlagenen Anmeldungen (Login Failures)
 
* Sicherheitsrelevanten Warnungen (SECURITY)
 
* Abweichungen im normalen Betrieb (z.B. ungewöhnlich viele Zugriffe)
 
  
;Gruppierung und Zusammenfassung
+
= Logdateien prüfen =
* 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 folgende Logdateien existieren und beschrieben werden:
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 /var/log/rspamd/rspamd.log /var/log/clamav/clamav.log /var/log/apache2/access.log /var/log/apache2/error.log
* Auf der Konsole ausgegeben wird
 
  
Die Detailtiefe kannst du selbst bestimmen:
+
Falls '''rspamd''' und '''clamav''' keine Logs in '''/var/log''' erstellen, Konfiguration anpassen:
* '''Low''' – Nur kritische und wichtige Meldungen (Standard)
 
* '''Med''' – Erweiterte Meldungen und Warnungen
 
* '''High''' – Ausführliche Detailmeldungen (für Troubleshooting)
 
  
==== Wichtige Optionen in logwatch.conf ====
+
== Rspamd-Logging aktivieren (falls nicht aktiv) ==
Die Hauptkonfiguration erfolgt in '''/usr/share/logwatch/default.conf/logwatch.conf'''. 
 
Änderungen sollten immer in '''/etc/logwatch/conf/logwatch.conf''' vorgenommen werden.
 
  
;Wichtige Parameter:
+
Datei '''/etc/rspamd/local.d/logging.inc''' erstellen oder ergänzen:
* '''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 ====
+
type = "file";
Um eigene Logs auszuwerten, kannst du in:
+
filename = "/var/log/rspamd/rspamd.log";
 +
level = "info";
  
'''/etc/logwatch/conf/services/'''
+
Rspamd danach neu starten:
  
eigene Konfigurationsdateien hinterlegen. Beispiel:
+
* systemctl restart rspamd
  
Datei: /etc/logwatch/conf/services/meinlog.conf
+
== ClamAV-Logging aktivieren (falls nicht aktiv) ==
Title = "Mein Dienst"
 
LogFile = /var/log/meindienst.log
 
  
==== Automatische Ausführung ====
+
Datei '''/etc/clamav/clamd.conf''' ergänzen/anpassen:
Logwatch läuft standardmäßig einmal täglich über Cron. Du musst keine zusätzlichen Schritte vornehmen.
 
  
==== Manueller Test ====
+
LogFile /var/log/clamav/clamav.log
So kannst du sofort sehen, was Logwatch macht:
+
LogTime yes
  
Ausgabe auf der Konsole:
+
ClamAV neu starten:
'''logwatch --output stdout --detail High'''
 
  
Ausgabe per Mail testen:
+
* systemctl restart clamav-daemon
'''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.
+
= Logwatch konfigurieren =
  
Hier ist genau, was du tun musst:
+
Logwatch benötigt für '''Rspamd''' und '''ClamAV''' zusätzliche Konfigurationsdateien. '''Postfix''', '''Dovecot''' und '''Apache''' funktionieren automatisch.
  
==== Postfix und Dovecot ====
+
== Rspamd in Logwatch integrieren ==
Logwatch wertet '''Postfix''' und '''Dovecot''' standardmäßig automatisch und umfassend aus.
 
  
;Es werden erfasst:
+
Konfigurationsdatei '''/etc/logwatch/conf/services/rspamd.conf''' erstellen:
* 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"
 
  Title = "Rspamd"
 
  LogFile = /var/log/rspamd/rspamd.log
 
  LogFile = /var/log/rspamd/rspamd.log
  
Um Meldungen besser zusammenzufassen, ergänze ein einfaches Filter-Skript:
+
Skript '''/etc/logwatch/scripts/services/rspamd''' erstellen und ausführbar machen:
  
Datei '''/etc/logwatch/scripts/services/rspamd''':
 
 
  #!/bin/bash
 
  #!/bin/bash
 
  grep -E "(reject|spam|greylist|action)" | sort | uniq -c | sort -nr
 
  grep -E "(reject|spam|greylist|action)" | sort | uniq -c | sort -nr
  
Mach es ausführbar:
+
Ausführbar setzen:
'''chmod +x /etc/logwatch/scripts/services/rspamd'''
 
  
Damit erhältst du eine übersichtliche Zusammenfassung, wie viele Mails Spam, Greylisting oder andere Aktionen verursacht haben.
+
* chmod +x /etc/logwatch/scripts/services/rspamd
  
==== ClamAV in Logwatch integrieren ====
+
== ClamAV in Logwatch integrieren ==
Standardmäßig sind ClamAV-Meldungen in Logwatch wenig aussagekräftig.
 
  
Erstelle folgende Service-Konfiguration:
+
Konfigurationsdatei '''/etc/logwatch/conf/services/clamav.conf''' erstellen:
  
Datei '''/etc/logwatch/conf/services/clamav.conf''':
 
 
  Title = "ClamAV"
 
  Title = "ClamAV"
 
  LogFile = /var/log/clamav/clamav.log
 
  LogFile = /var/log/clamav/clamav.log
  
Und ein einfaches Filter-Skript:
+
Skript '''/etc/logwatch/scripts/services/clamav''' erstellen und ausführbar machen:
  
Datei '''/etc/logwatch/scripts/services/clamav''':
 
 
  #!/bin/bash
 
  #!/bin/bash
 
  grep -E "(FOUND|Infected)" | sort | uniq -c | sort -nr
 
  grep -E "(FOUND|Infected)" | sort | uniq -c | sort -nr
  
Mach es ausführbar:
+
Ausführbar setzen:
'''chmod +x /etc/logwatch/scripts/services/clamav'''
+
 
 +
* chmod +x /etc/logwatch/scripts/services/clamav
 +
 
 +
== Apache in Logwatch prüfen ==
 +
 
 +
Apache wird automatisch von Logwatch ausgewertet, sofern Standardpfade verwendet werden:
 +
 
 +
* /var/log/apache2/access.log
 +
* /var/log/apache2/error.log
 +
 
 +
Keine Anpassungen nötig.
 +
 
 +
= Logwatch testen =
 +
 
 +
Ausgabe von Logwatch sofort auf der Konsole testen:
 +
 
 +
* logwatch --output stdout --detail High
 +
 
 +
Der Bericht enthält nun:
 +
* Postfix (Mail-Versand, Empfang, Fehler)
 +
* Dovecot (Logins, Authentifizierungsfehler)
 +
* Rspamd (Spam- und Greylisting-Berichte)
 +
* ClamAV (Virenmeldungen, Updates)
 +
* Apache (Zugriffe, Fehler, Warnungen)
 +
 
 +
= Hinweis zur aktuellen Situation (2025) =
  
Das gibt dir eine einfache, aber nützliche Zusammenfassung, welche Viren gefunden wurden.
+
Logwatch besitzt bis heute keine native Unterstützung für '''journald''', was es in Umgebungen mit reinem Journald-Logging weniger zeitgemäß macht.
  
==== Abschließender Test ====
+
Zeitgemäße Alternativen für Journald wären:
Teste die Auswertung sofort mit:
 
'''logwatch --output stdout --service rspamd --detail high'''
 
'''logwatch --output stdout --service clamav --detail high'''
 
  
==== Fazit ====
+
* Nutzung von '''journalctl''' direkt
* '''Postfix und Dovecot''' laufen '''Out-of-the-box'''.
+
* Grafische Verwaltung über '''Cockpit'''
* '''Rspamd und ClamAV''' benötigen die gezeigten kleinen Anpassungen.
+
* Monitoring-Stacks (Grafana mit Loki oder ELK-Stack)
  
Danach liefert Logwatch täglich vollständige und übersichtliche Berichte über deinen kompletten Mailserver.
+
Logwatch ist weiterhin nutzbar, wenn klassisches Logging (rsyslog) parallel aktiviert wird, wie oben beschrieben.
 +
```

Aktuelle Version vom 28. März 2025, 06:37 Uhr

```

Logwatch unter Debian 12 mit Postfix, Dovecot, Rspamd, ClamAV und Apache

Logwatch wertet standardmäßig klassische Logdateien unter /var/log aus. Debian 12 (Bookworm) verwendet jedoch journald, welches keine Text-Logs erzeugt.

Damit Logwatch alle gewünschten Dienste auswerten kann, ist es nötig, rsyslog zusätzlich zu installieren.

rsyslog installieren

rsyslog schreibt wieder klassische Logdateien.

  • apt install rsyslog

Nach der Installation werden automatisch die üblichen Logs wie /var/log/syslog und /var/log/mail.log erzeugt.

Logdateien prüfen

Prüfen, ob folgende Logdateien existieren und beschrieben werden:

  • ls -l /var/log/mail.log /var/log/syslog /var/log/rspamd/rspamd.log /var/log/clamav/clamav.log /var/log/apache2/access.log /var/log/apache2/error.log

Falls rspamd und clamav keine Logs in /var/log erstellen, Konfiguration anpassen:

Rspamd-Logging aktivieren (falls nicht aktiv)

Datei /etc/rspamd/local.d/logging.inc erstellen oder ergänzen:

type = "file";
filename = "/var/log/rspamd/rspamd.log";
level = "info";

Rspamd danach neu starten:

  • systemctl restart rspamd

ClamAV-Logging aktivieren (falls nicht aktiv)

Datei /etc/clamav/clamd.conf ergänzen/anpassen:

LogFile /var/log/clamav/clamav.log LogTime yes

ClamAV neu starten:

  • systemctl restart clamav-daemon

Logwatch konfigurieren

Logwatch benötigt für Rspamd und ClamAV zusätzliche Konfigurationsdateien. Postfix, Dovecot und Apache funktionieren automatisch.

Rspamd in Logwatch integrieren

Konfigurationsdatei /etc/logwatch/conf/services/rspamd.conf erstellen:

Title = "Rspamd"
LogFile = /var/log/rspamd/rspamd.log

Skript /etc/logwatch/scripts/services/rspamd erstellen und ausführbar machen:

#!/bin/bash
grep -E "(reject|spam|greylist|action)" | sort | uniq -c | sort -nr

Ausführbar setzen:

  • chmod +x /etc/logwatch/scripts/services/rspamd

ClamAV in Logwatch integrieren

Konfigurationsdatei /etc/logwatch/conf/services/clamav.conf erstellen:

Title = "ClamAV"
LogFile = /var/log/clamav/clamav.log

Skript /etc/logwatch/scripts/services/clamav erstellen und ausführbar machen:

#!/bin/bash
grep -E "(FOUND|Infected)" | sort | uniq -c | sort -nr

Ausführbar setzen:

  • chmod +x /etc/logwatch/scripts/services/clamav

Apache in Logwatch prüfen

Apache wird automatisch von Logwatch ausgewertet, sofern Standardpfade verwendet werden:

  • /var/log/apache2/access.log
  • /var/log/apache2/error.log

Keine Anpassungen nötig.

Logwatch testen

Ausgabe von Logwatch sofort auf der Konsole testen:

  • logwatch --output stdout --detail High

Der Bericht enthält nun:

  • Postfix (Mail-Versand, Empfang, Fehler)
  • Dovecot (Logins, Authentifizierungsfehler)
  • Rspamd (Spam- und Greylisting-Berichte)
  • ClamAV (Virenmeldungen, Updates)
  • Apache (Zugriffe, Fehler, Warnungen)

Hinweis zur aktuellen Situation (2025)

Logwatch besitzt bis heute keine native Unterstützung für journald, was es in Umgebungen mit reinem Journald-Logging weniger zeitgemäß macht.

Zeitgemäße Alternativen für Journald wären:

  • Nutzung von journalctl direkt
  • Grafische Verwaltung über Cockpit
  • Monitoring-Stacks (Grafana mit Loki oder ELK-Stack)

Logwatch ist weiterhin nutzbar, wenn klassisches Logging (rsyslog) parallel aktiviert wird, wie oben beschrieben. ```