Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Rsyslog es el paquete syslog por defecto que se suele encontrar en las distribuciones de Linux actuales.
Suele constar de un fichero de configuracin principal (normalmente /etc/rsyslog.conf) y un directorio (normalmente /etc/rsyslog.d/) donde se
pueden guardar de forma estructurada y separados por ficheros los diferentes filtros y plantillas para el procesamiento de reglas rsyslog.
En el siguiente apartado se explica como configurar rsyslog, de forma manual, para reenviar los eventos internos del sistema a un relay externo.
Recordar que para las principales distribuciones de Linux es posible realizar toda esta configuracin de forma automtica (ver referencia Instalaci
n de paquetes software)
Problemas comunes
No funciona el envo por SSL/TLS en Ubuntu 12 (consultar Instalacin software en Ubuntu, seccin "Errores comunes en Ubuntu 12.x")
Versin desactualizada de rsyslog en Debian 5 (Lenny) (consultar Instalacin software en Debian, seccin "Errores comunes en Debian
5.x")
Actualizar de syslog-ng a rsyslog en CentOS 5 (consultar Instalacin sofftware en CentOS, seccin "Errores comunes en CentOS 5.x")
No funciona el envo de logs por poltica SELinux, principalmente en Fedora y RHEL (consultar Configuracin de syslog & SELinux)
Configuracin
Para reenviar los logs internos de un sistema por TCP a logtrust crearemos los siguientes ficheros.
El fichero 00-logtrust.conf contiene opciones de configuracin a nivel general.
/etc/rsyslog.d/00-logtrust.conf
$ModLoad imfile
$ModLoad immark
$MarkMessagePeriod 60
$WorkDirectory /var/spool/rsyslog
$RepeatedMsgReduction off
#Disable imuxsock rate limit
$IMUXSockRateLimitInterval 0
$SystemLogRateLimitInterval 0
$WorkDirectory debe existir y el usuario con que se ejecuta rsyslog debe tener permisos sobre el mismo. En algunas distribuciones no viene
creado este directorio, en otras si lo esta y en otras aparece en otro PATH (p.e /var/log/rsyslog).
Para saber con que usuario se ejecuta rsyslog:
Usuario rsyslog
ps -ouser= $(pgrep rsyslogd)
Si es distinto de root (en algunas distribuciones por defecto se ejecuta como root y en otras se hace un drop de privilegios al usuario syslog) se
recomienda realizar:
Permisos /var/spool/rsyslog
mkdir /var/spool/rsyslog
chown syslog:syslog /var/spool/rsyslog
chmod 770 /var/spool/rsyslog
/etc/rsyslog.d/49-logtrust.conf
$template boxunix,"<%PRI%>%timegenerated% %HOSTNAME% box.unix.%syslogtag%%msg%"
#ActionQueue section
$ActionQueueType
$ActionQueueFileName
$ActionResumeRetryCount
$ActionQueueSaveOnShutdown
*.*
LinkedList
ltboxq1
-1
on
@@LOGTRUST-RELAY:PORT;boxunix
Aqu se le indica a rsyslog que todos los eventos que lleguen al sistema va syslog (y que no hayan sido eliminados por una regla anterior) se
reenven al host/ip:puerto especificado en LOGTRUST-RELAY:PORT
La seccin ActionQueue es opcional y se utiliza para evitar perder eventos cuando se produce algn problema de conectividad con el relay.
Los ficheros de /etc/rsyslog.d/ se procesan en orden, si tenemos otros ficheros de configuracin suele ser conveniente que se procesen antes y
dejar este fichero de los ltimos de la cadena. Principalmente debido al uso de wildcards *.* para evitar posibles logs duplicados.
1
1
1
1
1
1
1
1
root
root
root
root
root
root
root
root
Para comprobar si se estn reenviando los eventos podemos usar el comando logger:
Test de envo
$
$
$
$
$
logger
logger
logger
logger
logger
"Hello
"Hello
"Hello
"Hello
"Hello
from
from
from
from
from
an
an
an
an
an
unsecure
unsecure
unsecure
unsecure
unsecure
log
log
log
log
log
source1"
source2"
source3"
source4"
source5"
Se puede comprobar si los logs se han enviado de forma correcta consultado la tabla box.unix en la parte de consultas dentro de la aplicacin
web.
Si queremos monitorizar ficheros de log de aplicaciones que residen en el sistema pero que no reportan va syslog consultar la referencia Monitor
izacin de ficheros va rsyslog
Si queremos configurar rsyslog para utilizar un canal cifrado y autenticado consultar la referencia Envo seguro va rsyslog
Si nuestro sistema tiene SELinux habilitado en modo enforcing (ejecutar comando getenforce para comprobar el estado) es probable que
tengamos que habilitar excepciones en la poltica de SELinux consultar la referencia Configuracin de syslog & SELinux
Referencias
Instalacin de paquetes software
Monitorizacin de ficheros va rsyslog
Envo seguro va rsyslog
Configuracin de syslog & SELinux