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.
- Configurar equipo Linux para envío de logs a servidor de syslog.
- Configurar servidor de syslog para recepción de log del equipo Linux.
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:
|
1 |
sudo apt install rsyslog |
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:
|
1 |
sudo apt install rsyslog |

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:
|
1 |
systemctl status rsyslog |
Nos devolverá:
Active: active (running)

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:
|
1 |
sudo nano /etc/rsyslog.d/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.

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:
|
1 |
systemctl restart rsyslog |
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:
|
1 |
nano /etc/rsyslog.conf |
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):
|
1 2 3 |
*.* @192.168.1.150:514 # Para UDP *.* @@192.168.1.150:514 # Para 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:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# /etc/rsyslog.conf configuration file for rsyslog # # For more information install rsyslog-doc and see # /usr/share/doc/rsyslog-doc/html/configuration/index.html # # Default logging rules can be found in /etc/rsyslog.d/50-default.conf ################# #### MODULES #### ################# module(load="imuxsock") # provides support for local system logging #module(load="immark") # provides --MARK-- message capability # provides UDP syslog reception #module(load="imudp") #input(type="imudp" port="514") # provides TCP syslog reception #module(load="imtcp") #input(type="imtcp" port="514") # provides kernel logging support and enable non-kernel klog messages module(load="imklog" permitnonkernelfacility="on") ########################### #### GLOBAL DIRECTIVES #### ########################### # Filter duplicated messages $RepeatedMsgReduction on # # Set the default permissions for all log files. # $FileOwner syslog $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 $PrivDropToUser syslog $PrivDropToGroup syslog # # Where to place spool and state files # $WorkDirectory /var/spool/rsyslog # # Include all config files in /etc/rsyslog.d/ # |
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:
|
1 |
dnf install rsyslog |

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:
