Los archivos de registro son los archivos que guardan información sobre las actividades del sistema, como intentos de autorización y acceso, intentos de inicio y apagado, inicio y cierre del servicio, etc. Hay diferentes archivos de registro para diferentes tipos de actividades. Los archivos de registro facilitan la resolución de problemas y la supervisión de las actividades del sistema. Rsyslog es un programa de código abierto para el sistema operativo Linux que se puede configurar como servidor de registro y como cliente.
En la guía de hoy, configuraremos el servidor Rsyslog en el sistema operativo Ubuntu. Usaremos dos máquinas Ubuntu. En una máquina Ubuntu, configuraremos Rsyslog como servidor de registro y en la otra máquina; configuraremos Rsyslog como un cliente que enviará registros al servidor Rsyslog.
Configuración del servidor Rsyslog en Ubuntu
Configuraremos Rsyslog en una de nuestras máquinas Ubuntu que queremos usar como servidor de registro. Rsyslog viene preinstalado en el servidor Ubuntu. Sin embargo, en caso de que falte por algún motivo, puede instalarlo ejecutando este comando:
$ sudo apt install rsyslog
Durante la instalación, le indicará y/n opción para continuar con la instalación de Rsyslog. Presiona y y luego Enter para proceder.
Para verificar la instalación de Rsyslog y ver el estado de su servicio, ejecute el siguiente comando:
$ sudo systemctl status rsyslog
Si el servicio está en funcionamiento, verá el resultado como se muestra en la siguiente captura de pantalla.
Ahora que Rsyslog está instalado y ejecutándose, lo configuraremos como el servidor de registro.
Edite el archivo de configuración de Rsyslog etc/rsyslog.conf:
$ sudo nano /etc/rsyslog.conf
Agregue las siguientes líneas en el archivo de configuración de Rsyslog:
# Receive syslog over UDP module(load="imudp") input(type="imudp" port="514") # Receive syslog over TCP module(load="imtcp") input(type="imtcp" port="514")
A continuación se muestra la captura de pantalla de cómo debería verse la configuración del servidor de registro de Rsyslog:
Luego, crearemos una plantilla que utilizará Rsyslog para almacenar los mensajes de syslog entrantes. Para hacerlo, agregue las siguientes líneas en el archivo de configuración de Rsyslog antes de la sección DIRECTIVAS GLOBALES:
$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Luego guarde y cierre el archivo de configuración.
Ahora ejecute el siguiente comando para reiniciar el servicio de Rsyslog:
$ sudo systemctl restart rsyslog
También puede verificar si Rsyslog está escuchando el puerto TCP/UDP 514 usando el siguiente comando:
$ sudo ss -tunlp | grep 514
Debería recibir el siguiente resultado:
Configuración del cortafuegos
Si su sistema tiene habilitado el firewall, deberá abrir el puerto TCP/UDP 514. El servidor Rsyslog utiliza este puerto para recibir los registros del cliente remoto. Ejecute estos comandos para abrir el puerto TCP/UDP 514 en el firewall de Ubuntu.
$ sudo ufw allow 514/tcp
$ sudo ufw allow 514/udp
Luego recarga el firewall:
$ sudo ufw reload
Configuración del cliente Rsyslog en Ubuntu
Ahora en el otro sistema Ubuntu, realizaremos la configuración para el cliente Rsyslog. Este cliente luego enviará sus registros al servidor de registro Rsyslog.
En la máquina ubuntu que desea configurar como cliente Rsyslog, primero instale Rsyslog (si aún no está instalado):
$ sudo apt install rsyslog
Luego edite el archivo de configuración de Rsyslog usando este comando:
$ sudo nano /etc/rsyslog.conf
Agregue las siguientes líneas al final del archivo de configuración de Rsyslog. Asegúrese de reemplazar 192.168.72.204 con la dirección IP de su servidor de registro Rsyslog.
#Send system logs to rsyslog server over RDP *.* @192.168.72.204:514 #Send system logs to rsyslog server over TCP *.* @@192.168.72.204:514 ##Set disk queue to preserve your logs in case rsyslog server is experiencing any downtime
$ActionQueueFileName queue $ActionQueueMaxDiskSpace 1g $ActionQueueSaveOnShutdown on $ActionQueueType LinkedList $ActionResumeRetryCount -1
A continuación se muestra la captura de pantalla de cómo debería verse la configuración del cliente Rsyslog:
Guarde y cierre el archivo de configuración de Rsyslog.
Ahora ejecute el siguiente comando para reiniciar el servicio de Rsyslog:
$ sudo systemctl restart rsyslog
Ver los archivos de registro del cliente en Rsyslog Server
Una vez que haya terminado con todas las configuraciones descritas anteriormente, puede ver los archivos de registro enviados por los clientes al servidor Rsyslog. En su máquina servidor Rsyslog, ejecute el siguiente comando en la Terminal:
$ ls /var/log/
En el resultado del comando anterior, verá un directorio con el mismo nombre que el nombre de host de su sistema cliente (ubuntu2 en nuestro ejemplo).
Para ver los archivos de registro de la máquina cliente, enumere el contenido de este directorio:
$ sudo ls /var/log/ubuntu2
¡Eso es todo! En esta guía, cubrimos cómo configurar Rsyslog en el sistema operativo Ubuntu como servidor de registro y como cliente para enviar registros al servidor Rsyslog. También cubrimos cómo ver los registros enviados por los clientes al servidor de registro.