1.Elastisk stabel: analyse av sikkerhetslogger. Introduksjon

1.Elastisk stabel: analyse av sikkerhetslogger. Introduksjon

I forbindelse med slutten av salget i Russland av Splunk-loggings- og analysesystemet, oppsto spørsmålet: hva kan erstatte denne løsningen med? Etter å ha brukt tid på å gjøre meg kjent med forskjellige løsninger, bestemte jeg meg for en løsning for en ekte mann - "ELK stack". Dette systemet tar tid å sette opp, men som et resultat kan du få et meget kraftig system for å analysere status og raskt reagere på informasjonssikkerhetshendelser i organisasjonen. I denne artikkelserien vil vi se på de grunnleggende (eller kanskje ikke) egenskapene til ELK-stakken, vurdere hvordan du kan analysere logger, hvordan du bygger grafer og dashbord, og hvilke interessante funksjoner som kan gjøres ved å bruke eksemplet med logger fra Check Point-brannmuren eller OpenVas-sikkerhetsskanneren. Til å begynne med, la oss se på hva det er - ELK-stakken, og hvilke komponenter den består av.

"ELK stack" er et akronym for tre åpen kildekode-prosjekter: Elasticsearch, Logstash и Kibana. Utviklet av Elastic sammen med alle relaterte prosjekter. Elasticsearch er kjernen i hele systemet, som kombinerer funksjonene til en database, et søk og et analysesystem. Logstash er en databehandlingspipeline på serversiden som mottar data fra flere kilder samtidig, analyserer loggen og deretter sender den til en Elasticsearch-database. Kibana lar brukere visualisere data ved hjelp av diagrammer og grafer i Elasticsearch. Du kan også administrere databasen gjennom Kibana. Deretter vil vi vurdere hvert system separat i mer detalj.

1.Elastisk stabel: analyse av sikkerhetslogger. Introduksjon

Logstash

Logstash er et verktøy for å behandle logghendelser fra ulike kilder, med hvilket du kan velge felt og deres verdier i en melding, og du kan også konfigurere datafiltrering og redigering. Etter alle manipulasjoner omdirigerer Logstash hendelser til det endelige datalageret. Verktøyet konfigureres kun gjennom konfigurasjonsfiler.
En typisk logstash-konfigurasjon er en fil(er) som består av flere innkommende strømmer av informasjon (input), flere filtre for denne informasjonen (filter) og flere utgående strømmer (output). Det ser ut som en eller flere konfigurasjonsfiler, som i den enkleste versjonen (som ikke gjør noe i det hele tatt) ser slik ut:

input {
}

filter {
}

output {
}

I INPUT konfigurerer vi hvilken port loggene skal sendes til og gjennom hvilken protokoll, eller fra hvilken mappe vi skal lese nye eller stadig oppdaterte filer. I FILTER konfigurerer vi loggparseren: analysere felt, redigere verdier, legge til nye parametere eller slette dem. FILTER er et felt for å administrere meldingen som kommer til Logstash med mange redigeringsmuligheter. I output konfigurerer vi hvor vi sender den allerede parsede loggen, i tilfelle det er elasticsearch sendes en JSON-forespørsel der felt med verdier sendes, eller som en del av feilsøkingen kan den sendes ut til stdout eller skrives til en fil.

1.Elastisk stabel: analyse av sikkerhetslogger. Introduksjon

Elasticsearch

I utgangspunktet er Elasticsearch en løsning for fulltekstsøk, men med tilleggsfasiliteter som enkel skalering, replikering og andre ting, som gjorde produktet veldig praktisk og en god løsning for høybelastningsprosjekter med store datamengder. Elasticsearch er en ikke-relasjonell (NoSQL) JSON dokumentbutikk og søkemotor basert på Lucene fulltekstsøk. Maskinvareplattformen er Java Virtual Machine, så systemet krever en stor mengde prosessor- og RAM-ressurser for å fungere.
Hver innkommende melding, enten med Logstash eller ved bruk av spørrings-API, indekseres som et "dokument" - analogt med en tabell i relasjons SQL. Alle dokumenter er lagret i en indeks - en analog av en database i SQL.

Eksempel på et dokument i databasen:

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

Alt arbeid med databasen er basert på JSON-forespørsler ved hjelp av REST API, som enten produserer dokumenter etter indeks eller noe statistikk i formatet: spørsmål - svar. For å visualisere alle svar på forespørsler ble Kibana skrevet, som er en webtjeneste.

Kibana

Kibana lar deg søke, hente data og spørre etter statistikk fra elasticsearch-databasen, men mange flotte grafer og dashboard er bygget basert på svarene. Systemet har også elasticsearch-databaseadministrasjonsfunksjonalitet; i påfølgende artikler vil vi se nærmere på denne tjenesten. La oss nå vise et eksempel på dashbord for Check Point-brannmuren og OpenVas-sårbarhetsskanneren som kan bygges.

Et eksempel på et dashbord for Check Point, bildet er klikkbart:

1.Elastisk stabel: analyse av sikkerhetslogger. Introduksjon

Et eksempel på et dashbord for OpenVas, bildet er klikkbart:

1.Elastisk stabel: analyse av sikkerhetslogger. Introduksjon

Konklusjon

Vi har sett på hva den består av ELK-stabel, vi ble litt kjent med hovedproduktene, senere i kurset vil vi separat vurdere å skrive en Logstash konfigurasjonsfil, sette opp dashboards på Kibana, sette oss inn i API-forespørsler, automatisering og mye mer!

Så følg medTelegram, Facebook , VK, TS Løsningsblogg), Yandex Zen.

Kilde: www.habr.com

Legg til en kommentar