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

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

A causa della conclusione delle vendite in Russia del sistema di registrazione e analisi Splunk, è sorta la domanda: con cosa possiamo sostituire questa soluzione? Dopo aver trascorso del tempo a familiarizzare con diverse soluzioni, ho scelto quella per l'uomo vero — «ELK stack». Questo sistema richiede tempo per la sua configurazione, ma alla fine si può ottenere un sistema molto potente per l'analisi dello stato e la risposta operativa agli incidenti di sicurezza informatica all'interno dell'organizzazione. In questo ciclo di articoli esamineremo le funzionalità di base (o forse no) dello stack ELK, vedremo come è possibile analizzare i log, come costruire grafici e dashboard, e quali funzioni interessanti possono essere implementate utilizzando i log del firewall Check Point o dello scanner di sicurezza OpenVas. Iniziamo a esaminare quindi cos'è esattamente lo stack ELK e di quali componenti è composto.

«ELK stack» — è un acronimo di tre progetti open-source: Elasticsearch, Logstash e Kibana. Sviluppato dall'azienda Elastic insieme a tutti i progetti correlati. Elasticsearch è il nucleo dell'intero sistema, che combina le funzionalità di un database, di un sistema di ricerca e di analisi. Logstash è una pipeline di elaborazione dei dati lato server, che riceve dati da più fonti contemporaneamente, elabora i log e poi li invia al database Elasticsearch. Kibana permette agli utenti di visualizzare i dati tramite grafici e diagrammi in Elasticsearch. Inoltre, tramite Kibana è possibile amministrare il database. Successivamente, esamineremo ciascun sistema in dettaglio.

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

Logstash

Logstash è uno strumento per l'elaborazione dei log di eventi provenienti da varie fonti, con cui è possibile estrarre i campi e i loro valori nei messaggi, e si possono anche configurare filtri e modifiche ai dati. Dopo tutte le operazioni, Logstash reindirizza gli eventi verso lo storage finale. Lo strumento viene configurato esclusivamente tramite file di configurazione.
Una configurazione tipica di Logstash consiste in file che comprendono più flussi di informazioni in ingresso (input), diversi filtri per queste informazioni (filter) e più flussi di uscita (output). Questo appare come uno o più file di configurazione, che nel caso più semplice (che non fa assolutamente nulla) appare così:

input {
}

filter {
}

output {
}

In INPUT configuriamo a quale porta saranno inviati i log e con quale protocollo, oppure da quale cartella leggere nuovi file o file che vengono continuamente aggiunti. In FILTER configuriamo il parser dei log: analisi dei campi, modifica dei valori, aggiunta di nuovi parametri o eliminazione. FILTER è un campo per gestire il messaggio che arriva a Logstash con un'ampia gamma di opzioni di modifica. In output configuriamo dove inviare il log già analizzato; nel caso di elasticsearch viene inviato una richiesta JSON, in cui vengono inviati i campi con i valori, oppure, in fase di debug, possiamo visualizzare in stdout o salvare in un file.

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

ElasticSearch

Inizialmente, Elasticsearch è una soluzione per la ricerca testuale completa, ma con vantaggi aggiuntivi, come una facile scalabilità, replica e altro, che hanno reso il prodotto molto comodo e una buona soluzione per progetti ad alta intensità con grandi volumi di dati. Elasticsearch è un archivio di documenti non relazionali (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 molte risorse di CPU e RAM per funzionare.
Ogni messaggio in arrivo, sia da Logstash o tramite una richiesta API, viene indicizzato come 'documento' – equivalente a una tabella in un SQL relazionale. Tutti i documenti sono memorizzati in un 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 oppure statitiche nel formato: domanda - risposta. Per visualizzare tutte le risposte alle richieste è stato sviluppato Kibana, un servizio web.

Kibana

Kibana consente di cercare dati e richiedere statistiche dal database ElasticSearch; sulla base delle risposte vengono costruiti numerosi grafici e dashboard accattivanti. Inoltre, il sistema ha funzionalità di amministrazione del database ElasticSearch; nei prossimi articoli esamineremo più dettagliatamente questo servizio. Ora mostriamo un esempio di dashboard del firewall Check Point e del scanner di vulnerabilità OpenVas che possono essere creati.

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

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

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

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

Conclusione

Abbiamo esaminato di cosa è composto ELK stack, abbiamo fatto una breve conoscenza con i prodotti principali; in seguito nel corso esamineremo separatamente la scrittura di un file di configurazione Logstash, la configurazione delle dashboard su Kibana, ci familiarizzeremo con le richieste API, l'automazione e molto altro ancora!

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

Fonte: habr.com

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