1.Elastiese stapel: ontleding van sekuriteit logs. Inleiding

1.Elastiese stapel: ontleding van sekuriteit logs. Inleiding

In verband met die einde van verkope in Rusland van die Splunk-log- en analise-stelsel, het die vraag ontstaan: waarmee kan hierdie oplossing vervang word? Nadat ek tyd spandeer het om myself met verskillende oplossings te vergewis, het ek besluit op 'n oplossing vir 'n regte man - "ELK stapel". Hierdie stelsel neem tyd om op te stel, maar as gevolg daarvan kan jy 'n baie kragtige stelsel kry om die status te ontleed en vinnig te reageer op inligtingsekuriteitsinsidente in die organisasie. In hierdie reeks artikels sal ons kyk na die basiese (of dalk nie) vermoëns van die ELK-stapel, oorweeg hoe jy logs kan ontleed, hoe om grafieke en dashboards te bou, en watter interessante funksies gedoen kan word deur die voorbeeld van logs van die Check Point-brandmuur of die OpenVas-sekuriteitskandeerder. Om mee te begin, kom ons kyk na wat dit is - die ELK-stapel, en uit watter komponente dit bestaan.

"ELK stapel" is 'n akroniem vir drie oopbronprojekte: Elasticsearch, logstash и kibana. Ontwikkel deur Elastic saam met alle verwante projekte. Elasticsearch is die kern van die hele stelsel, wat die funksies van 'n databasis, soektog en analitiese stelsel kombineer. Logstash is 'n bediener-kant dataverwerkingspyplyn wat data van verskeie bronne gelyktydig ontvang, die logboek ontleed en dit dan na 'n Elasticsearch-databasis stuur. Kibana stel gebruikers in staat om data te visualiseer deur grafieke en grafieke in Elasticsearch te gebruik. Jy kan ook die databasis deur Kibana administreer. Vervolgens sal ons elke stelsel afsonderlik in meer besonderhede oorweeg.

1.Elastiese stapel: ontleding van sekuriteit logs. Inleiding

logstash

Logstash is 'n nutsprogram vir die verwerking van loggebeurtenisse vanaf verskillende bronne, waarmee u velde en hul waardes in 'n boodskap kan kies, en u kan ook datafiltrering en -redigering opstel. Na alle manipulasies herlei Logstash gebeure na die finale datastoor. Die hulpprogram word slegs deur konfigurasielêers gekonfigureer.
'n Tipiese logstash-konfigurasie is 'n lêer(s) wat bestaan ​​uit verskeie inkomende strome inligting (invoer), verskeie filters vir hierdie inligting (filter) en verskeie uitgaande strome (uitvoer). Dit lyk soos een of meer konfigurasielêers, wat in die eenvoudigste weergawe (wat glad niks doen nie) so lyk:

input {
}

filter {
}

output {
}

In INPUT stel ons in na watter poort die logs gestuur sal word en deur watter protokol, of van watter vouer om nuwe of voortdurend bygewerkte lêers te lees. In FILTER konfigureer ons die log-ontleder: ontleed velde, redigeer waardes, voeg nuwe parameters by of verwyder hulle. FILTER is 'n veld vir die bestuur van die boodskap wat na Logstash kom met baie redigeeropsies. In uitvoer stel ons in waarheen ons die reeds ontleed logboek stuur, in die geval dat dit elastiese soek is, word 'n JSON-versoek gestuur waarin velde met waardes gestuur word, of as deel van die ontfouting kan dit na stdout of na 'n lêer geskryf word.

1.Elastiese stapel: ontleding van sekuriteit logs. Inleiding

Elasticsearch

Aanvanklik is Elasticsearch 'n oplossing vir voltekssoektog, maar met bykomende geriewe soos maklike skaal, replikasie en ander dinge, wat die produk baie gerieflik en 'n goeie oplossing gemaak het vir hoëladingsprojekte met groot volumes data. Elasticsearch is 'n nie-relasionele (NoSQL) JSON-dokumentwinkel en soekenjin gebaseer op Lucene-voltekssoektog. Die hardeware-platform is Java Virtual Machine, so die stelsel benodig 'n groot hoeveelheid verwerker en RAM-hulpbronne om te werk.
Elke inkomende boodskap, hetsy met Logstash of met behulp van die navraag-API, word geïndekseer as 'n "dokument" - analoog aan 'n tabel in relasionele SQL. Alle dokumente word in 'n indeks gestoor - 'n analoog van 'n databasis in SQL.

Voorbeeld van 'n dokument in die databasis:

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

Alle werk met die databasis is gebaseer op JSON-versoeke deur die REST API te gebruik, wat óf dokumente volgens indeks produseer óf sommige statistieke in die formaat: vraag - antwoord. Om alle antwoorde op versoeke te visualiseer, is Kibana geskryf, wat 'n webdiens is.

kibana

Kibana laat jou toe om data te soek, op te haal en statistieke uit die elasticsearch-databasis te soek, maar baie pragtige grafieke en dashboards word gebou op grond van die antwoorde. Die stelsel het ook elastiese soek-databasisadministrasiefunksies; in daaropvolgende artikels sal ons in meer besonderhede na hierdie diens kyk. Kom ons wys nou 'n voorbeeld van kontroleskerms vir die Check Point-brandmuur en die OpenVas-kwesbaarheidskandeerder wat gebou kan word.

'n Voorbeeld van 'n dashboard vir Check Point, die prentjie is klikbaar:

1.Elastiese stapel: ontleding van sekuriteit logs. Inleiding

'n Voorbeeld van 'n dashboard vir OpenVas, die prentjie is klikbaar:

1.Elastiese stapel: ontleding van sekuriteit logs. Inleiding

Gevolgtrekking

Ons het gekyk waaruit dit bestaan ELK stapel, ons het 'n bietjie kennis gemaak met die hoofprodukte, later in die kursus sal ons afsonderlik oorweeg om 'n Logstash-konfigurasielêer te skryf, dashboards op Kibana op te stel, kennis te maak met API-versoeke, outomatisering en nog baie meer!

So bly ingeskakeltelegram, Facebook, VK, TS Oplossing Blog), Yandex Zen.

Bron: will.com

Voeg 'n opmerking