Cómo configurar el servidor Rsyslog en Debian 11

Rsyslog es un software de registro gratuito y de código abierto que envía todos los archivos de registro al servidor de registro centralizado a través de la red IP. Ayuda a los administradores de sistemas a vigilar todos los servidores desde el punto central. Rsyslog funciona en un modelo cliente/servidor, recibe registros del cliente remoto en el puerto 514 a través del protocolo TCP/UDP.

En esta publicación, le mostraremos cómo configurar el servidor Rsyslog en Debian 11.

requisitos previos

  • Dos servidores que ejecutan Debian 11.
  • Una contrase√Īa de root est√° configurada en el servidor.

Instalar Rsyslog

Primero, deber√° instalar el paquete del servidor Rsyslog en la m√°quina del servidor. Puedes instalarlo usando el siguiente comando:

apt-get install rsyslog -y

Después de la instalación, verifique el estado de Rsyslog usando el siguiente comando:

systemctl status rsyslog

Debería ver el siguiente resultado:

? rsyslog.service - System Logging Service
     Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-10-03 13:35:32 UTC; 1h 44min ago
TriggeredBy: ? syslog.socket
       Docs: man:rsyslogd(8)
             man:rsyslog.conf(5)
             https://www.rsyslog.com/doc/
   Main PID: 283 (rsyslogd)
      Tasks: 4 (limit: 2341)
     Memory: 5.0M
        CPU: 90ms
     CGroup: /system.slice/rsyslog.service
             ??283 /usr/sbin/rsyslogd -n -iNONE

Oct 03 13:35:32 debian11 systemd[1]: Starting System Logging Service...
Oct 03 13:35:32 debian11 rsyslogd[283]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.  [v8.2102.0]
Oct 03 13:35:32 debian11 rsyslogd[283]: [origin software="rsyslogd" swVersion="8.2102.0" x-pid="283" x-info="https://www.rsyslog.com"] start
Oct 03 13:35:32 debian11 systemd[1]: Started System Logging Service.
Oct 03 13:35:34 debian11 systemd[1]: rsyslog.service: Sent signal SIGHUP to main process 283 (rsyslogd) on client request.
Oct 03 13:45:33 debian11 rsyslogd[283]: [origin software="rsyslogd" swVersion="8.2102.0" x-pid="283" x-info="https://www.rsyslog.com"] rsyslog>

Configurar Rsyslog

A continuación, deberá configurar Rsyslog para que se ejecute en modo servidor. Puede hacerlo editando el archivo de configuración principal de Rsyslog:

nano /etc/rsyslog.conf

Descomenta las siguientes líneas:

# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")

# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")

A continuación, agregue las siguientes líneas para definir la plantilla para almacenar el registro entrante de los sistemas cliente:

$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs

Guarde y cierre el archivo, luego reinicie el servicio Rsyslog para aplicar los cambios:

systemctl restart rsyslog

En este punto, Rsyslog se inicia y escucha en el puerto 514. Puede verificarlo con el siguiente comando:

ss -tunlp | grep 514

Debería ver el siguiente resultado:

udp   UNCONN 0      0                              0.0.0.0:514       0.0.0.0:*    users:(("rsyslogd",pid=26276,fd=6))                                                                                                                                                                                                                                                                             
udp   UNCONN 0      0                                 [::]:514          [::]:*    users:(("rsyslogd",pid=26276,fd=7))                                                                                                                                                                                                                                                                             
tcp   LISTEN 0      25                             0.0.0.0:514       0.0.0.0:*    users:(("rsyslogd",pid=26276,fd=8))                                                                                                                                                                                                                                                                             
tcp   LISTEN 0      25                                [::]:514          [::]:*    users:(("rsyslogd",pid=26276,fd=9))                                                                                                                                                                                                                                                                             

Configurar cortafuegos para Rsyslog

A continuación, deberá permitir el puerto 514 a través del firewall UFW. Puedes permitirlo con el siguiente comando:

ufw allow 514/tcp
ufw allow 514/udp

A continuación, vuelva a cargar el cortafuegos para aplicar los cambios:

ufw reload

Configurar cliente Rsyslog

A continuación, deberá configurar el cliente Rsyslog para enviar los archivos de registro al servidor Rsyslog. Puede hacerlo editando el archivo de configuración principal de Rsyslog.

nano /etc/rsyslog.conf

Agregue las siguientes líneas al final del archivo:

#Enable sending system logs over UDP to rsyslog server
*.* @rsyslog-server-ip:514

#Enable sending system logs over TCP to rsyslog server
*.* @@rsyslog-server-ip:514

Además, agregue las siguientes líneas para configurar la cola del disco cuando el servidor rsyslog esté inactivo:

$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

Guarde y cierre el archivo, luego reinicie el servicio Rsyslog para aplicar los cambios:

systemctl restart rsyslog

Verificar el archivo de registro del cliente

Todos los archivos de registro del cliente se almacenan en el directorio /var/log en la m√°quina del servidor.

Puedes comprobarlo con el siguiente comando:

ls -l /var/log/

Debería ver el archivo de registro del cliente que corresponde al nombre de host del sistema cliente:

alternatives.log    auth.log.2.gz  daemon.log	    debian11	dpkg.log    kern.log.1	   messages.1	  private      syslog.3.gz
clientpc            auth.log.3.gz  daemon.log.1     debug	dpkg.log.1  kern.log.2.gz  messages.2.gz  runit        syslog.4.gz
apt		    btmp	   daemon.log.3.gz  debug.2.gz	icinga2     kern.log.4.gz  messages.4.gz  syslog
auth.log.1	    csm.log	   dbconfig-common  debug.4.gz	kern.log    messages	   ntpstats	  syslog.2.gz

Como puedes ver, pccliente es el directorio de registro del sistema del cliente.

Conclusión

En la guía anterior, explicamos cómo configurar el servidor y el cliente Rsyslog en Debian 11. Ahora puede monitorear sus clientes desde la ubicación central. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *