1. Elastic stack: analyse av sikkerhetslogger. Innledning

1. Elastic stack: analyse av sikkerhetslogger. Innledning

Med avslutningen av salget av logging- og analyssystemet Splunk i Russland, har spĂžrsmĂ„let om hva dette lĂžsningen kan erstattes med oppstĂ„tt. Etter Ă„ ha brukt tid pĂ„ Ă„ bli kjent med forskjellige lĂžsninger, har jeg landet pĂ„ lĂžsningen for den ekte mannen — «ELK stack». Dette systemet krever tid for oppsett, men resultatet kan vĂŠre et veldig kraftig system for analyse av tilstand og hurtig respons pĂ„ hendelser innen informasjonssikkerhet i organisasjonen. I denne artikkelserien vil vi se pĂ„ de grunnleggende (eller kanskje ikke sĂ„ grunnleggende) funksjonene til ELK-stacken, hvordan man kan analysere logger, bygge diagrammer og dashbord, samt hvilke interessante funksjoner man kan lage med logger fra brannmuren Check Point eller sikkerhetsscanneren OpenVas. La oss fĂžrst se pĂ„ hva ELK-stacken er og hvilke komponenter den bestĂ„r av.

«ELK stack» — er en forkortelse fra tre prosjekter med Ă„pen kildekode: Elasticsearch, Logstash og Kibana. Den utvikles av selskapet Elastic sammen med alle relaterte prosjekter. Elasticsearch er kjernen i hele systemet, som kombinerer funksjoner for database, sĂžke- og analyssystem. Logstash er en databehandlingspipeline pĂ„ serversiden, som fĂ„r data fra flere kilder samtidig, parser loggene og deretter sender dem til Elasticsearch-databasen. Kibana lar brukere visualisere data ved hjelp av diagrammer og grafer i Elasticsearch. Gjennom Kibana kan man ogsĂ„ administrere databasen. Vi vil deretter se nĂŠrmere pĂ„ hvert enkelt system.

1. Elastic stack: analyse av sikkerhetslogger. Innledning

Logstash

Logstash er et verktÞy for behandling av logghendelser fra ulike kilder, som lar deg trekke ut felter og deres verdier i meldinger. Det er ogsÄ mulig Ä sette opp filtrering og redigering av data. Etter alle manipulasjoner sender Logstash hendelsene til det endelige datalageret. VerktÞyet konfigureres kun gjennom konfigurasjonsfiler.
En typisk Logstash-konfigurasjon bestÄr av én eller flere filer som inneholder flere innkommende informasjonsstrÞmmer (input), flere filtre for denne informasjonen (filter) og flere utgÄende strÞmmer (output). Dette vises som én eller flere konfigurasjonsfiler, som i det enkleste tilfellet (som ikke gjÞr noe som helst) ser slik ut:

input {
}

filter {
}

output {
}

I INPUT konfigurerer vi hvilken port loggene skal komme til og hvilket protokoll som skal brukes, eller fra hvilken mappe vi skal lese nye eller kontinuerlig skrivende filer. I FILTER konfigurerer vi loggparseren: analyse av felt, redigering av verdier, legge til nye parametere eller fjerne. FILTER er et omrÄde for Ä administrere meldingen som kommer til Logstash med mange redigeringsmuligheter. I output konfigurerer vi hvor vi sender den allerede analyserte loggen; hvis det er Elasticsearch, sendes en JSON-forespÞrsel som sender feltene med verdiene, eller i debugging kan vi skrive ut til stdout eller lagre i en fil.

1. Elastic stack: analyse av sikkerhetslogger. Innledning

ElasticSearch

Opprinnelig er Elasticsearch en lÞsning for fulltekstsÞk, men med tilleggsmuligheter som enkelt skalering, replikering og annet som har gjort produktet svÊrt praktisk og en god lÞsning for hÞybelastede prosjekter med store datamengder. Elasticsearch er et ikke-relasjonelt (NoSQL) dokumentlagringssystem i JSON-format, samt en sÞkemotor basert pÄ fulltekstsÞk med Lucene. Den tekniske plattformen er Java Virtual Machine, sÄ systemet krever en stor mengde prosessorkraft og RAM for Ä fungere.
Hver innkommende melding, enten fra Logstash eller ved hjelp av API-forespþrsel, indekseres som et "dokument" – tilsvarende en tabell i relasjons-SQL. Alle dokumenter lagres i indeksen – tilsvarende 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 bygget pĂ„ JSON-forespĂžrsel ved hjelp av REST API, som enten gir dokumenter etter indeks eller en type statistikk i formatet: spĂžrsmĂ„l – svar. For Ă„ visualisere alle svarene pĂ„ forespĂžrslene ble Kibana utviklet, som representerer seg selv som en webtjeneste.

Kibana

Kibana gjÞr det mulig Ä sÞke etter og forespÞrre data fra Elasticsearch-databasen, basert pÄ svarene bygges mange vakre grafer og dashbord. Systemet har ogsÄ funksjonalitet for administrasjon av Elasticsearch-databasen, i kommende artikler vil vi se nÊrmere pÄ denne tjenesten. NÄ vil vi vise et eksempel pÄ dashbordene for brannmuren Check Point og sÄrbarhetsskanneren OpenVas, som kan bygges.

Eksempel pÄ dashbord for Check Point, bildet er klikkbart:

1. Elastic stack: analyse av sikkerhetslogger. Innledning

Eksempel pÄ dashbord for OpenVas, bildet er klikkbart:

1. Elastic stack: analyse av sikkerhetslogger. Innledning

Konklusjon

Vi har sett pÄ hva som bestÄr av ELK-stakken, og blitt litt kjent med hovedproduktene; videre vil vi i kurset se nÊrmere pÄ skriving av Logstash-konfigurasjonsfil, oppsett av dashbord i Kibana, bli kjent med API-forespÞrslene, automatisering og mye mer!

SÄ fÞlg med pÄ oppdateringene (Telegram, Facebook, VK, TS Solution Blog), Yandex.Zen.

Kilde: habr.com

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster