Guida a Logcheck
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 |
# emerge -C logsentry
# 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);
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
# 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.
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
|
Inoltre bisogna specificare a logcheck quali file di log analizzare
(/etc/logcheck/logcheck.logfiles).
Codice 1.6: Configurazione basilare di /etc/logcheck/logcheck.logfiles |
/var/log/messages
|
Infine, abilitare il processo cron di logcheck.
Codice 1.7: Abilitare il processo cron di logcheck |
# 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
|
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|