Cómo Construir un Servidor Syslog Dedicado

No permita que la migración a la nube arruine su monitoreo

Ahora que finalmente ha migrado todos los servidores y sistemas de su empresa a la nube , puede sentarse y relajarse, con solo preocuparse por el hardware de red local.

Desafortunadamente, las utilidades de administración y monitoreo locales estaban alojadas en esos servidores ahora nublados. Este es el punto en el que piezas aleatorias de hardware de red se deleitarán en fallar solo para atormentarlo, ya que saben que no tendrá idea de por qué fallaron o cómo resolverlo sin el sistema de registro y monitoreo de red que solía tener. a la mano.

En este tutorial configuraremos una Raspberry Pi para que actúe como un servidor syslog, proporcionando un repositorio central persistente para los registros de todos sus conmutadores, firewalls y similares. El Pi es perfecto para esto, ya que los servidores syslog necesitan una potencia de cálculo y una memoria mínimas, y es tan pequeño que se puede ubicar junto a sus conmutadores centrales sin estorbar.

Si bien este tutorial se centrará en el uso de Pi para esta tarea, todas las instrucciones desde el paso 2 en adelante se aplicarán a cualquier instalación de Ubuntu Server, por lo que puede implementarlo en un hipervisor local o en la nube con la misma facilidad.

Paso 1: instale el servidor Ubuntu en su Raspberry Pi

Ubuntu Server está disponible para Raspberry Pi a partir de Pi 2. Las instrucciones sobre cómo implementar el servidor Ubuntu en una Raspberry Pi están disponibles en el sitio web de Ubuntu aquí .

Usamos una tarjeta microSD de 32 GB, pero se puede usar una más pequeña o más grande según lo desee, hasta 8 GB si sus requisitos de registro son modestos.

Una vez que haya transferido su imagen de Ubuntu a la tarjeta SD, inicie la Raspberry Pi por primera vez con un monitor y un teclado conectados, utilizando una conexión de red cableada. Una vez que se haya iniciado, aparecerá un mensaje que muestra la dirección IP del dispositivo (suponiendo que tenga un servidor DHCP en la red) y el inicio de sesión predeterminado (ubuntu / ubuntu).

Paso 2: configurar usuarios y redes

Para que los dispositivos que monitoreamos puedan enviar sus registros al servidor syslog, necesitará una dirección IP estática. Si bien podría asignarle una dirección reservada en su servidor DHCP, esto lo haría dependiente de dicho servidor DHCP para funcionar. Como queremos que nuestro servidor de registros sea completamente autosuficiente, le asignaremos una dirección estática y la configuraremos para usarla independientemente de un servidor DHCP.

Inicie sesión desde la consola con las credenciales predeterminadas. Primero debe eliminar cloud-init, ya que esta función no es necesaria para este dispositivo:

sudo apt purge cloud-init -y

sudo rm -rf / etc / cloud

A continuación, configuraremos los detalles de la red estática. Use los siguientes comandos para ordenar la configuración de red de inicio en la nube que queda y cree la suya propia.

sudo rm /etc/netplan/50-cloud-init.yaml

sudo nano /etc/netplan/01-static.yaml

Complete el archivo de configuración como se muestra en el siguiente ejemplo, asegurándose de usar la dirección IP en su red local que ha asignado al servidor, y la puerta de enlace adecuada y los servidores DNS para su red.

Por razones de tiempo de actividad y estabilidad en caso de emergencias, es posible que desee dejar los servidores DNS públicos de Google (8.8.8.8 y 8.8.4.4) allí.

red:

Ethernet:

eth0:

direcciones:

– 192.168.1.248/24

dhcp4: falso

gateway4: 192.168.1.1

servidores de nombres:

direcciones:

– 8.8.4.4

– 8.8.8.8

buscar:

– grupo de trabajo

versión 2

Guarde el archivo presionando Ctrl-O y salga de nano con Ctrl-X.

A continuación, debemos habilitar los inicios de sesión SSH basados ​​en contraseña. Esto permitirá el acceso remoto sin configurar claves SSH en este momento. Este servidor nunca debe manejar información confidencial, pero puede volver a habilitar el acceso basado en claves SSH más adelante si así lo desea. Utilice el siguiente comando para abrir el archivo de configuración ssh:

sudo nano / etc / ssh / sshd_config

Desplácese hasta la línea 56 y cambie la autenticación de contraseña a sí como se muestra en la captura de pantalla a continuación. Guarde el archivo y salga como antes.

Ahora reinicie el servidor SSH:

reinicio del sshd del servicio sudo

Agregue un usuario para usted y elimine el usuario predeterminado «ubuntu». Aquí, hemos elegido arbitrariamente el nombre de usuario «thorsten» porque hemos escrito muchos tutoriales y estamos aburridos con «admin», pero probablemente debería usar su nombre de usuario habitual. Puede agregar cuentas para todos los administradores de TI en su red en este momento si lo desea.

sudo useradd thorsten -g usuarios -G sudo -s / bin / bash

sudo userdel ubuntu

Establezca una contraseña para este usuario con el siguiente comando

sudo passwd thorsten

Finalmente, cambie el nombre de host a algo más apropiado. Usamos «syslog» para el nuestro.

sudo nano / etc / nombre de host

Guarde el archivo como antes, luego reinicie la Pi con el siguiente comando.

sudo reiniciar

Una vez que se haya iniciado, vuelva a iniciar sesión. Puede desconectar el teclado y el monitor y continuar de forma remota a través de ssh desde su escritorio en este punto, si lo desea. Inicie sesión como el usuario que acaba de crear.

Paso 3: configurar el software

En primer lugar, es una buena idea asegurarse de que el sistema esté actualizado en este momento ejecutando los siguientes comandos.

actualización de sudo apt

actualización de sudo apt -y

Ahora es el momento de configurar el software del servidor syslog. Usaremos el software rsyslog, que se instala por defecto con el servidor Ubuntu, por lo que no necesitamos instalar ningún paquete adicional. Sin embargo, la configuración predeterminada deshabilita la funcionalidad de red del software, por lo que debemos editar el archivo de configuración para volver a habilitar esta función.

Ejecute el siguiente comando para editar el archivo de configuración.

sudo nano /etc/rsyslog.conf

Descomente las líneas 17-18 y 20-21 para habilitar la recepción de syslog UDP y TCP, luego guarde el archivo como antes y reinicie el software con el siguiente comando.

reinicio de rsyslog del servicio sudo

Paso 4: configurar dispositivos y asignar archivos de registro.

A continuación, debemos configurar el software para que sepa qué archivos de registro debe usar para guardar los eventos que se le envían desde otros dispositivos. Crearemos un archivo de registro independiente para cada dispositivo que envíe sus registros a este servidor.

Como los dispositivos de red pueden ser un poco impredecibles en la forma en que se identifican en sus entradas de registro, la forma más fácil de determinar esto es configurar el dispositivo para enviar sus registros al servidor de syslog y luego mirar el syslog principal, que recibe todos los registros. eventos no dirigidos exclusivamente a otros archivos. Comience a enviar este archivo al terminal en el servidor ejecutando el siguiente comando.

sudo tail -f / var / log / syslog

Ahora elija uno de los dispositivos que enviarán sus registros a este servidor e ingrese la dirección IP de este servidor como servidor syslog remoto para el dispositivo. A los efectos de este tutorial, configuraremos el registro para un Synology NAS .

Desde la página de administración del NAS, configuramos el servidor syslog remoto como se muestra en la captura de pantalla a continuación. Usamos la configuración UDP predeterminada, sin embargo, este servidor syslog está configurado para conexiones TCP y UDP.

Aplique la configuración a su dispositivo, luego regrese a la terminal del servidor syslog y examine los mensajes que aparecen en el syslog.

Después de la hora y la fecha, el siguiente campo es el nombre que usa el dispositivo al registrar eventos. Usaremos esto para alimentar esos registros en un archivo separado. En este caso, el nombre es «DS211J».

Primero, cree una subcarpeta para que vivan los registros del dispositivo:

sudo mkdir / var / log / devices

sudo chown -R syslog.adm / var / log / devices

A continuación, necesitamos crear un nuevo archivo de configuración para rsyslog para indicarle qué hacer con estas entradas de registro. Utilice el siguiente comando para abrir un nuevo archivo para editarlo.

sudo nano /etc/rsyslog.d/40-devices.conf

Cada dispositivo necesita un par de líneas, una para decirle al servidor syslog qué hacer con las entradas de registro de este dispositivo y otra para indicarle que siga procesando las reglas en este archivo. Estos se muestran en la captura de pantalla siguiente. Nombramos el nuevo archivo de registro para que coincida con el nombre de host enviado por el dispositivo, pero el archivo puede tener el nombre que desee.

Guarde el archivo y salga, luego reinicie rsyslog para que lea el nuevo archivo de configuración:

reinicio de rsyslog del servicio sudo

Ahora envíe un mensaje de prueba desde el dispositivo al servidor de syslog, o espere a que envíe algunos eventos por sí solo. El nuevo archivo de registro se creará la primera vez que se reciba un evento que coincida con el patrón en el archivo de configuración. Verifique que el evento esté registrado correctamente en el nuevo archivo usando el siguiente comando, cambiando el nombre del archivo para que coincida con el nombre que haya llamado este archivo de registro.

sudo tail /var/log/devices/ds211j.log

Los dispositivos adicionales se pueden configurar de la misma manera.

Paso 5: mantener las cosas ordenadas

El último paso es establecer una configuración de logrotate para el nuevo archivo. Si bien puede tener un archivo logrotate para todos sus dispositivos, es más fácil realizar un seguimiento de las cosas si tiene uno por dispositivo. Utilice el siguiente comando para abrir un nuevo archivo para editar

sudo nano /etc/logrotate.d/ds211j

Agregue el siguiente código en el archivo, ajustando el nombre del archivo para que coincida con su nuevo archivo de registro.

/var/log/devices/ds211j.log {

rotar 5

semanal

comprimir

postrotar

/ usr / bin / killall -HUP syslogd

guión final

}

Esto rotará los archivos de registro cada semana, comprimirá los más antiguos y mantendrá los archivos de registro para 5 semanas. Puede establecer el patrón de rotación que se adapte a sus necesidades.

Configuración opcional

Si planea tener una gran cantidad de dispositivos iniciando sesión en este servidor, o desea mantener los registros durante mucho tiempo, sería una buena idea agregar algo de almacenamiento dedicado para los archivos de registro, como una memoria USB. Esto puede formatearse en FAT32 si lo desea, de modo que se pueda leer en cualquier sistema informático si es necesario.

Esto tiene el beneficio adicional de evitar que los registros llenen la partición raíz, lo cual es un riesgo con los servidores syslog que manejan una gran cantidad de dispositivos y eventos.

También puede configurar un espejo externo de los archivos de registro si lo desea, agregando un trabajo programado en el servidor para enviar los registros a un sistema remoto, usando rsync o similar.

Categorías Negocios