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.