1. Elastic stack: analys av sÀkerhetsloggar. Introduktion

1. Elastic stack: analys av sÀkerhetsloggar. Introduktion

I samband med att försĂ€ljningen av logg- och analysystemet Splunk upphörde i Ryssland, uppstod frĂ„gan om vilket alternativ som kan anvĂ€ndas istĂ€llet. Efter att ha spenderat tid pĂ„ att bekanta mig med olika lösningar, bestĂ€mde jag mig för en lösning för den verkliga mannen — «ELK stack». Detta system krĂ€ver tid för konfiguration, men slutresultatet kan ge ett mycket kraftfullt verktyg för att analysera tillstĂ„ndet och snabbt reagera pĂ„ incidenter inom informationssĂ€kerheten i organisationen. I denna artikelserie kommer vi att titta pĂ„ grundlĂ€ggande (eller kanske inte) funktioner hos ELK-stacken, hur man kan parsa loggar, bygga diagram och dashboards, samt vilka intressanta funktioner man kan skapa med exempel pĂ„ loggar frĂ„n brandvĂ€ggen Check Point eller sĂ€kerhetsskannern OpenVas. Vi börjar med att utforska vad ELK-stacken Ă€r och vilka komponenter den bestĂ„r av.

«ELK stack» — Ă€r en förkortning av tre projekt med öppen kĂ€llkod: Elasticsearch, Logstash och Kibana. Utvecklas av företaget Elastic tillsammans med alla relaterade projekt. Elasticsearch Ă€r kĂ€rnan i hela systemet, som kombinerar funktioner av databas, sök- och analysystem. Logstash Ă€r en databehandlingspipeline pĂ„ serverns sida som tar emot data frĂ„n flera kĂ€llor samtidigt, parserar loggen och skickar den sedan till Elasticsearch-databasen. Kibana gör det möjligt för anvĂ€ndare att visualisera data med hjĂ€lp av diagram och grafer i Elasticsearch. Genom Kibana kan man Ă€ven administrera databasen. LĂ„t oss sedan titta noggrant pĂ„ varje system separat.

1. Elastic stack: analys av sÀkerhetsloggar. Introduktion

Logstash

Logstash – Ă€r ett verktyg för behandling av logghĂ€ndelser frĂ„n olika kĂ€llor, som gör det möjligt att extrahera fĂ€lt och deras vĂ€rden frĂ„n meddelandet, samt att stĂ€lla in filtrering och redigering av data. Efter alla manipulationer omdirigerar Logstash hĂ€ndelserna till det slutliga datalagringsutrymmet. Verktyget konfigureras endast via konfigurationsfiler.
En typisk konfiguration av logstash bestÄr av en eller flera filer som innehÄller flera inkommande informationsflöden (input), flera filter för denna information (filter) och flera utgÄende flöden (output). Det ser ut som en eller flera konfigurationsfiler, som i det enklaste fallet (som inte gör nÄgonting) ser ut sÄ hÀr:

input {
}

filter {
}

output {
}

I INPUT konfigurerar vi vilken port loggarna ska komma till och vilket protokoll som ska anvÀndas, eller frÄn vilken mapp nya eller kontinuerligt skrivande filer ska lÀsas. I FILTER konfigurerar vi loggparseraren: analys av fÀlt, redigering av vÀrden, tillÀgg av nya parametrar eller borttagning. FILTER Àr ett fÀlt för att hantera meddelandet som kommer till Logstash med en mÀngd redigeringsalternativ. I output konfigurerar vi vart vi skickar den redan analyserade loggen, om det handlar om Elasticsearch skickas en JSON-förfrÄgan, dÀr fÀlten med vÀrden skickas, eller sÄ kan vi under felsökning skriva ut i stdout eller spara i en fil.

1. Elastic stack: analys av sÀkerhetsloggar. Introduktion

ElasticSearch

Ursprungligen Àr Elasticsearch en lösning för fulltextsökning, men med ytterligare bekvÀmligheter, sÄsom enklare skalning, replikering och mer, vilket har gjort produkten mycket praktisk och en bra lösning för högbelastade projekt med stora datavolymer. Elasticsearch Àr en icke-relationell (NoSQL) databas för dokument format i JSON, och en sökmotor baserad pÄ fulltextsökning med Lucene. Den hÄrdvaruplattform som anvÀnds Àr Java Virtual Machine, sÄ systemet krÀver en stor mÀngd CPU- och minnesresurser för att fungera.
Varje meddelande som kommer, antingen frĂ„n Logstash eller via en API-förfrĂ„gan, indexeras som ett "dokument" – motsvarigheten till en tabell i relationell SQL. Alla dokument lagras i ett index – motsvarigheten till en databas i SQL.

Exempel pÄ ett 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",
    ]
}

Allt arbete med databasen bygger pĂ„ JSON-förfrĂ„gningar via REST API, som antingen returnerar dokument efter index eller nĂ„gon form av statistik i formatet: frĂ„ga — svar. För att visualisera alla svar pĂ„ förfrĂ„gningar har Kibana skrivits, som Ă€r en webbtjĂ€nst.

Kibana

Kibana gör det möjligt att söka, hÀmta data och begÀra statistik frÄn elasticsearch-databasen, och baserat pÄ svaren skapas mÄnga vackra diagram och dashboards. Systemet har ocksÄ funktionalitet för administration av elasticsearch-databasen. I kommande artiklar kommer vi att titta nÀrmare pÄ denna tjÀnst. Nu visar vi ett exempel pÄ dashboards för brandvÀggen Check Point och sÄrbarhetsskannern OpenVas som kan skapas.

Exempel pÄ dashboard för Check Point, bilden Àr klickbar:

1. Elastic stack: analys av sÀkerhetsloggar. Introduktion

Exempel pÄ dashboard för OpenVas, bilden Àr klickbar:

1. Elastic stack: analys av sÀkerhetsloggar. Introduktion

Slutsats

Vi har granskat bestÄndsdelen av ELK stack, fÄtt en liten introduktion till de grundlÀggande produkterna, och i kursen kommer vi att titta nÀrmare pÄ att skriva konfigurationsfilen för Logstash, konfigurera dashboards i Kibana, bekanta oss med API-anrop, automation och mycket mer!

SÄ hÄll utkik efter uppdateringar (Telegram, Facebook, VK, TS Solution Blog), Yandex.Dzen.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster