Gentoo Logo

Guida a Logcheck

Indice:

1.  Primi passi con logcheck

Contesto

logcheck è una versione aggiornata di logsentry (dal pacchetto sentrytools), uno strumento per analizzare i log di sistema. In aggiunta, logcheck è corredato con un database interno di messaggi di log standard e solitamente non interessanti per filtrare le informazioni inutili. L'idea generale dello strumento è che tutti i messaggi sono interessanti, tranne quelli esplicitamente marcati come "rumore". logcheck invia periodicamente una e-mail con il sommario di tutti i messaggi di rilievo.

Installare logcheck

Importante: È fortemente raccomandato rimuovere logsentry se installato sul proprio sistema. Inoltre è preferibile rimuovere /etc/logcheck per evitare problemi di permessi e collisioni tra file.

Codice 1.1: Rimuovere logsentry

(Disinstallare il pacchetto logsentry)
# emerge -C logsentry
(Rimuovere i file rimasti)
# rm -rf /etc/logcheck

Ora è possibile procedere con l'installazione di logcheck.

Codice 1.2: Installare logcheck

# emerge -av app-admin/logcheck

Configurazione di base

logcheck crea un utente a parte denominato "logcheck" per evitare di essere eseguito come root. In effetti esso si rifiuterà di essere eseguito come utente root. Per permettergli di analizzare i log, bisogna assicurarsi che essi siano leggibili da logcheck. Ecco un esempio per syslog-ng:

Codice 1.3: stralcio di /etc/syslog-ng/syslog-ng.conf

options {
        owner(root);

        (Rendere i file di log leggibili dal gruppo logcheck)
        group(logcheck);
        perm(0640);
};

Ora ricaricare la configurazione ed assicurarsi che le modifiche funzionino come previsto.

Codice 1.4: Ricaricare la configurazione di syslog-ng

# /etc/init.d/syslog-ng reload
(Assicurarsi che /var/log/messages abbia i permessi corretti)
# ls -l /var/log/messages
-rw-r----- 1 root logcheck 1694438 Feb 12 12:18 /var/log/messages

Ora sistemare alcune impostazioni basilari di logcheck in /etc/logcheck/logcheck.conf.

Codice 1.5: Configurazione basilare di /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.
(Il livello include server, e server include paranoid.
Il livello paranoid non filtra praticamente nessun messaggio)
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"
(Assicurarsi di ricevere le e-mail di logcheck. Una verifica è 
fortemente consigliata)
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.
(Se si ricevono un sacco di messaggi simili tra loro nei log, si 
potrebbe voler installare app-admin/syslog-summary e abilitare questa impostazione)
SYSLOGSUMMARY=0

Inoltre bisogna specificare a logcheck quali file di log analizzare (/etc/logcheck/logcheck.logfiles).

Codice 1.6: Configurazione basilare di /etc/logcheck/logcheck.logfiles

(Questo è un esempio per syslog-ng)
/var/log/messages

Infine, abilitare il processo cron di logcheck.

Codice 1.7: Abilitare il processo cron di logcheck

(Modifcare il file di cron e seguire le istruzioni all'interno)
# nano -w /etc/cron.hourly/logcheck.cron

Nota: Per ulteriori informazioni su cron leggere la Guida a Cron.

Congratulazioni! Ora si riceveranno regolarmente i messaggi di log importante tramite email. Un esempio di messaggio potrebbe essere questo:

Codice 1.8: Messaggio d'esempio di logcheck

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.  Risoluzione dei problemi

Consigli generali

È possibile usare il parametro -d di logcheck per visualizzare ulteriori informazioni di debug. Esempio:

Codice 2.1: Effettuare il debug di logcheck

# 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


Stampa

Aggiornato il 12 ottobre 2010

La versione originale di questo documento non è più mantenuta

Oggetto: Questa guida mostra come analizzare i log di sistema con logcheck.

Paweł Hajdan
Autore

Joshua Saddler
Redazione

Davide Cendron
Traduzione

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.