1. Elastic stack: analisi dei log di sicurezza. Introduzione

1. Elastic stack: analisi dei log di sicurezza. Introduzione

Con la fine della vendita in Russia del sistema di registrazione e analisi Splunk, è sorta la domanda su quale soluzione possa sostituirla. Dopo aver speso tempo a esplorare diverse opzioni, mi sono deciso per una soluzione per veri professionisti — «ELK stack». Questo sistema richiede tempo per la sua configurazione, ma alla fine è possibile ottenere un sistema molto potente per l'analisi della situazione e la risposta operativa agli incidenti di sicurezza informatica all'interno dell'organizzazione. In questo ciclo di articoli, esamineremo le funzionalità base (e forse anche oltre) dello stack ELK, come è possibile analizzare i log, costruire grafici e dashboard, e quali funzioni interessanti possono essere realizzate con i log del firewall Check Point o del scanner di sicurezza OpenVas. Per cominciare, vediamo cos'è esattamente lo stack ELK e quali componenti lo costituiscono.

«ELK stack» — è l'acronimo di tre progetti open source: Elasticsearch, Logstash e Kibana. Sviluppato da Elastic insieme a tutti i progetti correlati. Elasticsearch è il cuore dell'intero sistema, che combina le funzionalità di un database, di un sistema di ricerca e di analisi. Logstash è un pipeline di elaborazione dei dati lato server, in grado di acquisire dati da più fonti contemporaneamente, analizzare i log e poi inviare i dati nel database Elasticsearch. Kibana permette agli utenti di visualizzare i dati tramite diagrammi e grafici in Elasticsearch. Inoltre, tramite Kibana è possibile amministrare il database. Esamineremo più in dettaglio ogni sistema singolarmente.

1. Elastic stack: analisi dei log di sicurezza. Introduzione

Logstash

Logstash è un'utility per l'elaborazione dei log degli eventi provenienti da diverse fonti, che consente di estrarre i campi e i loro valori nei messaggi, e permette anche di configurare filtri ed editing dei dati. Dopo tutte le manipolazioni, Logstash reindirizza gli eventi verso lo storage finale. L'utility viene configurata esclusivamente tramite file di configurazione.
Una configurazione tipica di Logstash consiste in uno o più file che includono diversi flussi di informazioni in ingresso (input), vari filtri per questi dati (filter) e diversi flussi in uscita (output). Questo si presenta come uno o più file di configurazione, che nella sua forma più semplice (che non esegue davvero alcuna operazione) appare così:

input {
}

filter {
}

output {
}

Nell'INPUT configuriamo su quale porta arriveranno i log e con quale protocollo, oppure da quale cartella leggere nuovi file o file che vengono costantemente aggiornati. Nel FILTER configuriamo il parser dei log: l'analisi dei campi, la modifica dei valori, l'aggiunta di nuovi parametri o la rimozione. Il FILTER è l'area di gestione del messaggio che arriva a Logstash con una miriade di opzioni di modifica. Nell'output configuriamo dove inviare il log già analizzato, nel caso di Elasticsearch inviando una richiesta JSON contenente i campi con i valori, oppure, a scopo di debug, possiamo visualizzarlo in stdout o scriverlo in un file.

1. Elastic stack: analisi dei log di sicurezza. Introduzione

ElasticSearch

Inizialmente, Elasticsearch è una soluzione per la ricerca testuale completa, ma con funzionalità aggiuntive come la scalabilità semplice, la replica e altro, che hanno reso il prodotto molto pratico e una buona scelta per progetti ad alto carico con grandi volumi di dati. Elasticsearch è un archivio di documenti non relazionale (NoSQL) in formato JSON e un motore di ricerca basato sulla ricerca testuale completa Lucene. La piattaforma hardware è la Java Virtual Machine, quindi il sistema richiede una grande quantità di risorse della CPU e della RAM per funzionare.
Ogni messaggio in arrivo, sia da Logstash che tramite una richiesta API, viene indicizzato come "documento" – equivalente a una tabella in SQL relazionale. Tutti i documenti sono memorizzati nell'indice – equivalente a un database in SQL.

Esempio di documento nel database:

{
  "_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": "Esterno",
	"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",
    ]
}

Tutto il lavoro con il database si basa su richieste JSON tramite REST API, che restituiscono documenti per indice o forniscano alcune statistiche nel formato: domanda — risposta. Per visualizzare tutte le risposte alle richieste è stato sviluppato Kibana, che rappresenta un servizio web.

Kibana

Kibana consente di cercare e richiedere dati e statistiche dal database Elasticsearch, ma le risposte danno origine a molti grafici e cruscotti visivamente attraenti. Inoltre, il sistema ha funzionalità di amministrazione del database Elasticsearch, che esploreremo più dettagliatamente negli articoli successivi. Ora mostreremo un esempio di cruscotti per il firewall Check Point e il scanner di vulnerabilità OpenVas, che possono essere creati.

Esempio di cruscotto per Check Point, l'immagine è cliccabile:

1. Elastic stack: analisi dei log di sicurezza. Introduzione

Esempio di cruscotto per OpenVas, l'immagine è cliccabile:

1. Elastic stack: analisi dei log di sicurezza. Introduzione

Conclusione

Abbiamo esaminato di cosa è composto ELK stack, ci siamo un po' familiarizzati con i principali prodotti, e in seguito nel corso tratteremo separatamente la scrittura del file di configurazione Logstash, la configurazione dei cruscotti in Kibana, ci familiarizzeremo con le richieste API, l'automazione e molto altro ancora!

Quindi segui gli aggiornamenti (Telegram, Facebook, VK, Blog di TS Solution), Yandex.Zen.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster