Visualizando los registros de Suricata en Grafana o Kibana

Después de ver cómo instalamos Suricata y haberlo dejado funcional, ahora es momento de tratar sus datos y visualizarlos de una manera más amigable, para ello nos apoyaremos de Grafana como visualizador, aunque con Kibana podrás realizarlo de igual manera (o más sencilla). Todo ello gracias a que almacenaremos los LOGs de Suricata en Elasticsearch.

 

El proceso es realmente sencillo, en la máquina que corre Suricata le instalaremos Filebeat para recolectar el fichero de log y enviarselo a Elasticsearch directamente, tras ello habilitaremos el módulo de suricata y lo configuramos. Una vez lo tengamos listo, debería nuestro Elasticsearch empezar a almacenar estos registros, y con Grafana poder explotarlos, o con Kibana, vaya.

 

 

Abrimos nuestro Kibana, en el menú izquierdo vamos al icono de «SIEM» > «Add data with Beats» > «Suricata logs» y nos dará todo el detalle de qué necesitamos. Es esta URL: http://IP_ELASTIC_SEARCH:5601/app/kibana#/home/tutorial/suricataLogs

Nos posicionamos sobre la pestaña «DEB» (en mi caso, ya que Suricata corre bajo Debian Buster) y como vemos viene perfectamente explicadito.

 

Instalación de Filebeats:

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.7.0-amd64.deb
dpkg -i filebeat-7.7.0-amd64.deb

 

Editamos el fichero de configuración de Filebeat (/etc/filebeat/filebeat.yml), indicaremos el nombre del índice a utilizar en Elasticsearch, así como si tenemos Kibana y queremos importar los dashboards por defecto:

#================ Elasticsearch template setting ====================
...
setup.template.name: "suricata"
setup.template.pattern: "suricata-*"
setup.dashboards.index: "suricata-*"
setup.ilm.enabled: false
...
setup.kibana:
  host: "FQDN_O_DIRECCION_IP_KIBANA:5601"
...
#---------------------- Elasticsearch output ------------------------
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["FQDN_O_DIRECCION_IP_ELASTICSEARCH:9200"]
  index: "suricata-%{+yyyy.MM.dd}"
...

 

Habilitamos el módulo de Suricata, creamos unos dashboards predeternubadis en Kibana de Suricata, arrancamos el demonio de Filebeat y hacemos que se inicie de manera automática con el sistema. 

filebeat modules enable suricata
filebeat setup
systemctl start filebeat
systemctl enable filebeat.service
systemctl status filebeat

 

Y sin hacer nada más podremos ir a los Dashboards de Kibana o a sus visualizaciones e ir viendo los datos que nos va recogiendo.

 

Si queremos visualizarlo en Grafana, deberemos como siempre crear un Data Source apuntando al índice de Suricata de nuestro Elasticsearch y podremos hacer las gráficas como nos interese, con simples consultas como lo haríamos desde el Discover de nuestro Kibana, imaginación al poder!

 

Y nada, al de 5 minutos podrás hacer Dashboards así de simplones y que te permiten visualizar rápidamente qué pasa, qué equipos acceden a cuales, ver las conexiones, etc…

Héctor Herrero