Cómo reenviar los logs generado en un equipo con Linux a un servidor de syslog. Indicamos el procedimiento para distribuciones Debian, Ubuntu, Red Hat, Rocky, Oracle, CentOS, etc.

Requisitos para enviar los logs de Linux a un servidor de syslog

Necesitaremos disponer de un servidor de syslog, que será el que reciba los log enviados desde el equipo Linux. Dicho servidor tendrá una IP de recepción de log, un puerto (habitualmente 514) y un protocolo (habitualmente UDP).

Podremos usar multitud de servidores syslog (rsyslog, syslog-ng, NXlog, Fluentd, Fortianalyzer), incluso los sistemas SIEM suelen tener esta capacidad: Splunk, QRadar, LogRhythm, Wazuh, Graylog y también sistemas de monitorización: PRTG, Pandora FMS, nagios.

Debe existir conectividad de red entre el equipo Linux y el servidor de syslog.

Y necesitaremos acceso a la consola del equipo Linux con un usuario con privilegios de instalación de software.

Configurar equipo Linux para envío de logs a servidor de syslog

En el caso de equipos Linux, tendremos varias herramientas de envío de log a syslog disponibles, la más habitual es rsyslog.

Instalar rsyslog en distribuciones Linux Debian, Ubuntu y similares

Para distribuciones Ubuntu Server 24, esta herramienta suele venir instalada. Ejecutando el siguiente comando para instalarla:

Nos devolverá los mensajes pertinentes indicando que ya está instalada en el sistema:

En equipos de virtualización Proxmox, que incluyen como distribución Linux Debian, tendremos que instalarla, con el mismo comando:

Una vez instalada la herramienta rsyslog (o cualquier otro cliente de syslog) de envío de log a servidor syslog , revisaremos que esté iniciado el servicio, con:

Nos devolverá:

Active: active (running)

Configurar equipo Linux para envío de logs a servidor de syslog

Configuraremos el cliente de syslog para que envíe los datos al servidor de syslog. Para ello, crearemos un fichero en /etc/rsyslog.d/, con el nombre 90-fortianalyzer.conf:

Añadiremos la línea par envío UDP:

*.* @192.168.1.150:514

O esta otra línea para envío TCP:

*.* @@192.168.1.150:514

Donde:

  • 192.168.1.150: será la IP de nuestro equipo servidor de syslog.
  • 514: será el puerto de recepción de log configurado en el servidor de syslog.

Guardaremos los cambios en el fichero pulsando Control + O y cerraremos la edición pulsando Control + X.

Configurar equipo Linux para envío de logs a servidor de syslog

Para que se apliquen los cambios y el cliente empiece a enviar los eventos y logs del equipo Linux, reiniciaremos el servicio syslog, con el comando:

También se podría usar el fichero de configuración de rsyslog para configurar en él el servidor de syslog de destino:

/etc/rsyslog.conf

Editándolo con:

y añadiendo, al final, una de estas dos líneas (primera línea para envío UDP o segunda línea para para envío TCP):

En este fichero se pueden configurar otras opciones y personalizaciones de rsyslog. El contenido por defecto del fichero /etc/rsyslog.conf de configuración de rsyslog en un equipo Linux Ubuntu Server 24 es:

Instalar rsyslog en distribuciones Linux Red Hat, Rocky, Oracle Linux, CentOS

Para distribuciones Linux Red Hat, Rocky, Oracle Linux, CentOS y similares, instalaremos la herramienta rsyslog con el comando:

El resto de pasos serán iguales a los explicados en el caso de distribuciones Debian, Ubuntu y similares.

Configurar servidor de syslog para recepción de log del equipo Linux

Accederemos a la gestión del servidor de syslog (rsyslog, syslog-ng, NXlog, Fluentd, Fortianalyzer), incluso los sistemas SIEM suelen tener esta capacidad: Splunk, QRadar, LogRhythm, Wazuh, Graylog y también sistemas de monitorización: Pandora FMS, PTRG, nagios.

En este estudio de caso, usaremos Fortianalyzer como servidor de Syslog, por lo que accederemos a su consola GUI de gestión web y tendremos que autorizar el dispositivo:

Si la configuración es correcta, el servidor syslog comenzará a recolectar los logs enviados por el equipo Linux: