Logcheck Leitfaden
1.
Erste Schritte mit logcheck
Hintergrund
logcheck ist eine aktualisierte Version von logsentry (aus dem
sentrytools Paket), und wird benutzt, um System-Logdateien zu
analysieren. Zusätzlich beinhaltet logcheck eine Datenbank, die mit
häufigen und nicht sehr interessanten Log-Nachrichten befüllt ist, um unwichtige
Meldungen zu filtern. Generell stuft das Programm alle Meldungen als wichtig
ein, mit Ausnahme deren, die expliziet als unwichtig markiert werden.
logcheck benachrichtigt Sie regelmäßig per Email über wichtige Meldungen.
logcheck installieren
Wichtig:
Es wird dringend empfohlen, logsentry zu entfernen, falls Sie es auf Ihrem
System installiert haben. Zusätzlich sollten Sie /etc/logcheck entfernen, um
Probleme mit Benutzerrechten und Datei-Kollisionen zu vermeiden.
|
Befehlsauflistung 1.1: logsentry entfernen |
# emerge -C logsentry
# rm -rf /etc/logcheck
|
Nun können Sie mit der Installation von logcheck fortfahren.
Befehlsauflistung 1.2: logcheck installieren |
# emerge -av app-admin/logcheck
|
Basis-Konfiguration
logcheck erstellt einen eigenen Benutzer "logcheck", um nicht als root
ausgeführt werden zu müssen. Es verhindert sogar die Ausführung als root. Damit
es die Logdateien analysieren kann, müssen die Dateien von logcheck lesbar
sein. Hier ist ein Beispiel für den syslog-ng:
Befehlsauflistung 1.3: /etc/syslog-ng/syslog-ng.conf Auszug |
options {
owner(root);
group(logcheck);
perm(0640);
};
|
Laden Sie die Konfiguration neu und stellen Sie sicher, dass die Änderungen
ordnungsgemäß funktionieren.
Befehlsauflistung 1.4: syslog-ng Konfiguration neu laden |
# /etc/init.d/syslog-ng reload
# ls -l /var/log/messages
-rw-r----- 1 root logcheck 1694438 Feb 12 12:18 /var/log/messages
|
Sie sollten nun ein paar grundlegende logcheck Einstellungen in
/etc/logcheck/logcheck.conf vornehmen.
Befehlsauflistung 1.5: Basiseinstellungen /etc/logcheck/logcheck.conf |
# Controls the level of filtering:
# Can be Set to "workstation", "server" or "paranoid" for different
# levels of filtering. Defaults to server if not set.
REPORTLEVEL="server"
# Controls the address mail goes to:
# *NOTE* the script does not set a default value for this variable!
# Should be set to an offsite "emailaddress@some.domain.tld"
SENDMAILTO="root"
# Controls if syslog-summary is run over each section.
# Alternatively, set to "1" to enable extra summary.
# HINT: syslog-summary needs to be installed.
SYSLOGSUMMARY=0
|
Außerdem müssen Sie logcheck mitteilen, welche Logdateien analysiert
werden sollen (/etc/logcheck/logcheck.logfiles).
Befehlsauflistung 1.6: Basiseinstellungen /etc/logcheck/logcheck.logfiles |
/var/log/messages
|
Abschließend aktivieren Sie den logcheck Cronjob.
Befehlsauflistung 1.7: logcheck Cron Job aktivieren |
# nano -w /etc/cron.hourly/logcheck.cron
|
Notiz:
Für mehr Informationen zu Cron lesen Sie den
Cron-Leitfaden.
|
Herzlichen Glückwunsch! Sie bekommen nun regelmäßig wichtige Log-Meldungen per
E-Mail. Ein Beispiel der Nachricht sieht wie folgt aus:
Befehlsauflistung 1.8: Beispiel logcheck-Meldung |
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
|
2.
Problemlösungen
Generelle Tipps
Sie können die logcheck-Option -d benutzen, um genauere Meldungen zur
Fehlersuche zu erhalten. Ein Beispiel:
Befehlsauflistung 2.1: Ausführliche logcheck-Meldungen zur Fehlersuche |
# 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
|
Die Inhalte dieses Dokuments sind, sofern nicht explizit
anders genannt, unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert. Die Gentoo Name and Logo
Usage Guidelines treffen zu.
|