Logcheck
logcheck ist ein Werkzeug zum Analysieren der Systemprotokolle.
Mit logcheck anfangen
Hintergrund
app-admin/logcheck ist eine aktualisierte Version von app-admin/logsentry, das ein Werkzeug zur Analyse von System-Logdateien ist. Zusätzlich kommt logcheck mit einer eingebauten Datenbank mit gewöhnlichen, nicht interessanten Log-Meldungen daher um das Rauschen herauszufiltern. Die grundsätzliche Idee dieses Tools ist, dass alle Meldungen interessant sind ausgenommen jene, die explizit als Rauschen markiert sind. Logcheck schickt Ihnen in periodischen Abständen eine E-Mail mit einer Zusammenstellung interessanter Meldungen.
logcheck installieren
Es wird sehr empfohlen logsentry zu entfernen, falls Sie es auf Ihrem System installiert haben. Zusätzlich sollten Sie /etc/logcheck entfernen um Zugriffs- und Dateikollisionsprobleme zu vermeiden.
root #
emerge -c logsentry
root #
rm -rf /etc/logcheck
Nun können Sie mit der Installation von logcheck fortfahren.
root #
emerge --ask app-admin/logcheck
Grund-Konfiguration
app-admin/logcheck erzeugt einen eigenen User "logcheck" um zu verhindern, dass es als Root läuft. In der Tat wird es den Betrieb als Root verweigern. Um Ihm zu gestatten die Logdateien zu analysieren, müssen Sie sicherstellen, dass sie durch logcheck lesbar sind. Hier ist ein Beispiel für app-admin/syslog-ng:
options {
owner(root);
## (Machen Sie die Logdateien für logcheck gruppenlesbar)
group(logcheck);
perm(0640);
};
Laden Sie die Konfiguration erneut und stellen Sie sicher, dass die Änderungen wie erwartet funktionieren.
root #
/etc/init.d/syslog-ng reload
root #
ls -l /var/log/messages
-rw-r----- 1 root logcheck 1694438 Feb 12 12:18 /var/log/messages
Sie sollten nun einige grundlegenden logcheck Einstellungen in /etc/logcheck/logcheck.conf anpassen.
# Kontrolliert die Stufe der Filterung:
# Kann auf "workstation", "server" oder "paranoid" für
# unterschiedliche Stufen der Filterung gesetzt werden.
# Der Standardwert ist server, wenn nichts eingestellt ist.
## (Die Stufe workstation beinhaltet server und server beinhaltet
## paranoid. Die Stufe paranoid filtert fast keine Meldungen.)
REPORTLEVEL="server"
# Kontrolliert die Adresse an die die Mail geschickt wird:
# *HINWEIS* Das Skript setzt keinen Standard-Wert für dies Variable!
# Sollte auf eine externe Adresse gesetzt sein "emailadresse@some.domain.tld"
## (Stellen Sie sicher, dass Sie die logcheck E-Mails empfangen
## können. Ein Test wird sehr empfohlen.)
SENDMAILTO="root"
# Steuert ob syslog-summary über jeden Abschnitt lauft.
# Alternativ stellen Sie es auf "1" um eine extra Zusammenfassung zu
# ermöglichen. TIPP: syslog-summary muss installiert sein.
## (Wenn Sie viele ähnliche Meldungen in den Logdateien bekommen,
## möchten Sie vielleicht app-admin/syslog-summary installieren und
## diese Einstellung aktivieren.)
SYSLOGSUMMARY=0
Sie müssen logcheck auch sagen, welche Logdateien es scannen soll (/etc/logcheck/logcheck.logfiles).
## (Dies ist ein Beispiel für syslog-ng.)
/var/log/messages
Enable periodical log check
Abschliessend aktivieren Sie den logcheck Cron-Job.
Cron users
If logcheck is emerged with the cron USE flag enabled, it can read /etc/cron.hourly/logcheck.cron
#!/bin/sh
#
# To enable sync via cron, execute "sudo -u logcheck touch /etc/logcheck/cron-logcheck-enabled"
if [[ ! -f /etc/logcheck/cron-logcheck-enabled ]]; then
exit
fi
if [ ! -d /var/lock/logcheck ]; then
mkdir -p /var/lock/logcheck
chown logcheck:logcheck /var/lock/logcheck
fi
sudo -u logcheck nice -n10 /usr/sbin/logcheck
To enable an hourly cron job, run:
root #
sudo -u logcheck touch /etc/logcheck/cron-logcheck-enabled
Für weitere Informationen zu Cron lesen Sie die Cron Anleitung.
Systemd users
If logcheck is emerged with systemd USE flag enabled, a logcheck.timer can be activated running:
root #
systemctl enable --now logcheck.timer
Gratulation! Nun werden Sie regelmässig wichtige Log-Meldungen per E-Mail bekommen. Eine Beispiel-Mitteilung sieht wie folgt aus:
System Events
=-=-=-=-=-=-=
Feb 10 17:13:53 localhost kernel: [30233.238342] conftest[25838]: segfault at 40 ip 40061403 sp bfc443c4 error 4
in libc-2.10.1.so[4003e000+142000]
Feb 11 12:31:21 localhost postfix/pickup[18704]: fatal: could not find any active network interfaces
Feb 11 12:31:22 localhost postfix/master[3776]: warning: process //usr/lib/postfix/pickup pid 18704 exit status 1
Feb 11 12:31:22 localhost postfix/master[3776]: warning: //usr/lib/postfix/pickup: bad command startup -- throttling
Fehlersuche
Grundsätzliche Tipps
Sie können den logcheck Schalter -d
verwenden um mehr Debugging-Informationen anzeigen zu lassen. Ein Beispiel:
root #
su -s /bin/bash -c '/usr/sbin/logcheck -d' logcheck
D: [1281318818] Turning debug mode on D: [1281318818] Sourcing - /etc/logcheck/logcheck.conf D: [1281318818] Finished getopts c:dhH:l:L:m:opr:RsS:tTuvw D: [1281318818] Trying to get lockfile: /var/lock/logcheck/logcheck.lock D: [1281318818] Running lockfile-touch /var/lock/logcheck/logcheck.lock D: [1281318818] cleanrules: /etc/logcheck/cracking.d/kernel ... D: [1281318818] cleanrules: /etc/logcheck/violations.d/su D: [1281318818] cleanrules: /etc/logcheck/violations.d/sudo ... D: [1281318825] logoutput called with file: /var/log/messages D: [1281318825] Running /usr/sbin/logtail2 on /var/log/messages D: [1281318825] Sorting logs D: [1281318825] Setting the Intro D: [1281318825] Checking for security alerts D: [1281318825] greplogoutput: kernel ... D: [1281318825] greplogoutput: returning 1 D: [1281318825] Checking for security events ... D: [1281318825] greplogoutput: su D: [1281318825] greplogoutput: Entries in checked D: [1281318825] cleanchecked - file: /tmp/logcheck.uIFLqU/violations-ignore/logcheck-su D: [1281318825] report: cat'ing - Security Events for su ... D: [1281318835] report: cat'ing - System Events D: [1281318835] Setting the footer text D: [1281318835] Sending report: 'localhost 2010-08-09 03:53 Security Events' to root D: [1281318835] cleanup: Killing lockfile-touch - 17979 D: [1281318835] cleanup: Removing lockfile: /var/lock/logcheck/logcheck.lock D: [1281318835] cleanup: Removing - /tmp/logcheck.uIFLqU
This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: phajdan.jr, nightmorph
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.