Pruebas con ELK (Elasticsearch, Logstash y Kibana) (4)

Ha llegado el momento de complicar algo las cosas. Nuestra intención es crear un cuadro de mandos en Kibana con las estadísticas de inicio de sesión de nuestro servidor.  Para empezar tenemos que saber qué información nos interesa y configurar Logstash para que nos aporte dicha información, en nuestro caso es la siguiente:

  • Inicios de sesión por SSH correctos
  • Inicios de sesión por SSH incorrectos (Contraseña incorrecta)
  • Inicios de sesión por SSH incorrectos (Usuarios incorrecto)
  • Inicios de sesión por SUDO incorrectos

Para saber qué mensaje corresponde a cada caso, tendremos que crear la situación correspondiente, así se generarán las líneas en el LOG y lo podremos ver en Kibana. Una vez hecho obtendremos estos mensajes :

  • Inicio de sesión por SSH correcto:

  • Inicio de sesión por SSH incorrecto (Contraseña incorrecta):

  • Inicio de sesión por SSH incorrecto (Usuario incorrecto):

  • Inicio de sesión por SUDO incorrecto:

Ahora tendremos que definir correctamente el patrón (pattern) correspondiente a cada mensaje para que el plugin Grok parser pueda extraer la información, para ello lo primero es documentarnos sobre el funcionamiento de Grok en la web de documentación de Elastic.

Los patrones que vamos a utilizar en este caso práctico son los siguientes:

Como podemos ver en los patrones,  hemos creado un campo «action» para poder diferenciar cada caso y así poder añadir un TAG a cada registro. Dicho campo lo eliminaremos para que no añada al registro.

Con todo esto, ya podremos cambiar la actual sección filter de nuestro fichero /etc/logstash/conf.d/auth-log.conf  por la siguiente:

Reiniciamos el servicio de Logstash y a partir de este momento ya podremos ver en Kibana los nuevos registros que se generen con los campos y tags que hemos configurado gracias a los patterns de Grok.

En el próximo articulo crearemos un panel de control donde ver fácilmente toda la información de inicios de sesión.


Referencias de interés: