Ciberseguridad

Notificaciones con Graylog – ¿Cómo envío alertas por correo electrónico?

I. Presentación

Graylog puede almacenar, indexar y analizar los registros de tus dispositivos. Y eso no es todo: también puede enviarte una notificación cuando se detecta un evento específico. La solución puede enviar notificaciones por correo electrónico, en Slack, en Microsoft Teams, así como por otros métodos.

En este tutorial, aprenderemos a configurar Graylog para que pueda enviar correos electrónicos a través de un servidor SMTP, y luego veremos cómo configurar una alerta inicial. Aquí, tomaremos el siguiente ejemplo: recibir un correo electrónico cuando se detecta una conexión SSH fallida en un host.

Suponemos que el servidor Graylog está instalado y que una máquina Linux envía sus registros a este servidor a través de Rsyslog.

En nuestro sitio web encontrará otros artículos sobre el tema de Graylog:

II. Graylog: Configuración SMTP para el envío de correos electrónicos

El primer paso es ajustar la configuración de Graylog para que pueda enviar correos electrónicos. Verás cómo configurar el servidor SMTP, el número de puerto, la dirección de correo electrónico del remitente, etc. en el archivo de configuración "server.conf" de Graylog.

Conéctate al terminal de tu servidor Graylog para editar el archivo de configuración:

sudo nano /etc/graylog/server/server.conf

En este archivo, los parámetros para configurar el servidor SMTP ya están presentes, pero están comentados (y por lo tanto inactivos). El envío de correos electrónicos está desactivado por defecto, lo cual es normal ya que depende de ti configurar las notificaciones para que se adapten a tu entorno. Los parámetros a editar tienen un nombre que empieza por "transport_email".

Es necesario activar la entrega de correo electrónico (transport_email_enabled) y configurar los distintos parámetros para especificar el nombre del servidor SMTP (transport_email_hostname), el número de puerto a utilizar (transport_email_port) y los identificadores. Si desea autenticarse a través de Gmail (Google), puede utilizar una contraseña de aplicación (recomendado), de lo contrario adaptarse a su entorno. Especifique un nombre de usuario (transport_email_auth_username), una contraseña (transport_email_auth_password) y una dirección de correo electrónico remitente que utilizará Graylog (transport_email_from_email).

transport_email_enabled = true
transport_email_hostname = smtp.gmail.com
transport_email_port = 587
transport_email_use_auth = true
transport_email_auth_username = CompteGoogle@gmail.com
transport_email_auth_password = VotreMotDePasse
transport_email_from_email = CompteGoogle@gmail.com
transport_email_socket_connection_timeout = 10s
transport_email_socket_timeout = 10s

Para utilizar una conexión segura basada en TLS, active también este parámetro (se encuentra un poco más abajo):

transport_email_use_tls = true

Vaya al archivo de configuración para configurar este parámetro:

transport_email_web_interface_url = http://192.168.10.220:9000

Debe definir la dirección IP o el nombre de dominio y el puerto de acceso a Graylog. Esta es la URL que se utilizará en las alertas por correo electrónico para redirigirle directamente al portal Graylog.

Una vez hecho esto, guarda los cambios y reinicia Graylog :

sudo systemctl restart graylog-server.service

El resto de la configuración se realiza a través de la interfaz web de Graylog.

III. Graylog: configuración de alertas por correo electrónico

A. Crear un nuevo Stream

Ahora vamos a crear un nuevo Stream para recuperar los mensajes de registro que necesitamos. En este caso, mensajes referidos a una conexión SSH fallida. Configurar un nuevo fStream no es una coincidencia: una alerta se configura contra un Stream.

Desde Graylog, haz clic en el menú "Streams" y crea un nuevo stream. Nombra este Stream, por ejemplo "Errores de conexión SSH". Mantén el índice con el nombre "Default index set", a menos que ya tengas un Stream específico para los logs de Linux (este es el caso si has seguido los tutoriales anteriores). Por lo que a mí respecta, se seleccionará el índice llamado "Índice Linux".

En la lista de Streams, identifique el que acaba de crear y, al final de la línea, haga clic en "Más" y luego en "Gestionar reglas".

Añada una nueva regla utilizando el botón "Añadir regla de stream". La idea es crear condiciones para aislar los mensajes correspondientes a conexiones SSH fallidas. Le sugiero que cree 2 condiciones:

  • Una condición para indicar que el mensaje debe contener la cadena "Contraseña fallida".
  • Una condición para indicar que el mensaje debe corresponder a la aplicación "sshd".

El resultado es el siguiente

Pulse el botón "¡He terminado!" para confirmar. Su nuevo Stream quedará en pausa, como muestra el mensaje "Pausado" en el botón. Pulse sobre él para activarlo.

Una vez hecho esto, pasa al siguiente paso.

B. Crear una nueva clase de notificación

En el menú Graylog, haz clic en la entrada "Alertas", luego pasa a la pestaña "Notificaciones" y haz clic en "Crear notificación". Esto te permitirá crear un tipo de configuración de correo electrónico, con un mensaje personalizado.

Aparecerá un nuevo asistente. Comience por dar un nombre a esta notificación. Es posible utilizar una plantilla de notificación para varias alertas, por lo que puede utilizar un nombre más genérico. Elija también el tipo de notificación "Notificación por correo electrónico".

A continuación, puede definir la dirección de correo electrónico del remitente (Sender). Si la deja en blanco, se utilizará la dirección definida en el fichero "server.conf". Por otro lado, debe definir el destinatario o destinatarios, utilizando la opción "Destinatario(s) de correo electrónico".

Un poco más abajo, se accede a la plantilla correspondiente al cuerpo de la notificación, es decir, a su contenido. Este no es el punto fuerte de Graylog, porque definir una plantilla no es fácil... Y generalmente es más práctico hacer clic en el enlace del correo electrónico para realizar el análisis en Graylog. De momento, haz clic en "Ejecutar notificación de prueba" para probar el envío de un correo electrónico.

Si la configuración es correcta, aparece un mensaje de validación. En caso contrario, compruebe los parámetros de esta página, así como los definidos en el archivo "server.conf".

Aquí está el correo electrónico que recibí para esta prueba:

Cuando esté hecho, pasa al siguiente paso.

C. Crear una nueva alerta

El último paso en la configuración es crear un nuevo evento. Siempre en la sección "Alertas" del menú, haz clic en "Definiciones de eventos" para acceder al botón "Crear definición de evento".

Nombre esta alerta, por ejemplo "Error de conexión SSH - Linux" y continúe.

En el paso "Condición", elija "Filtro & agregación" como tipo. Aparecerán campos adicionales.

Debe configurar un filtro. Puede especificar "Contraseña fallida" como "Consulta de búsqueda" y seleccionar el Stream creado anteriormente. También me gustaría llamar su atención sobre dos parámetros:

  • Buscar dentro de lo último: busque acontecimientos de última hora.
  • Ejecutar búsqueda cada: ejecuta la búsqueda de los eventos correspondientes cada minuto.

Así, si falla una conexión SSH en uno de tus servidores, recibirás una alerta en el minuto siguiente a que se produzca el evento en el servidor.

Continúe, sáltese el paso "Campos" y cambie a "Notificaciones". Aquí, seleccione la plantilla de notificación que creó anteriormente y confirme con el botón "Añadir notificación".

Por último, haga clic en el paso "Resumen" y confirme con el botón "Crear definición de evento". La configuración ha finalizado.

D. Comprobación de la alerta

Ahora vamos a probar nuestra nueva configuración para ver si recibimos la alerta por correo electrónico... Para ello, nada más sencillo: basta con simular una conexión SSH en un servidor, especificando una contraseña errónea.

Unos segundos después, debería recibir un correo electrónico en su bandeja de entrada. Haciendo clic en el enlace de la línea "Repetición de alerta", podrás ver todos los eventos asociados a esta alerta, para que puedas analizarlos.

La configuración ya está operativa.

IV. Conclusión

Siguiendo este tutorial, podrás crear tu primera alerta Graylog. No es la función más práctica de Graylog, pero es importante saber que existe y que es una buena forma de recibir una notificación cuando se produce un evento sospechoso.

author avatar
Florian Burnel Co-founder of IT-Connect
Systems and network engineer, co-founder of IT-Connect and Microsoft MVP "Cloud and Datacenter Management". I'd like to share my experience and discoveries through my articles. I'm a generalist with a particular interest in Microsoft solutions and scripting. Enjoy your reading.

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.