Introducción
Los tutoriales anteriores de esta serie te guiaron a través de la instalación, configuración y ejecución de Suricata como un sistema de Detección de Intrusos (IDS) y Prevención de Intrusos (IPS). También aprendiste sobre las reglas de Suricata y cómo crear las tuyas propias.
En este tutorial explorarás cómo integrar Suricata con Elasticsearch, Kibana y Filebeat para comenzar a crear tu propia herramienta de Gestión de Información y Eventos de Seguridad (SIEM) utilizando el conjunto Elastic y Rocky Linux 8. Las herramientas SIEM se utilizan para recopilar, agregar, almacenar y analizar datos de eventos para buscar amenazas de seguridad y actividades sospechosas en tus redes y servidores.
Los componentes que utilizarás para construir tu propio SIEM son:
- Elasticsearch para almacenar, indexar, correlacionar y buscar los eventos de seguridad que provienen de tu servidor Suricata.
- Kibana para mostrar y navegar por los registros de eventos de seguridad que se almacenan en Elasticsearch.
- Filebeat para analizar el archivo de registro
eve.json
de Suricata y enviar cada evento a Elasticsearch para su procesamiento. - Suricata para escanear el tráfico de tu red en busca de eventos sospechosos y, o bien registrar o descartar paquetes inválidos.
Primero instalarás y configurarás Elasticsearch y Kibana con algunos ajustes específicos de autenticación. Luego agregarás Filebeat a tu sistema Suricata para enviar sus registros de eve.json
a Elasticsearch.
Finalmente, aprenderás cómo conectarte a Kibana usando SSH y tu navegador web, y luego cargarás e interactuarás con los paneles de Kibana que muestran los eventos y alertas de Suricata.
Requisitos previos
Si has estado siguiendo esta serie de tutoriales, entonces ya deberías tener Suricata ejecutándose en un servidor Rocky Linux. Este servidor se denominará tu servidor Suricata.
- Si aún necesitas instalar Suricata, puedes seguir este tutorial que explica Cómo instalar Suricata en Rocky Linux 8.
También necesitarás un segundo servidor para alojar Elasticsearch y Kibana. Este servidor se denominará tu servidor Elasticsearch. Debería ser un servidor Rocky Linux 8 con:
- 4 GB de RAM y 2 CPU configuradas con un usuario sudo no root. Puedes lograrlo siguiendo la Configuración inicial del servidor con Rocky Linux 8.
Para los propósitos de este tutorial, ambos servidores deberían poder comunicarse utilizando direcciones IP privadas. Puedes utilizar una VPN como WireGuard para conectar tus servidores, o utilizar un proveedor de nube que tenga una red privada entre hosts. También puedes optar por ejecutar Elasticsearch, Kibana, Filebeat y Suricata en el mismo servidor para experimentar.
Paso 1: Instalación de Elasticsearch y Kibana
El primer paso en este tutorial es instalar Elasticsearch y Kibana en tu servidor de Elasticsearch. Para empezar, añade la clave GPG de Elastic a tu servidor con el siguiente comando:
A continuación, crea un archivo elasticsearch.repo
en tu directorio /etc/yum/yum.repos.d
con el siguiente contenido, utilizando vi
o tu editor preferido. Esto asegura que se utilicen los repositorios de Elasticsearch upstream al instalar nuevos paquetes a través de yum
:
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
Si estás utilizando vi
, cuando hayas terminado de hacer cambios, presiona ESC
y luego :x
para escribir los cambios en el archivo y salir.
Ahora instala Elasticsearch y Kibana utilizando el comando dnf
. Presiona Y
para aceptar cualquier indicación sobre las huellas dactilares de la clave GPG:
La opción --enablerepo
se utiliza para anular la configuración predeterminada deshabilitada en el archivo /etc/yum.repos.d/elasticsearch.repo
. Este enfoque asegura que los paquetes de Elasticsearch y Kibana no se actualicen accidentalmente cuando instale otras actualizaciones de paquetes en su servidor.
Una vez que haya terminado de instalar los paquetes, encuentre y registre la dirección IP privada de su servidor utilizando el comando ip address show
:
Recibirá una salida como la siguiente:
Outputlo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 159.89.122.115/20 10.20.0.8/16 2604:a880:cad:d0::e56:8001/64 fe80::b832:69ff:fe46:7e5d/64
eth1 UP 10.137.0.5/16 fe80::b883:5bff:fe19:43f3/64
La interfaz de red privada en esta salida es el dispositivo resaltado eth1
, con la dirección IPv4 10.137.0.5
. El nombre de su dispositivo y las direcciones IP serán diferentes. Independientemente del nombre de su dispositivo y la dirección IP privada, la dirección será de los siguientes bloques reservados:
10.0.0.0
a10.255.255.255
(prefijo 10/8)172.16.0.0
a172.31.255.255
(prefijo 172.16/12)192.168.0.0
a192.168.255.255
(prefijo 192.168/16)
Si desea obtener más información sobre cómo se asignan estos bloques, visite la especificación RFC 1918)
Grabe la dirección IP privada de su servidor Elasticsearch (en este caso 10.137.0.5
). Esta dirección se referirá como su_ip_privada
en el resto de este tutorial. También tome nota del nombre de la interfaz de red, en este caso eth1
. En la siguiente parte de este tutorial, configurará Elasticsearch y Kibana para escuchar conexiones en la dirección IP privada provenientes de su servidor Suricata.
Paso 2 — Configuración de Elasticsearch
Elasticsearch está configurado para aceptar solo conexiones locales de forma predeterminada. Además, no tiene ninguna autenticación habilitada, por lo que herramientas como Filebeat no podrán enviar registros a él. En esta sección del tutorial, configurará los ajustes de red para Elasticsearch y luego habilitará el módulo de seguridad xpack
incorporado en Elasticsearch.
Configuración de la Red de Elasticsearch
Dado que sus servidores Elasticsearch y Suricata son distintos, deberá configurar Elasticsearch para escuchar conexiones en su interfaz de red privada.
Abra el archivo /etc/elasticsearch/elasticsearch.yml
utilizando vi
o su editor preferido:
Encuentra la línea comentada #network.host: 192.168.0.1
entre las líneas 50–60 y agrega una nueva línea después de ella que configure el ajuste network.bind_host
, como se destaca a continuación:
# Por defecto, Elasticsearch solo es accesible en localhost. Establezca una dirección diferente
# aquí para exponer este nodo en la red:
#
#network.host: 192.168.0.1
network.bind_host: ["127.0.0.1", "your_private_ip"]
#
# Por defecto, Elasticsearch escucha el tráfico HTTP en el primer puerto libre que
# encuentra comenzando en 9200. Establezca un puerto HTTP específico aquí:
Substituya su IP privada en lugar de la dirección your_private_ip
. Esta línea asegurará que Elasticsearch todavía esté disponible en su dirección local para que Kibana pueda alcanzarlo, así como en la dirección IP privada para su servidor.
Luego, ve al final del archivo usando el atajo vi
SHIFT+G
.
Agrega las siguientes líneas resaltadas al final del archivo:
. . .
discovery.type: single-node
xpack.security.enabled: true
El ajuste discovery.type
permite que Elasticsearch se ejecute como un único nodo, en lugar de en un clúster de otros servidores Elasticsearch. El ajuste xpack.security.enabled
activa algunas de las características de seguridad incluidas con Elasticsearch.
Guarda y cierra el archivo cuando hayas terminado de editarlo.
Finalmente, agrega reglas de firewall para asegurar que tu servidor Elasticsearch sea alcanzable en su interfaz de red privada. Si seguiste los tutoriales previos y estás utilizando firewalld
, ejecuta los siguientes comandos:
Sustituye el nombre de tu interfaz de red privada en lugar de eth1
en el primer comando si el tuyo es diferente. Ese comando cambia las reglas de la interfaz para usar la zona internal
de Firewalld, que es más permisiva que la zona public
por defecto.
Los siguientes comandos añaden reglas para permitir el tráfico de Elasticsearch en el puerto 9200 y 9300, junto con el tráfico de Kibana en el puerto 5601.
El comando final recarga el servicio de Firewalld con las nuevas reglas permanentes en su lugar.
A continuación, iniciarás el demonio de Elasticsearch y luego configurarás contraseñas para usar con el módulo de seguridad xpack
.
Iniciando Elasticsearch
Ahora que has configurado la red y los ajustes de seguridad xpack
para Elasticsearch, necesitas iniciarlo para que los cambios surtan efecto.
Ejecuta el siguiente comando systemctl
para iniciar Elasticsearch:
Una vez que Elasticsearch termine de iniciarse, puedes continuar a la siguiente sección de este tutorial donde generarás contraseñas para los usuarios predeterminados que están integrados en Elasticsearch.
Configurando Contraseñas de Elasticsearch
Ahora que has habilitado la configuración xpack.security.enabled
, necesitas generar contraseñas para los usuarios predeterminados de Elasticsearch. Elasticsearch incluye una utilidad en el directorio /usr/share/elasticsearch/bin
que puede generar contraseñas aleatorias automáticamente para estos usuarios.
Ejecuta el siguiente comando para cd
al directorio y luego generar contraseñas aleatorias para todos los usuarios predeterminados:
Recibirás una salida como la siguiente. Cuando se te pida continuar, presiona y
y luego RETURN
o ENTER
:
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
The passwords will be randomly generated and printed to the console.
Please confirm that you would like to continue [y/N]y
Changed password for user apm_system
PASSWORD apm_system = eWqzd0asAmxZ0gcJpOvn
Changed password for user kibana_system
PASSWORD kibana_system = 1HLVxfqZMd7aFQS6Uabl
Changed password for user kibana
PASSWORD kibana = 1HLVxfqZMd7aFQS6Uabl
Changed password for user logstash_system
PASSWORD logstash_system = wUjY59H91WGvGaN8uFLc
Changed password for user beats_system
PASSWORD beats_system = 2p81hIdAzWKknhzA992m
Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = 85HF85Fl6cPslJlA8wPG
Changed password for user elastic
PASSWORD elastic = 6kNbsxQGYZ2EQJiqJpgl
No podrás ejecutar la utilidad nuevamente, así que asegúrate de registrar estas contraseñas en un lugar seguro. Necesitarás usar la contraseña del usuario kibana_system
en la siguiente sección de este tutorial, y la contraseña del usuario elastic
en el paso Configurando Filebeat de este tutorial.
En este punto del tutorial, has terminado de configurar Elasticsearch. La siguiente sección explica cómo configurar la red de Kibana y su módulo de seguridad xpack
.
Paso 3 — Configurando Kibana
En la sección anterior de este tutorial, configuraste Elasticsearch para escuchar conexiones en la dirección IP privada de tu servidor de Elasticsearch. Deberás hacer lo mismo para Kibana para que Filebeats en tu servidor de Suricata puedan alcanzarlo.
Primero habilitará la funcionalidad de seguridad de xpack
en Kibana generando algunos secretos que Kibana utilizará para almacenar datos en Elasticsearch. Luego configurará la configuración de red de Kibana y los detalles de autenticación para conectarse a Elasticsearch.
Habilitando xpack.security
en Kibana
Para comenzar con la configuración de seguridad de xpack
en Kibana, es necesario generar algunas claves de cifrado. Kibana utiliza estas claves para almacenar datos de sesión (como cookies), así como varios paneles y vistas de datos en Elasticsearch.
Puede generar las claves de cifrado necesarias utilizando la utilidad kibana-encryption-keys
que se incluye en el directorio /usr/share/kibana/bin
. Ejecute lo siguiente para cd
al directorio y luego generar las claves:
La bandera -q
suprime las instrucciones de la herramienta, y la bandera --force
asegurará que cree nuevas claves. Debería recibir una salida como la siguiente:
Outputxpack.encryptedSavedObjects.encryptionKey: 66fbd85ceb3cba51c0e939fb2526f585
xpack.reporting.encryptionKey: 9358f4bc7189ae0ade1b8deeec7f38ef
xpack.security.encryptionKey: 8f847a594e4a813c4187fa93c884e92b
Copie estas tres claves en un lugar seguro. Ahora las agregará al archivo de configuración /etc/kibana/kibana.yml
de Kibana.
Abra el archivo usando vi
o su editor preferido:
Vaya al final del archivo usando el atajo de vi
SHIFT+G
. Pegue las tres líneas de xpack
que copió al final del archivo:
. . .
# Especifica la configuración regional que se utilizará para todas las cadenas localizables, fechas y formatos numéricos.
# Los idiomas admitidos son los siguientes: Inglés - en , por defecto , Chino - zh-CN .
#i18n.locale: "en"
xpack.encryptedSavedObjects.encryptionKey: 66fbd85ceb3cba51c0e939fb2526f585
xpack.reporting.encryptionKey: 9358f4bc7189ae0ade1b8deeec7f38ef
xpack.security.encryptionKey: 8f847a594e4a813c4187fa93c884e92b
Mantén el archivo abierto y procede a la siguiente sección donde configurarás los ajustes de red de Kibana.
Configuración de la Red de Kibana
Para configurar la red de Kibana de manera que esté disponible en la dirección IP privada de tu servidor Elasticsearch, encuentra la línea comentada #server.host: "localhost"
en /etc/kibana/kibana.yml
. La línea está cerca del principio del archivo. Agrega una nueva línea después de ella con la dirección IP privada de tu servidor, como se destaca a continuación:
# Kibana es servido por un servidor de backend. Esta configuración especifica el puerto a utilizar.
#server.port: 5601
# Especifica la dirección a la que se enlazará el servidor Kibana. Tanto las direcciones IP como los nombres de host son valores válidos.
# El valor predeterminado es 'localhost', lo que generalmente significa que las máquinas remotas no podrán conectarse.
# Para permitir conexiones de usuarios remotos, configura este parámetro con una dirección que no sea de bucle de retroalimentación.
#server.host: "localhost"
server.host: "your_private_ip"
Sustituye tu dirección IP privada en lugar de la dirección tu_direccion_ip_privada
.
Guardar y cerrar el archivo cuando hayas terminado de editarlo. A continuación, deberás configurar el nombre de usuario y la contraseña que Kibana utiliza para conectarse a Elasticsearch.
Configuración de Credenciales de Kibana
Hay dos formas de establecer el nombre de usuario y la contraseña que Kibana utiliza para autenticarse en Elasticsearch. La primera es editar el archivo de configuración /etc/kibana/kibana.yml
y agregar los valores allí. El segundo método es almacenar los valores en el keystore de Kibana, que es un archivo obfuscado que Kibana puede usar para almacenar secretos.
Usaremos el método del keystore en este tutorial ya que evita editar directamente el archivo de configuración de Kibana.
Si prefieres editar el archivo en su lugar, los ajustes a configurar en él son elasticsearch.username
y elasticsearch.password
.
Si eliges editar el archivo de configuración, omite el resto de los pasos de esta sección.
Para agregar un secreto al keystore utilizando la utilidad kibana-keystore
, primero cd
al directorio /usr/share/kibana/bin
. Luego, ejecuta el siguiente comando para establecer el nombre de usuario para Kibana:
Recibirás un mensaje como el siguiente:
Enter value for elasticsearch.username: *************
Ingresa kibana_system
cuando se te solicite, ya sea copiando y pegando o escribiendo cuidadosamente el nombre de usuario. Cada carácter que escribas será reemplazado por un asterisco *
. Presiona ENTER
o RETURN
cuando hayas terminado de ingresar el nombre de usuario.
Ahora repite el proceso, esta vez para guardar la contraseña. Asegúrate de copiar la contraseña del usuario kibana_system
que generaste en la sección anterior de este tutorial. Como referencia, en este tutorial la contraseña de ejemplo es 1HLVxfqZMd7aFQS6Uabl
.
Ejecuta el siguiente comando para establecer la contraseña:
Al solicitarse, pega la contraseña para evitar errores de transcripción:
Enter value for elasticsearch.password: ********************
Iniciando Kibana
Ahora que has configurado la red y los ajustes de seguridad xpack
para Kibana, así como has agregado credenciales al almacén de claves, necesitas iniciarlo para que los cambios surtan efecto.
Ejecuta el siguiente comando systemctl
para reiniciar Kibana:
Una vez que Kibana se inicie, puedes continuar con la siguiente sección de este tutorial donde configurarás Filebeat en tu servidor Suricata para enviar sus registros a Elasticsearch.
Paso 4 — Instalando Filebeat
Ahora que los procesos de Elasticsearch y Kibana están configurados con los ajustes correctos de red y autenticación, el siguiente paso es instalar y configurar Filebeat en tu servidor Suricata.
Para comenzar a instalar Filebeat, añade la clave GPG de Elastic a tu servidor Suricata con el siguiente comando:
Luego, crea un archivo elasticsearch.repo
en tu directorio /etc/yum/yum.repos.d
con el siguiente contenido, usando vi
o tu editor preferido:
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
Cuando hayas terminado de hacer cambios, guarda y cierra el archivo. Ahora instala el paquete Filebeat usando el comando dnf
:
A continuación, deberás configurar Filebeat para que se conecte tanto a Elasticsearch como a Kibana. Abre el archivo de configuración /etc/filebeat/filebeat.yml
usando vi
o tu editor preferido:
Encuentra la sección Kibana
del archivo alrededor de la línea 100. Añade una línea después de la línea comentada #host: "localhost:5601"
que apunte a la dirección IP privada y puerto de tu instancia de Kibana:
. . .
# A partir de la versión 6.0.0 de Beats, los paneles de control se cargan a través de la API de Kibana.
# Esto requiere una configuración de punto de conexión de Kibana.
setup.kibana:
# Host de Kibana
# El esquema y el puerto pueden omitirse y se establecerán en los valores predeterminados (http y 5601)
# En caso de que especifiques una ruta adicional, el esquema es obligatorio: http://localhost:5601/path
# Las direcciones IPv6 siempre deben definirse como: https://[2001:db8::1]:5601
#host: "localhost:5601"
host: "your_private_ip:5601"
. . .
Este cambio asegurará que Filebeat pueda conectarse a Kibana para crear los diferentes índices SIEM, paneles de control y tuberías de procesamiento en Elasticsearch para manejar tus registros de Suricata.
A continuación, busca la sección de Salida de Elasticsearch
del archivo alrededor de la línea 130 y edita las configuraciones de hosts
, username
y password
para que coincidan con los valores de tu servidor Elasticsearch:
output.elasticsearch:
# Matriz de hosts a los que conectarse.
hosts: ["your_private_ip:9200"]
# Protocolo - ya sea `http` (predeterminado) o `https`.
#protocol: "https"
# Credenciales de autenticación - ya sea clave API o nombre de usuario/contraseña.
#api_key: "id:api_key"
username: "elastic"
password: "6kNbsxQGYZ2EQJiqJpgl"
. . .
Sustituye en la línea de hosts
la dirección IP privada de tu servidor Elasticsearch. Descomenta el campo username
y déjalo configurado como el usuario elastic
. Cambia el campo password
de changeme
a la contraseña del usuario elastic
que generaste en la sección de Configuración de Contraseñas de Elasticsearch de este tutorial.
Guarda y cierra el archivo cuando hayas terminado de editarlo. A continuación, habilita el módulo incorporado de Suricata de Filebeat con el siguiente comando:
Ahora que Filebeat está configurado para conectarse a Elasticsearch y Kibana, con el módulo Suricata habilitado, el siguiente paso es cargar los paneles de control y tuberías SIEM en Elasticsearch.
Ejecuta el comando filebeat setup
. Puede tardar unos minutos en cargar todo:
Una vez que el comando haya terminado, deberías recibir una salida como la siguiente:
OutputOverwriting ILM policy is disabled. Set `setup.ilm.overwrite: true` for enabling.
Index setup finished.
Loading dashboards (Kibana must be running and reachable)
Loaded dashboards
Setting up ML using setup --machine-learning is going to be removed in 8.0.0. Please use the ML app instead.
See more: https://www.elastic.co/guide/en/machine-learning/current/index.html
It is not possble to load ML jobs into an Elasticsearch 8.0.0 or newer using the Beat.
Loaded machine learning job configurations
Loaded Ingest pipelines
Si no hay errores, utiliza el comando systemctl
para iniciar Filebeat. Comenzará a enviar eventos desde el registro eve.json
de Suricata a Elasticsearch una vez que esté en ejecución.
Ahora que tienes configurados Filebeat, Kibana y Elasticsearch para procesar los registros de Suricata, el último paso en este tutorial es conectarse a Kibana y explorar los paneles SIEM.
Paso 5: Navegando por los Paneles SIEM de Kibana
Kibana es el componente gráfico de la pila Elastic. Utilizarás Kibana con tu navegador para explorar los datos de eventos y alertas de Suricata. Dado que configuraste Kibana para que solo esté disponible a través de la dirección IP privada de tu servidor de Elasticsearch, necesitarás utilizar un túnel SSH para conectarte a Kibana.
Conexión a Kibana con SSH
SSH tiene una opción -L
que te permite reenviar el tráfico de red en un puerto local a través de su conexión a una dirección IP y puerto remotos en un servidor. Utilizarás esta opción para reenviar el tráfico desde tu navegador a tu instancia de Kibana.
En Linux, macOS y versiones actualizadas de Windows 10 y superiores, puedes utilizar el cliente SSH integrado para crear el túnel. Utilizarás este comando cada vez que desees conectarte a Kibana. Puedes cerrar esta conexión en cualquier momento y luego ejecutar nuevamente el comando SSH para restablecer el túnel.
Ejecuta el siguiente comando en una terminal en tu ordenador de escritorio o portátil local para crear el túnel SSH a Kibana:
Los diversos argumentos para SSH son:
- La bandera
-L
redirige el tráfico a tu sistema local en el puerto5601
al servidor remoto. - La parte
tu_ip_privada:5601
del comando especifica el servicio en tu servidor Elasticsearch al que se reenviará tu tráfico. En este caso, ese servicio es Kibana. Asegúrate de sustituir la dirección IP privada de tu servidor Elasticsearch en lugar detu_ip_privada
. - La dirección
203.0.113.5
es la dirección IP pública que utilizas para conectarte y administrar tu servidor. Sustituye la dirección IP pública de tu servidor Elasticsearch en su lugar. - La bandera
-N
instruye a SSH a no ejecutar un comando como un shell interactivo/bin/bash
, y en su lugar simplemente mantener abierta la conexión. Se utiliza generalmente cuando se reenvían puertos como en este ejemplo.
Si deseas cerrar el túnel en cualquier momento, presiona CTRL+C
.
En Windows, tu terminal debería parecerse a la siguiente captura de pantalla:
Nota: Es posible que se le solicite ingresar una contraseña si no está utilizando una clave SSH. Escríbala o péguela en el cuadro de diálogo y presione ENTER
o RETURN
.
En macOS y Linux, su terminal será similar a la siguiente captura de pantalla:
Una vez que se haya conectado a su servidor de Elasticsearch a través de SSH con el reenvío de puertos en su lugar, abra su navegador y visite http://127.0.0.1:5601. Será redirigido a la página de inicio de sesión de Kibana:
Si su navegador no puede conectarse a Kibana, recibirá un mensaje como el siguiente en su terminal:
Outputchannel 3: open failed: connect failed: No route to host
Este error indica que su túnel SSH no puede alcanzar el servicio de Kibana en su servidor. Asegúrese de haber especificado la dirección IP privada correcta para su servidor de Elasticsearch y vuelva a cargar la página en su navegador.
Inicie sesión en su servidor de Kibana utilizando elastic
como nombre de usuario y la contraseña que copió anteriormente en este tutorial para el usuario.
Navegando por los paneles SIEM de Kibana
Una vez que haya iniciado sesión en Kibana, puede explorar los paneles de Suricata que Filebeat configuró para usted.
En el campo de búsqueda en la parte superior de la página de inicio de Kibana, ingrese los términos de búsqueda type:dashboard suricata
. Esta búsqueda devolverá dos resultados: los paneles de eventos de Suricata y alertas de Suricata según la siguiente captura de pantalla:
Haga clic en el resultado [Filebeat Suricata] Events Overview
para visitar el panel de Kibana que muestra una visión general de todos los eventos de Suricata registrados:
Para visitar el panel de Alertas de Suricata, repita la búsqueda o haga clic en el enlace Alerts
que se incluye en el panel de Eventos. Su página debería parecerse a la siguiente captura de pantalla:
Si desea inspeccionar los eventos y alertas que muestra cada panel, desplácese hasta la parte inferior de la página donde encontrará una tabla que enumera cada evento y alerta. Puede expandir cada entrada para ver la entrada de registro original de Suricata y examinar en detalle los diversos campos como las direcciones IP de origen y destino para una alerta, el tipo de ataque, el ID de firma de Suricata y otros.
Kibana también tiene un conjunto integrado de paneles de seguridad a los que puede acceder utilizando el menú en el lado izquierdo de la ventana del navegador. Navegue hasta el panel Network para obtener una visión general de los eventos mostrados en un mapa, así como datos agregados sobre los eventos en su red. Su panel debería parecerse a la siguiente captura de pantalla:
Puede desplazarse hasta la parte inferior del panel de Network para ver una tabla que lista todos los eventos que coinciden con el marco de tiempo de búsqueda especificado. También puede examinar cada evento en detalle o seleccionar un evento para generar una línea de tiempo de Kibana que luego puede utilizar para investigar flujos de tráfico específicos, alertas o identificadores de comunidad.
Conclusión
En este tutorial, instalaste y configuraste Elasticsearch y Kibana en un servidor independiente. Configuraste ambas herramientas para que estén disponibles en una dirección IP privada. También configuraste los ajustes de autenticación de Elasticsearch y Kibana utilizando el módulo de seguridad xpack
que está incluido con cada herramienta.
Después de completar los pasos de configuración de Elasticsearch y Kibana, también instalaste y configuraste Filebeat en tu servidor Suricata. Utilizaste Filebeat para poblar los paneles de Kibana y comenzar a enviar registros de Suricata a Elasticsearch.
Finalmente, creaste un túnel SSH a tu servidor Elasticsearch e iniciaste sesión en Kibana. Localizaste los nuevos paneles de eventos y alertas de Suricata, así como el panel de red.
El último tutorial de esta serie te guiará a través del uso de la funcionalidad SIEM de Kibana para procesar tus alertas de Suricata. En él, explorarás cómo crear casos para hacer seguimiento de alertas específicas, líneas de tiempo para correlacionar flujos de red y reglas para coincidir con eventos específicos de Suricata que te gustaría rastrear o analizar con más detalle.