1. Elastic stack: análisis de los logs de seguridad. Introducción

1. Elastic stack: análisis de los logs de seguridad. Introducción

Con el cese de las ventas en Rusia del sistema de registro y análisis Splunk, surge la pregunta de qué solución utilizar como reemplazo. Tras dedicar tiempo a familiarizarme con diferentes soluciones, opté por una opción para hombres de verdad — «ELK stack». Este sistema requiere tiempo para su configuración, pero al final se puede obtener una herramienta poderosa para el análisis del estado y la respuesta operativa a incidentes de seguridad de la información en la organización. En este ciclo de artículos, exploraremos las capacidades básicas (o quizás no) del stack ELK, cómo se pueden procesar los logs, cómo crear gráficos y dashboards, y qué funciones interesantes se pueden implementar con ejemplos de logs de cortafuegos Check Point o del escáner de seguridad OpenVas. Para empezar, veamos qué es exactamente el stack ELK y de qué componentes se compone.

«ELK stack» — es una abreviatura de tres proyectos de código abierto: Elasticsearch, Logstash y Kibana. Desarrollado por la compañía Elastic junto con todos los proyectos relacionados. Elasticsearch es el núcleo de todo el sistema, que combina funciones de base de datos, sistema de búsqueda y sistema analítico. Logstash es un canal de procesamiento de datos del lado del servidor, que recibe datos de múltiples fuentes a la vez, procesa los logs y luego los envía a la base de datos Elasticsearch. Kibana permite a los usuarios visualizar datos a través de gráficos y diagramas en Elasticsearch. También a través de Kibana se puede administrar la base de datos. A continuación, examinaremos más a fondo cada sistema por separado.

1. Elastic stack: análisis de los logs de seguridad. Introducción

Logstash

Logstash es una herramienta para procesar logs de eventos de diversas fuentes, con la cual se pueden extraer campos y sus valores en el mensaje, así como configurar el filtrado y la edición de datos. Después de todas las manipulaciones, Logstash redirige los eventos al almacenamiento de datos final. La herramienta se configura únicamente a través de archivos de configuración.
Una configuración típica de Logstash consiste en archivo(s) que contienen varios flujos de información entrante (input), varios filtros para esa información (filter) y varios flujos salientes (output). Esto se presenta como uno o varios archivos de configuración, que en su forma más simple (que no hace nada en absoluto) se ve así:

input {
}

filter {
}

output {
}

En INPUT configuramos en qué puerto llegarán los registros y por qué protocolo, o de qué carpeta leer nuevos archivos o archivos que se están escribiendo continuamente. En FILTER configuramos el parser de logs: análisis de campos, edición de valores, adición de nuevos parámetros o eliminación. FILTER es el campo para gestionar el mensaje que llega a Logstash con una cantidad de opciones de edición. En OUTPUT configuramos a dónde enviamos el log ya analizado, en caso de que sea Elasticsearch, se envía una solicitud JSON que contiene los campos con los valores, o, en el marco de la depuración, se puede mostrar en stdout o escribir en un archivo.

1. Elastic stack: análisis de los logs de seguridad. Introducción

ElasticSearch

Inicialmente, Elasticsearch es una solución para búsqueda de texto completo, pero con comodidades adicionales, como escalabilidad sencilla, replicación y otras, que han hecho que el producto sea muy conveniente y buena solución para proyectos de alta carga con grandes volúmenes de datos. Elasticsearch es un almacén de documentos NoSQL no relacional en formato JSON, y un motor de búsqueda basado en la búsqueda de texto completo Lucene. La plataforma de hardware es Java Virtual Machine, por lo que el sistema requiere una gran cantidad de recursos de CPU y RAM para funcionar.
Cada mensaje que llega, ya sea de Logstash o mediante una solicitud API, se indexa como un 'documento', similar a una tabla en SQL relacional. Todos los documentos se almacenan en un índice, que es equivalente a una base de datos en SQL.

Ejemplo de documento en la base:

{
  "_index": "checkpoint-2019.10.10",
  "_type": "_doc",
  "_id": "yvNZcWwBygXz5W1aycBy",
  "_version": 1,
  "_score": null,
  "_source": {
	"layer_uuid": [
      "dae7f01c-4c98-4c3a-a643-bfbb8fcf40f0",
      "dbee3718-cf2f-4de0-8681-529cb75be9a6"
	],
	"outzone": "External",
	"layer_name": [
  	"TSS-Standard Security",
  	"TSS-Standard Application"
	],
	"time": "1565269565",
	"dst": "103.5.198.210",
	"parent_rule": "0",
	"host": "10.10.10.250",
	"ifname": "eth6",
    ]
}

Todo el trabajo con la base de datos se basa en solicitudes JSON a través de REST API, que ya sea devuelven documentos por índice, o alguna estadística en formato: pregunta-respuesta. Para visualizar todas las respuestas a las solicitudes, se ha creado Kibana, que es un servicio web.

Kibana

Kibana permite buscar, extraer datos y solicitar estadísticas de la base de datos Elasticsearch, pero sobre la base de las respuestas se construyen muchos gráficos y paneles atractivos. Además, el sistema tiene funcionalidades de administración de la base de datos Elasticsearch; en los próximos artículos exploraremos este servicio con más detalle. Ahora, mostraremos ejemplos de paneles sobre el firewall Check Point y el escáner de vulnerabilidades OpenVas que se podrán construir.

Ejemplo de panel para Check Point, la imagen es clicable:

1. Elastic stack: análisis de los logs de seguridad. Introducción

Ejemplo de panel sobre OpenVas, la imagen es clicable:

1. Elastic stack: análisis de los logs de seguridad. Introducción

Conclusión

Hemos analizado de qué se compone ELK stack, nos hemos familiarizado un poco con los productos principales; en el curso los examinaremos por separado, revisaremos la escritura del archivo de configuración de Logstash, configuraremos paneles en Kibana, nos familiarizaremos con las solicitudes de API, la automatización y mucho más.

Así que estén atentos a las actualizaciones (Telegram, Facebook, VK, TS Solution Blog), Yandex.Zen.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster