Configurar un servidor de registro centralizado con Rsyslog en CentOS/RHEL 8

Configurar un servidor de registro centralizado con Rsyslog en CentOS/RHEL 8

Para que un sistema administradores reconozca o analice problemas en un Centos 8 o Rhel 8 servidor, es importante conocer y ver los eventos que ocurrieron en el servidor en un período particular de tiempo de los archivos de registro encontrados en /var/log el directorio en el sistema.

El Syslog (Protocolo de registro del sistema) El sistema en el servidor puede actuar como un punto de monitoreo de registro central sobre una red donde todos los servidores, dispositivos de red, conmutadores, enrutadores y servicios internos que crean registros, ya sea vinculado al problema interno particular o simplemente mensajes informativos, pueden enviar sus registros.

En un CentOS/RHEL 8 servidor, Rsyslog Daemon es el servidor de registro más importante que viene preinstalado de forma predeterminada, seguido de Systemd Journal Daemon (diario).

Rsyslog es una utilidad de código abierto, desarrollado como un servicio de arquitectura de cliente/servidor y puede lograr ambos roles de forma independiente. Puede ejecutarse como un servidor y reunir todos los registros transmitidos por otros dispositivos a través de la red o puede ejecutarse como cliente enviando todos los eventos del sistema interno registrados a un control remoto Syslog servidor.

Requisitos

  1. Instalación de “Centos 8.0 "con capturas de pantalla
  2. Instalación de RHEL 8 con capturas de pantalla

Para configurar un servidor de registro centralizado en un CentOS/RHEL 8 servidor, debe verificar una confirmación de que el /var La partición tiene suficiente espacio (algunos mínimo de GB) para almacenar todos los archivos de registro grabados en el sistema que envía otros dispositivos en la red. Te recomiendo que tengas una unidad separada (LVM o REDADA) para montar el /var/log/ directorio.

Cómo configurar el servidor RSYSLOG en CentOS/RHEL 8

1. Como ya he dicho, Rsyslog El servicio está instalado y ejecutado automáticamente en CentOS/RHEL 8 servidor. Para verificar que el demonio se esté ejecutando en el sistema, ejecute el siguiente comando.

# systemCtl Status rsyslog.servicio 
Verifique el estado de Rsyslog en Centos 8

Si el servicio no se ejecuta de forma predeterminada, ejecute el siguiente comando para iniciar rsyslog demonio.

# SystemCTL Start rsyslog.servicio 

2. Si el Rsyslog La utilidad no se instala de forma predeterminada en el sistema que planea usar como servidor de registro centralizado, ejecute el siguiente comando DNF para instalar el paquete RSYSLOG e iniciar el demonio.

# DNF Instalar rsyslog # SystemCTL Start Rsyslog.servicio 

3. Una vez Rsyslog Utilidad instalada, ahora puede configurar Rsyslog como un servidor de registro centralizado al abrir el archivo de configuración principal /etc/rsyslog.confusión, Para recibir mensajes de registro para clientes externos.

# vi /etc /rsyslog.confusión 

En el /etc/rsyslog.confusión Archivo de configuración, encontrar e incommentar las siguientes líneas para otorgar la recepción de transporte UDP al Rsyslog servidor a través de 514 puerto. Rsyslog usa el estándar UDP Protocolo para la transmisión de registro.

módulo (carga = "imudp") # debe hacerse solo una vez entrada (type = "iMudp" puerto = "514") 
Configurar el servidor RSYSLOG en CentOS 8

4. El protocolo UDP no tiene el TCP sobrecarga, y hace que la transmisión de datos sea más rápida que la TCP protocolo. Por otro lado, el UDP El protocolo no garantiza la confiabilidad de los datos transmitidos.

Sin embargo, si quieres usar TCP Protocolo para la recepción de registro que debe encontrar y desenchufar las siguientes líneas en el /etc/rsyslog.confusión el archivo de configuración para configurar el demonio rsyslog para vincular y escuchar un socket TCP en 514 puerto.

módulo (load = "imtcp") # debe hacerse solo una vez entrada (type = "imtcp" port = "514") 

5. Ahora cree una nueva plantilla para recibir mensajes remotos, ya que esta plantilla guiará el servidor RSYSLOG local, dónde guardar los mensajes recibidos enviados por los clientes de Syslog Network.

$ Template remotelogs, "/var/log/%hostname%/%ProgramName%.registro" *.* ?Remotelogs 
Crear plantilla para el servidor rsyslog

El $ plantilla remotelogs Directiva guía el demonio rsyslog para recopilar y escribir todos los mensajes de registro transmitidos a archivos distintos, en función del nombre del cliente y la aplicación del cliente remoto que creó los mensajes basados ​​en las propiedades descritas agregadas en la configuración de la plantilla: %HostName%y%ProgramName%.

Todos los archivos de registro recibidos se escribirán en el sistema de archivos local en un archivo asignado que lleva el nombre del nombre de host de la máquina del cliente y se mantendrá en /var/log/ directorio.

El & ~ La regla de redirección dirige el servidor RSYSLOG local para dejar de procesar el mensaje de registro recibido más y eliminar los mensajes (no escribirlos en archivos de registro internos).

El Remotelogs es un nombre arbitrario dado a esta directiva de plantilla. Puedes usar cualquier nombre que quieras mejor adecuado para tu plantilla.

Para configurar plantillas de rsyslog más complejas, lea el manual de archivo de configuración de Rsyslog ejecutando el hombre rsyslog.confusión comandar o consultar la documentación en línea de Rsyslog.

# hombre rsyslog.confusión 

6. Después de realizar los cambios de configuración anteriores, puede reiniciar el demonio rsyslog para aplicar los cambios recientes ejecutando el siguiente comando.

# Servicio de reinicio de Rsyslog 

7. Una vez que reinició el Rsyslog servidor, ahora debe actuar como un servidor de registro centralizado y grabar mensajes de los clientes syslog. Para confirmar los sockets de red RSYSLOG, ejecute el comando NetStat y use la utilidad GREP para filtrar la cadena RSYSLOG.

# netstat -tulpn | grep rsyslog 

Si comando netstat no intall en Centos 8, Puede instalarlo usando el siguiente comando.

# DNF WhatProides NetStat # DNF Instale Tools de red 
Revise los enchufes de escucha de rsyslog

8. Si usted tiene Selinux activo en CentOS/RHEL 8, Ejecute el siguiente comando para permitir el tráfico de Rsyslog dependiendo del tipo de socket de red.

# Port Semanage -A -t syslogd_port_t -p UDP 514 # Semanage Port -A -t syslogd_port_t -p TCP 514 

Si comando de semanago no instalar en Centos 8, Puede instalarlo usando el siguiente comando.

# DNF WhatProides Semanage # DNF Instalar Política Coreutils-Python-Utils 

9. Si tiene un firewall activo en el sistema, ejecute el siguiente comando para agregar las reglas necesarias para permitir el tráfico de Rsyslog en los puertos en Firewalld.

# firewall-cmd --Permanent --add-puerto = 514/tcp # firewall-cmd --permanent --add-puerto = 514/UDP # firewall-cmd--relaad 

También puede limitar las conexiones entrantes en el puerto 514 de rangos IP de la lista blanca como se muestra.

# Firewall-CMD --Permanent --add-rich-rich-rule 'regla family = "ipv4" dirección de origen = "123.123.123.21/20"Port Port =" 514 "Protocol =" TCP "Aceptar ' # FireWall-CMD --Permanent --add-Rich-Rich-Rule Rule Family =" IPV4 "Dirección de origen ="123.123.123.21/20"Port Port =" 514 "Protocol =" UDP "Aceptar ' # FireWall-CMD-Reload 

Eso es todo! Rsyslog ahora está configurado como un servidor de registros de centralización y puede recopilar registros de clientes remotos. En el próximo artículo, veremos cómo configurar el cliente RSYSLOG en CentOS/RHEL 8 servidor.