1.Stack elastico: analisi dei log di sicurezza. introduzione

1.Stack elastico: analisi dei log di sicurezza. introduzione

In connessione con la fine delle vendite in Russia del sistema di registrazione e analisi Splunk, è sorta la domanda: con cosa può sostituire questa soluzione? Dopo aver passato del tempo a familiarizzare con diverse soluzioni, ho optato per una soluzione per un vero uomo: "Pila ELK". L'installazione di questo sistema richiede tempo, ma di conseguenza è possibile ottenere un sistema molto potente per analizzare lo stato e rispondere tempestivamente agli incidenti di sicurezza delle informazioni nell'organizzazione. In questa serie di articoli esamineremo le funzionalità di base (o forse no) dello stack ELK, considereremo come analizzare i log, come creare grafici e dashboard e quali funzioni interessanti possono essere eseguite utilizzando l'esempio dei log di il firewall Check Point o lo scanner di sicurezza OpenVas. Per cominciare, diamo un'occhiata a cos'è: lo stack ELK e da quali componenti è composto.

"Pila ELK" è l'acronimo di tre progetti open source: elasticsearch, Logstash и Kibana. Sviluppato da Elastic insieme a tutti i progetti correlati. Elasticsearch è il nucleo dell'intero sistema, che combina le funzioni di un database, di ricerca e di un sistema analitico. Logstash è una pipeline di elaborazione dati lato server che riceve dati da più fonti contemporaneamente, analizza il registro e quindi lo invia a un database Elasticsearch. Kibana consente agli utenti di visualizzare i dati utilizzando diagrammi e grafici in Elasticsearch. Puoi anche amministrare il database tramite Kibana. Successivamente, considereremo ciascun sistema separatamente in modo più dettagliato.

1.Stack elastico: analisi dei log di sicurezza. introduzione

Logstash

Logstash è un'utilità per l'elaborazione di eventi di registro da varie fonti, con la quale è possibile selezionare i campi e i relativi valori in un messaggio, nonché configurare il filtraggio e la modifica dei dati. Dopo tutte le manipolazioni, Logstash reindirizza gli eventi all'archivio dati finale. L'utilità viene configurata solo tramite file di configurazione.
Una tipica configurazione logstash è uno o più file costituiti da diversi flussi di informazioni in entrata (input), diversi filtri per queste informazioni (filtro) e diversi flussi in uscita (output). Si presenta come uno o più file di configurazione, che nella versione più semplice (che non fa assolutamente nulla) assomiglia a questo:

input {
}

filter {
}

output {
}

In INPUT configuriamo a quale porta verranno inviati i log e attraverso quale protocollo, o da quale cartella leggere i file nuovi o costantemente aggiornati. In FILTER configuriamo il parser del log: analisi dei campi, modifica dei valori, aggiunta di nuovi parametri o eliminazione degli stessi. FILTRO è un campo per la gestione del messaggio che arriva a Logstash con molte opzioni di modifica. Nell'output configuriamo dove inviamo il log già analizzato, nel caso si tratti di elasticsearch viene inviata una richiesta JSON in cui vengono inviati i campi con valori, oppure come parte del debug può essere emesso su stdout o scritto in un file.

1.Stack elastico: analisi dei log di sicurezza. introduzione

ElasticSearch

Inizialmente, Elasticsearch è una soluzione per la ricerca full-text, ma con servizi aggiuntivi come facile scalabilità, replica e altre cose, che hanno reso il prodotto molto conveniente e una buona soluzione per progetti ad alto carico con grandi volumi di dati. Elasticsearch è un archivio di documenti JSON non relazionale (NoSQL) e un motore di ricerca basato sulla ricerca full-text di Lucene. La piattaforma hardware è Java Virtual Machine, quindi il sistema richiede una grande quantità di risorse di processore e RAM per funzionare.
Ogni messaggio in arrivo, sia con Logstash che utilizzando l'API di query, viene indicizzato come un "documento", analogo a una tabella in SQL relazionale. Tutti i documenti sono archiviati in un indice, un analogo di un database in SQL.

Esempio di un 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": "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",
    ]
}

Tutto il lavoro con il database si basa su richieste JSON utilizzando l'API REST, che produce documenti per indice o alcune statistiche nel formato: domanda - risposta. Per visualizzare tutte le risposte alle richieste è stato scritto Kibana, un servizio web.

Kibana

Kibana ti consente di cercare, recuperare dati ed eseguire query statistiche dal database elasticsearch, ma molti bellissimi grafici e dashboard vengono creati in base alle risposte. Il sistema dispone anche di funzionalità di amministrazione del database elasticsearch; negli articoli successivi esamineremo questo servizio in modo più dettagliato. Ora mostriamo un esempio di dashboard che è possibile creare per il firewall Check Point e lo scanner di vulnerabilità OpenVas.

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

1.Stack elastico: analisi dei log di sicurezza. introduzione

Un esempio di dashboard per OpenVas, l'immagine è cliccabile:

1.Stack elastico: analisi dei log di sicurezza. introduzione

conclusione

Abbiamo visto in cosa consiste Stack ELK, abbiamo conosciuto un po' i prodotti principali, più avanti nel corso considereremo separatamente la scrittura di un file di configurazione Logstash, l'impostazione di dashboard su Kibana, la conoscenza delle richieste API, dell'automazione e molto altro!

Quindi rimanete sintonizzati (Telegram, Facebook, VK, Blog sulle soluzioni TS), Yandeks.Dzen.

Fonte: habr.com

Aggiungi un commento