Guía de Logcheck
1.
Comenzando con logcheck
Cuestiones básicas
logcheck es una versión actualizada de logsentry (del paquete
sentrytools), que es una herramienta para analizar los registros del
sistema. Además logcheck viene con una base de datos de mensajes de
registro comunes y sin interés para filtrar el ruido. La idea general de la
herramienta es que todos los mensajes son interesantes excepto aquellos
marcados explícitamente como ruido. logcheck envía periodicamente un
correo electrónico con un resumen de los mensajes interesantes.
Instalando logcheck
Importante:
Es muy recomendable eliminar logsentry si lo tiene instalado en su
sistema. Además, deberá eliminar /etc/logcheck para evitar problemas de
permisos y colisiones de ficheros.
|
Listado de Código 1.1: Eliminado logsentry |
# emerge -C logsentry
# rm -rf /etc/logcheck
|
Ahora puede proceder con la instalación de logcheck.
Listado de Código 1.2: Instalando logcheck |
# emerge -av app-admin/logcheck
|
Configuración básica
logcheck crea un usuario propio llamado "logcheck" para evitar ser
ejecutado con root. De hecho, logcheck no permitirá ser ejecutado como
root. Para permitirle el análisis de los registros, necesitará asegurarse
de que éstos son legibles por logcheck. A continuación se muestra un
ejemplo para syslog-ng:
Listado de Código 1.3: Parte del fichero /etc/syslog-ng/syslog-ng.conf |
options {
owner(root);
group(logcheck);
perm(0640);
};
|
Ahora se recarga la configuración y nos aseguramos de que los cambios
funcionan como se espera.
Listado de Código 1.4: Recargar la configuración de 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
|
Deberá ahora ajustar algunas configuraciones básicas de logcheck en
/etc/logcheck/logcheck.conf.
Listado de Código 1.5: Configuración básica de /etc/logcheck/logcheck.conf |
# Control del nivel de filtrado:
# Puede ajustarse a "workstation", "server" o "paranoid" para
# diferentes niveles de filtrado. Por defecto no está ajustado.
REPORTLEVEL="server"
# Controla la dirección de correo electrónico a la cual el mensaje va:
# *NOTA* ¡El guión no da ningún valor por defecto a esta variable!
# Debe ser ajustada a una cuenta de correo externa a la máquina:
# "direcciondecorreo@algun.dominio.tld"
SENDMAILTO="root"
# Controla si se ejecuta un resumen del registro del sistema en cada sección.
# Alternativamente, ajústelo a "1" para activar resúmenes extra.
# CONSEJO: Se necesita instalar syslog-summary.
SYSLOGSUMMARY=0
|
Debe indicarle igualmente a logcheck los ficheros de registro que
debe escanear (/etc/logcheck/logcheck.logfiles).
Listado de Código 1.6: Configuración básica de /etc/logcheck/logcheck.logfiles |
/var/log/messages
|
Finalmente, active el trabajo cron para logcheck
Listado de Código 1.7: Activar el trabajo cron para logcheck |
# nano -w /etc/cron.hourly/logcheck.cron
|
Nota:
Para más información sobre cron, lea la Guía Gentoo Linux de Cron.
|
¡Enhorabuena!. Ahora recibirá regularmente mensajes importantes del
registro del sistema por correo electrónico. Un ejemplo de mensaje
tendrá un aspecto similar a éste:
Listado de Código 1.8: Mensaje ejemplo de 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.
Resolución de problemas
Consejos generales
Puede usar la opción -d de logcheck para mostrar más información
de depuración. Por ejemplo:
Listado de Código 2.1: Depurando 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
|
El contenido de este documento, a no ser que se especifique
expresamente, está registrado bajo los términos de la licencia
CC-BY-SA-2.5. Se aplican las
Pautas de
Utilización del logotipo y nombre de Gentoo.
|