Logcheck

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Logcheck and the translation is 39% complete.
Outdated translations are marked like this.

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

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.
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:

ARCHIVO /etc/syslog-ng/syslog-ng.conf/etc/syslog-ng/syslog-ng.conf snippet
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.

ARCHIVO /etc/logcheck/logcheck.confBasic /etc/logcheck/logcheck.conf setup
# 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).

ARCHIVO /etc/logcheck/logcheck.logfilesConfiguración básica de /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

ARCHIVO /etc/cron.hourly/logcheck.cronBasic /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
Nota
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:

CÓDIGO Example logcheck message
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.