Niemand liest täglich die Protokolle eines Servers. Logwatch übernimmt dies für Sie: Jede Nacht durchsucht es die Systemprotokolle und sendet Ihnen eine übersichtliche Zusammenfassung. SSH-Verbindungen, Dienstfehler, Speicherplatzbelegung, von Fail2ban gesperrte IP-Adressen, Webserver-Fehler: In nur zwei Minuten Lesezeit am Morgen wissen Sie, ob etwas Ungewöhnliches vorgefallen ist.
1. Warum ein täglicher Bericht?
Die Warnmeldungen, die im Abschnitt Überwachung Ihres VPS beschrieben sind, warnen Sie, sobald ein Schwellenwert überschritten wird. Der tägliche Bericht zeigt Ihnen, was zwar keine Warnmeldung auslöst, aber dennoch Ihre Aufmerksamkeit verdient: eine erfolgreiche SSH-Verbindung aus einem unerwarteten Land, ein Dienst, der jede Nacht neu startet, sich häufende PHP-Fehler oder eine Festplatte, die sich langsam füllt.
2. Logwatch installieren
apt update && apt install -y logwatch
Je nach Ihrem System schlägt das Installationsprogramm möglicherweise vor, zusätzlich einen E-Mail-Server zu installieren: Sollte ein Konfigurationsfenster für Postfix erscheinen, wählen Sie bitte „Derzeit keine Konfiguration“. Das Versenden von E-Mails wird in Schritt 5 behandelt.
3. Einen ersten Bericht anzeigen
Bevor Sie irgendwelche Einstellungen vornehmen, rufen Sie den Tagesbericht im Terminal auf:
logwatch --detail med --range today --output stdout | less
Der Bericht ist nach Abteilungen gegliedert: sshd, fail2ban, httpd für den Webserver, disk space, usw. Es werden nur die Dienste angezeigt, die auf Ihrem Server vorhanden sind.
4. Den täglichen Versand einrichten
Die Installation fügt bereits eine tägliche Aufgabe in /etc/cron.daily/00logwatch. Sie müssen ihm lediglich mitteilen, was er an wen senden soll. Erstellen Sie /etc/logwatch/conf/logwatch.conf :
Output = mail
Format = html
MailTo = [email protected]
MailFrom = [email protected]
Range = yesterday
Detail = Med
Service = All
Range = yesterday: Der am Morgen übermittelte Bericht umfasst den gesamten Vortag.Detail:Lowim Wesentlichen,Medfür ein ausgewogenes Gleichgewicht,Highum alles zu sehen, was jedoch schnell unleserlich wird.Service: Um einen zu „geschwätzigen“ Dienst zu deaktivieren, fügen Sie eine Zeile wie die folgende hinzu:Service = "-http"unterService = All.
5. E-Mails versenden
Logwatch übergibt den Versand an das E-Mail-Programm des Systems. Es muss daher ein korrekt konfiguriertes E-Mail-Programm vorhanden sein, da die Berichte andernfalls ins Leere versendet werden oder im Spam-Ordner landen. Die zuverlässigste Methode für einen Server, der ausschließlich Benachrichtigungen versendet, besteht darin, die E-Mails über einen SMTP-Anbieter weiterzuleiten, wie in Postfix für den reinen Versand konfigurieren.
Testen Sie anschließend den Sofortversand:
logwatch --detail low --range today --output mail --mailto [email protected]
Sollte nichts geschehen, überprüfen Sie bitte die Sendeprotokolle mit journalctl -u 'postfix*' -n 30. Ein Bericht, der im Spam-Ordner landet, weist auf ein Problem bei der Authentifizierung der Absenderdomäne hin: siehe SPF, DKIM und DMARC konfigurieren.
6. Den Bericht in zwei Minuten lesen
Konzentrieren Sie sich auf diese Abschnitte in der folgenden Reihenfolge:
- sshd, erfolgreiche Verbindungen : Jede Zeile muss einer Verbindung Ihrerseits entsprechen. Eine Verbindung, die Sie nicht erkennen, ist der schwerwiegendste Hinweis in diesem Bericht.
- Speicherplatz : die Auslastung der einzelnen Partitionen. Bei einer Auslastung von über 80 % sollten Sie Speicherplatz freigeben.
- fail2ban : Die Anzahl der gesperrten Adressen. Eine konstante Zahl ist normal; ein plötzlicher sprunghafter Anstieg kann einem gezielten Angriff vorausgehen.
- Fehler bei den Dienstleistungen : Dienste, die beim Start fehlschlagen oder sich endlos neu starten.
Fehlgeschlagene SSH-Verbindungsversuche gehen oft in die Hunderte: Das ist das Hintergrundrauschen des Internets. Sind Passwörter deaktiviert, stellen sie keine Gefahr dar. Siehe SSH absichern.
7. Mit „journalctl“ ergänzen
Wenn der Bericht auf etwas hinweist, gehen Sie anhand des Systemprotokolls der Ursache auf den Grund:
journalctl -p err --since yesterday # toutes les erreurs depuis hier
journalctl -u nginx --since "2 hours ago" # un service précis
journalctl --disk-usage # place occupée par les journaux
journalctl --vacuum-time=30d # ne garder que 30 jours
Um die Größe der Protokolle dauerhaft zu begrenzen, fügen Sie Folgendes hinzu: SystemMaxUse=500M in /etc/systemd/journald.conf, und starten Sie den Dienst anschließend mit systemctl restart systemd-journald.
Häufig gestellte Fragen
Funktioniert Logwatch unter Debian 12 auch ohne die Datei „auth.log“?
Debian 12 installiert rsyslog standardmäßig nicht mehr und schreibt die Protokolle ausschließlich in das systemd-Protokoll. Logwatch liest hauptsächlich Dateien aus: Installieren Sie rsyslog mit dem Befehl „apt install rsyslog“, um die Datei „/var/log/auth.log“ und einen vollständigen Bericht wiederherzustellen, oder ergänzen Sie die Informationen mit „journalctl“.
Ich erhalte den Bericht nicht – warum?
Dies liegt fast immer daran, dass der Server keine E-Mails versenden kann: Es ist kein E-Mail-Programm konfiguriert, der ausgehende Port 25 ist gesperrt oder die Nachricht wurde als Spam eingestuft. Testen Sie den Versand mit dem Befehl „logwatch --output mail“ und überprüfen Sie die Postfix-Protokolle.
Ist es möglich, den Bericht über Discord statt per E-Mail zu erhalten?
Logwatch sendet die Daten nicht direkt an Discord, aber Sie können den Textbericht mit dem Befehl „--output stdout“ erstellen und ihn mithilfe von curl als Datei an einen Discord-Webhook senden. Für dringende Warnmeldungen eignet sich das Skript aus unserer Anleitung zur Überwachung besser.
Verbraucht Logwatch Ressourcen?
Sehr wenig: Es läuft nur einmal täglich für einige Sekunden, um die Protokolle des Vortags auszuwerten.










