1. Elastic stack: analyse af sikkerhedslogs. Introduktion

1. Elastic stack: analyse af sikkerhedslogs. Introduktion

På grund af ophøret af salg af lognings- og analysetjenesterne Splunk i Rusland, er spørgsmålet, hvad dette system kan erstattes med? Efter at have brugt tid på at sætte mig ind i forskellige løsninger, er jeg kommet frem til en løsning for den rigtige mand — «ELK stack». Dette system kræver tid til opsætning, men som resultat kan man opnå et meget kraftfuldt system til analyse af tilstand og hurtig reaktion på it-sikkerhedshændelser i organisationen. I denne artikelcyklus vil vi se nærmere på grundlæggende (eller måske ikke så grundlæggende) funktioner i ELK-stakken, hvordan man kan parse logs, hvordan man opbygger grafer og dashboards, og hvilke interessante funktioner man kan implementere med logs fra Check Point firewall eller OpenVas sikkerhedsscanner. Lad os først se, hvad ELK-stakken er, og hvilke komponenter den består af.

«ELK stack» – er en forkortelse for tre open source-projekter: Elasticsearch, Logstash og Kibana. Den bliver udviklet af Elastic sammen med alle relaterede projekter. Elasticsearch er kernen i hele systemet, som kombinerer funktioner fra database, søge- og analysetjenester. Logstash er en databehandlingspipeline på serversiden, der modtager data fra flere kilder samtidig, parser loggen, og derefter sender den til Elasticsearch-databasen. Kibana gør det muligt for brugerne at visualisere data med diagrammer og grafer i Elasticsearch. Desuden kan man administrere databasen via Kibana. Lad os derefter kigge nærmere på hver af systemerne separat.

1. Elastic stack: analyse af sikkerhedslogs. Introduktion

Logstash

Logstash – er et værktøj til behandling af loghændelser fra forskellige kilder, som kan bruges til at udtrække felter og deres værdier i meddelelser, og man kan også konfigurere filtrering og redigering af data. Efter alle manipulationerne videresender Logstash hændelserne til en endelig datalagring. Værktøjet konfigureres udelukkende gennem konfigurationsfiler.
En typisk Logstash-konfiguration består af en eller flere filer, der indeholder flere indkommende informationsstrømme (input), flere filtre til disse informationer (filter) og flere udgående strømme (output). Det ser ud som en eller flere konfigurationsfiler, hvor den simpleste version (som ikke gør noget som helst) ser således ud:

input {
}

filter {
}

output {
}

I INPUT konfigurerer vi, hvilken port loggene skal komme til, og hvilket protokol som skal brukes, eller hvilken mappe som nye eller kontinuerlig oppdaterte filer skal leses fra. I FILTER konfigurerer vi loggparseren: feltanalyse, redigering av verdier, tillegg av nye parametre eller sletting. FILTER er feltet for å styre meldingen som kommer til Logstash, med mange redigeringsalternativer. I output konfigurerer vi hvor de analyserte loggene skal sendes. Hvis det er Elasticsearch, sendes en JSON-forespørsel med feltene og verdiene, eller for debugging kan vi skrive til stdout eller lagre i en fil.

1. Elastic stack: analyse af sikkerhedslogs. Introduktion

ElasticSearch

Opprinnelig er Elasticsearch en løsning for fulltekstsøk, men med ekstra bekvemmeligheter som enkel skalerbarhet, replikering og annet, som har gjort produktet veldig praktisk og godt egnet for høytrafikkprosjekter med store datamengder. Elasticsearch er et ikke-relasjonelt datalager (NoSQL) for dokumenter i JSON-format, og en søkemotor basert på fulltekstsøk med Lucene. Maskinvareplattformen er Java Virtual Machine, så systemet krever en betydelig mengde prosessorkraft og minne for å fungere.
Hver mottatt melding, enten fra Logstash eller via API-forespørselen, indekseres som et "dokument" - analogt til en tabell i relasjons-SQL. Alle dokumenter lagres i en indeks - analogt til en database i SQL.

Eksempel på 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": "Ekstern",
	"layer_name": [
  	"TSS-Standard Sikkerhet",
  	"TSS-Standard Applikasjon"
	],
	"time": "1565269565",
	"dst": "103.5.198.210",
	"parent_rule": "0",
	"host": "10.10.10.250",
	"ifname": "eth6",
    ]
}

Alt arbeid med databasen bygger på JSON-forespørslene ved hjelp av REST API, som enten returnerer dokumenter basert på indeks eller statistikk i formatet: spørsmål — svar. For å visualisere alle svarene på forespørslene ble Kibana laget, som er en nettbasert tjeneste.

Kibana

Kibana giver mulighed for at søge, hente data og forespørge statistik fra Elasticsearch-databasen, men mange smukke grafikker og dashboards er bygget på grundlag af svarene. Systemet har også administrationsfunktionalitet for Elasticsearch-databasen, og i de følgende artikler vil vi se nærmere på denne tjeneste. Men nu vil vi vise et eksempel på dashboards for firewall Check Point og sårbarhedsscanneren OpenVas, som kan opbygges.

Eksempel på dashboard for Check Point, billedet er klikbart:

1. Elastic stack: analyse af sikkerhedslogs. Introduktion

Eksempel på dashboard for OpenVas, billedet er klikbart:

1. Elastic stack: analyse af sikkerhedslogs. Introduktion

Konklusion

Vi har set på, hvad der består af ELK stack, og blevet lidt bekendt med de primære produkter. I det følgende kursus vil vi særskilt se på oprettelsen af konfigurationsfilen til Logstash, opsætning af dashboards i Kibana, introduktion til API-anmodninger, automatisering og meget mere!

Så hold øje med opdateringer (Telegram, Facebook, VK, TS Solution Blog), Yandex.Zen.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster