Logcheck
Esta guía muestra cómo analizar los registros del sistema con logcheck.
Comenzar con logcheck
Preliminares
app-admin/logcheck es una versión actualizada de app-admin/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 periódicamente un mensaje de correo electrónico con un resumen de los mensajes interesantes.
Instalar logcheck
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.
root #
emerge -c logsentry
root #
rm -rf /etc/logcheck
Ahora puede proceder con la instalación de logcheck.
root #
emerge --ask app-admin/logcheck
Configuración básica
app-admin/logcheck crea un usuario propio llamado "logcheck" para evitar que se lance como root. De hecho, no se permitirá la ejecución de logcheck como root. Para permitirle el análisis de los registros, necesitará asegurarse de que logcheck pueda leerlos. A continuación se muestra un ejemplo para app-admin/syslog-ng:
options {
owner(root);
## (Hacer que el grupo logcheck pueda leer los ficheros de registro)
group(logcheck);
perm(0640);
};
Ahora recargue la configuración y asegúrese de que los cambios funcionan como se espera.
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
Ahora debería ajustar algunas configuraciones básicas de logcheck en /etc/logcheck/logcheck.conf.
# Controla el nivel de filtrado:
# Puede definirse como "workstation", "server" o "paranoid" para diferentes
# niveles de filtrado. Si no se define se toma "server" por defecto.
## (El nivel "workstation" incluye el nivel "server" y el nivel "server" incluye el nivel "paranoid". El nivel "paranoid" no filtra apenas los mensajes)
REPORTLEVEL="server"
# Controla la dirección de correo de envíos:
# *NOTA* ¡El guión no asigna un valor por defecto a esta variable!
# Se debería enviar a una cuenta fuera del sitio "direccion@algun.dominio.tld"
## (Asegúrese de que recibe los mensajes de correo electrónico de logcheck. Se recomienda realizar pruebas)
SENDMAILTO="root"
# Controla si se lanza syslog-summary en cada sección.
# Use "1" de forma alternativa para habilitar información extra de resumen.
# CONSEJO: necesitará instalar syslog-summary.
## (Si obtiene un montón de mensajes similares en el registro puede que quiera instalar app-admin/syslog-summary y habilitar este ajuste)
SYSLOGSUMMARY=0
También tiene que indicarle a logcheck qué fichero sde registro debe escanear (/etc/logcheck/logcheck.logfiles).
## (Esto es un ejemplo para syslog-ng)
/var/log/messages
Enable periodical log check
Por último, habilite el trabajo cron de logcheck.
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
Para más información sobre cron lea guía de Cron.
Systemd users
If logcheck is emerged with systemd USE flag enabled, a logcheck.timer can be activated running:
root #
systemctl enable --now logcheck.timer
¡Enhorabuena! Ahora podrá obtener información regular sobre mensajes enviados al registro a través de su dirección de correo electrónico. Un ejemplo tiene este aspecto:
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
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:
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.