Exempel på open source-lösning för loggning (Elastic stack)
ECS är en Open Source specifikation, utvecklad med stöd från Elastic användarforum, som definierar en gemensam uppsättning dokumentfält för data som matas in till en lagringsyta, till exempel Elasticsearch.
Elastic Common Schema (ECS) är en öppen källkodsspecifikation, utvecklad med stöd från Elastic-användargemenskapen. ECS definierar en gemensam uppsättning fält som ska användas vid lagring av händelsedata i Elasticsearch, såsom loggar och mätvärden.
ECS – Elastic Common Schema.
https://github.com/elastic/ecs Länk till annan webbplats.
https://www.elastic.co/guide/en/ecs/current/index.html Länk till annan webbplats.
ECS är en Open Source specifikation, utvecklad med stöd från Elastic användarforum, som definierar en gemensam uppsättning dokumentfält för data som matas in till en lagringsyta, till exempel Elasticsearch.
ECS är designad för att stödja enhetlig datamodellering som gör att du kan centralt analysera data från olika källor.
ECS tillhandahåller också en uppsättning namngivningsriktlinjer för att lägga till anpassade fält.
Söker man traditionellt i olika datakällor kan man behöva skriva långa sökningar:
src:10.42.42.42 OR client_ip:10.42.42.42 OR apache.access.remote_ip:10.42.42.42 OR context.user.ip:10.42.42.42 OR src_ip:10.42.42.42
Har man mappat alla källor till ECS, blir sökningen enkel:
source.ip:10.42.42.42
Elastic stack tidigare kallad ELK-stacken (ELK = Elasticsearch Logstash Kibana), är sammansatt av fyra Open Source och Freeware produkter:
Elasticsearch: Lagring och indexering. (Freeware)
Logstash: Datainsamling och aggregering.
Kibana: Grafiskt gränssnitt, analys- och visualiseringsplattform. (Freeware)
Beats: Små datatransportörer som kan skicka data till Logstash eller direkt till Elasticsearch.
Fördelar:
- Stödjer ECS-standarden.
- Bygger på Open Source, Freeware och har RESTful gränssnitt.
- Elasticsearch kan lagra stora mängder data där man kan fritextsöka nästan i realtid och få svar inom millisekunder på grund av att data indexeras direkt vid lagring.
- Bygger på liknande tänk som RAID-system, vilket gör skrivningar och läsningar snabbare med flera noder i ett kluster och man kan förlora nod/noder utan att förlora data.
- Kan skapa kontrollsumma (Hash) och bli oföränderlig (Skriv en gång läs flera).
- Maskininlärning (anomalidetektering, hitta intrång, hitta liknande bilder, förutsägningar).
Nackdelar:
- Bör inte användas som det primära datalagret.
- Mer komplex på grund av annan teknik.
- Kan vara dyrt beroende på hur många noder man lägger till i klustret.
- Maskininlärning kräver en licens från Elastic.
- Granskningsloggning (Audit) kräver licens en licens från Elastic.
- Integration med Active Directory, LDAP, PKI kräver en licens från Elastic.
- Single sign-on (SAML, OpenID Connect, Kerbeos) kräver en licens från Elastic.
- Kryptering vid lagring kräver en licens från Elastic.
- Integration med ServiceNow, email, m.fl. kräver en licens från Elastic.
- Watcher (Bevakare) med åtgärder, kräver en licens från Elastic.
- Larm i kombination med externa åtgärder kräver en licens från Elastic.
ECS – Elastic Common Schema
https://github.com/elastic/ecs Länk till annan webbplats.
https://www.elastic.co/guide/en/ecs/current/index.html Länk till annan webbplats.
ECS är en Open Source specifikation, utvecklad med stöd från Elastic användarforum, som definierar en gemensam uppsättning dokumentfält för data som matas in till en lagringsyta, t.ex. Elasticsearch.
ECS är designad för att stödja enhetlig datamodellering som gör att du kan centralt analysera data från olika källor.
ECS tillhandahåller också en uppsättning namngivningsriktlinjer för att lägga till anpassade fält.
Förenklad sökning
Söker man traditionellt i olika datakällor kan man behöva skriva långa sökningar:
src:10.42.42.42 OR client_ip:10.42.42.42 OR apache.access.remote_ip:10.42.42.42 OR context.user.ip:10.42.42.42 OR src_ip:10.42.42.42
Har man mappat alla källor till ECS, blir sökningen enkel:
source.ip:10.42.42.42
Gruppering av samtliga dokumentfält i ECS
- Base Fields
- Agent Fields
- Autonomous System Fields
- Client Fields
- Cloud Fields
- Code Signature Fields
- Container Fields
- Data Stream Fields
- Destination Fields
- Device Fields
- DLL Fields
- DNS Fields
- ECS Fields
- ELF Header Fields
- Email Fields
- Error Fields
- Event Fields
- FaaS Fields
- File Fields
- Geo Fields
- Group Fields
- Hash Fields
- Host Fields
- HTTP Fields
- Interface Fields
- Log Fields
- Network Fields
- Observer Fields
- Orchestrator Fields
- Organization Fields
- Operating System Fields
- Package Fields
- PE Header Fields
- Process Fields
- Registry Fields
- Related Fields
- Risk information Fields
- Source Fields
- Threat Fields
- TLS Fields
- Tracing Fields
- URL Fields
- Rule Fields
- Server Fields
- Service Fields
- User Fields
- User agent Fields
- VLAN Fields
- Vulnerability Fields
- x509 Certificate Fields
- Custom Fields
EX Source Fields
- source.address
- source.bytes
- source.domain
- source.ip
- source.mac
- source.nat.ip
- source.nat.port
- source.packets
- source.port
- source.registered_domain
- source.subdomain
- source.top_level_domain
Elastic stack (ELK-stacken)
Elastic stack tidigare kallad ELK-stacken (ELK = Elasticsearch Logstash Kibana), är sammansatt av fyra Open Source och Freeware produkter:
Elasticsearch: Lagring och indexering (Freeware)
Logstash: Datainsamling och aggregering
Kibana: Grafiskt gränssnitt, analys- och visualiseringsplattform (Freeware)
Beats: Små datatransportörer som kan skicka data till Logstash eller direkt till Elasticsearch
Flöde från en server:
Server->Beat(Skicka)->Logstash(Analysera, filtrera och transformera)
->Elasticsearch(Lagra, indexera)->Kibana(Visualisera)
2010: Elasticsearch skapades av Shay Bannon som en matlagningsapp till sin fru för att samla in och indexera kunskap på ett ställe. Teknologin sägs ofta vara inspirerad av Minority Report, där man letar information och zoomar in och ut. (Handgester är dock inte implementerat än…)
2012: Grundades Elastic Co.
2019: Används av Wikipedia, Stack Overflow, GitHub, Netflix, LinkedIn, etc.
2021: Elasticsearch och Kibana är inte längre Open Source. Licensen är mer lik Freeware (Får inte användas kommersiellt, men annars gratis) från och med version 7.11. Se referenser.
Jämnförelse med relationsdatabaser
Realtionsdatabas | Elasticsearch |
---|---|
Databas | Index/Indices |
Tabeller | Mönster/Typer |
Rader | Dokument (JSON) |
Kolumner | Fält |
Elasticsearch bör inte vara det primära datalagret, eftersom det enbart stödjer atomicitet per dokument och inte transaktioner som relationsdatabaser gör enligt ACID (Atomicitet, Konsistens, Isolering, Robusthet/Durability).
Elasticsearch är en OLAP-databas (OnLine Analytisk Behandling/Processing) till skillnad från OLTP-databaser (OnLine Transaktionsbehandling/Processing).
Fördelar och nackdelar
Fördelar:
- Stödjer ECS-standarden.
- Bygger på Open Source, Freeware och har RESTful gränssnitt.
- Elasticsearch kan lagra stora mängder data där man kan fritextsöka nästan i realtid och få svar inom millisekunder på grund av att data indexeras direkt vid lagring.
- Bygger på liknande tänk som RAID-system, vilket gör skrivningar och läsningar snabbare med flera noder i ett kluster och man kan förlora nod/noder utan att förlora data.
- Kan skapa kontrollsumma (Hash) och bli oföränderlig (Skriv en gång läs flera).
- Maskininlärning (anomalidetektering, hitta intrång, hitta liknande bilder, förutsägningar).
Nackdelar:
- Bör inte användas som det primära datalagret.
- Mer komplex på grund av annan teknik.
- Kan vara dyrt resursmässigt beroende på hur många noder man lägger till i klustret.
- Maskininlärning kräver en licens från Elastic.
- Granskningsloggning (Audit) kräver en licens från Elastic.
- Integration med Active Directory, LDAP, PKI kräver en licens från Elastic.
- Single sign-on (SAML, OpenID Connect, Kerbeos) kräver en licens från Elastic.
- Kryptering vid lagring kräver en licens från Elastic.
- Integration med ServiceNow, email, m.fl. kräver en licens från Elastic.
- Watcher (Bevakare) med åtgärder, kräver en licens från Elastic.
- Larm i kombination med externa åtgärder kräver en licens från Elastic.
Myndigheter
E-hälsomyndigheten kanske kommer att migrera över till Elastic stack och låta Cybersäkerhet fortsätta använda Splunk.
Integritetsmyndigheten har gått över till Elastic stack och anser att man bör rekommendera det.
Försvarsmakten och MUST har skapat en loggpolicy - varför ska man logga, vad ska framgå i en loggpost osv.
Sen tittar de på vilka loggobjekt är intressant / relevanta -> vad innebär dessa krav -> översätter i ECS (ECSsyntaxen)
Risker med Open Source
Open Source kan bli utsatt för attacker av typen ”supply-chain”, eller för att den används mycket frekvent av alla, så att den blir intressant för en hacker. (Lyckas hackern har hen hela världen i sin hand)
Det finns även en mängd produkter som tidigare var öppen källkod, men nu har proprietärlicens, som produkterna. Elasticsearch och Kibana. Exempel på sådana licenser är Elastic License och SSPL. Koden är fortfarande öppen och grundläggande användning fri, men det kan finnas vissa restriktioner kring användningsfall som skulle kunna kräva en sedvanlig kommersiell licens. (i huvudsak för mer avancerade och kommersiella användarfall. Det finns lättförklarade sammanfattningar kring detta tillgängliga på Internet. Men vid användning av produkter av denna licenstyp, se över hur ni tänker använda produkten, och gör en grundläggande bedömning så att användarfallen inte kräver en kommersiell licens.
Ditt svar hjälper oss att förbättra sidan
Senast uppdaterad: