1.Elastic stack: анализа на безбедносни логови. Вовед

1.Elastic stack: анализа на безбедносни логови. Вовед

Во врска со крајот на продажбата во Русија на системот за сеча и аналитика Splunk, се појави прашањето: со што може да го замени ова решение? Откако поминав време запознавајќи се со различни решенија, се решив за решение за вистински маж - „Стак ELK“. Овој систем бара време да се постави, но како резултат на тоа можете да добиете многу моќен систем за анализа на статусот и навремено реагирање на инциденти со безбедноста на информациите во организацијата. Во оваа серија написи, ќе ги разгледаме основните (или можеби не) способности на оџакот ELK, ќе размислиме како можете да ги анализирате дневниците, како да изградите графикони и контролни табли и кои интересни функции може да се направат користејќи го примерот на дневници од заштитниот ѕид на Check Point или безбедносниот скенер OpenVas. За почеток, ајде да погледнеме што е тоа - оџакот ELK и од кои компоненти се состои.

„Стак ELK“ е акроним за три проекти со отворен код: Еластична пребарување, Логсташ и Кибана. Развиено од Еластик заедно со сите сродни проекти. Elasticsearch е јадрото на целиот систем, кој ги комбинира функциите на базата на податоци, пребарување и аналитички систем. Logstash е цевковод за обработка на податоци од страна на серверот кој прима податоци од повеќе извори истовремено, го анализира дневникот и потоа го испраќа до базата на податоци на Elasticsearch. Kibana им овозможува на корисниците да ги визуелизираат податоците користејќи графикони и графикони во Elasticsearch. Можете исто така да ја администрирате базата на податоци преку Kibana. Следно, ќе го разгледаме секој систем одделно подетално.

1.Elastic stack: анализа на безбедносни логови. Вовед

Логсташ

Logstash е алатка за обработка на настани од евиденција од различни извори, со која можете да изберете полиња и нивните вредности во пораката, а исто така можете да конфигурирате филтрирање и уредување податоци. По сите манипулации, Logstash ги пренасочува настаните во конечната продавница за податоци. Алатката е конфигурирана само преку датотеки за конфигурација.
Типична logstash конфигурација е датотека(и) која се состои од неколку дојдовни текови на информации (влез), неколку филтри за оваа информација (филтер) и неколку појдовни текови (излез). Изгледа како една или повеќе конфигурациски датотеки, кои во наједноставната верзија (која воопшто не прави ништо) изгледа вака:

input {
}

filter {
}

output {
}

Во INPUT конфигурираме до која порта ќе се испраќаат дневниците и преку кој протокол, или од која папка да читаат нови или постојано ажурирани датотеки. Во FILTER го конфигурираме парсерот на дневници: парсирање полиња, уредување вредности, додавање нови параметри или нивно бришење. FILTER е поле за управување со пораката што доаѓа во Logstash со многу опции за уредување. Во излезот конфигурираме каде го испраќаме веќе анализираниот дневник, во случај да е elasticsearch се испраќа барање за JSON во кое се испраќаат полиња со вредности или како дел од дебагирањето може да се испушти во stdout или да се запише во датотека.

1.Elastic stack: анализа на безбедносни логови. Вовед

ElasticSearch

Првично, Elasticsearch е решение за пребарување на целосен текст, но со дополнителни погодности како што се лесно скалирање, репликација и други работи, што го направи производот многу удобен и добро решение за проекти со големо оптоварување со голем обем на податоци. Elasticsearch е не-релациона (NoSQL) JSON продавница за документи и пребарувач базиран на пребарување на целосен текст на Lucene. Хардверската платформа е Java Virtual Machine, така што системот бара голема количина процесор и RAM ресурси за да работи.
Секоја дојдовна порака, било со Logstash или со користење на API за барање, е индексирана како „документ“ - аналогно на табела во релациона SQL. Сите документи се зачувани во индекс - аналог на база на податоци во SQL.

Пример за документ во базата на податоци:

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

Целата работа со базата на податоци се заснова на JSON барања со користење на REST API, кои или произведуваат документи по индекс или некои статистички податоци во формат: прашање - одговор. За да се визуелизираат сите одговори на барањата, напишана е Кибана, која е веб сервис.

Кибана

Kibana ви овозможува да пребарувате, да добивате податоци и да барате статистика од базата на податоци на elasticsearch, но многу убави графикони и контролни табли се изградени врз основа на одговорите. Системот има и функционалност за администрирање на базата на податоци на elasticsearch; во следните написи ќе ја разгледаме оваа услуга подетално. Сега да покажеме пример на контролни табли за заштитниот ѕид на Check Point и скенерот за ранливост OpenVas што може да се изгради.

Пример за контролна табла за Check Point, сликата може да се кликне:

1.Elastic stack: анализа на безбедносни логови. Вовед

Пример за контролна табла за OpenVas, сликата може да се кликне:

1.Elastic stack: анализа на безбедносни логови. Вовед

Заклучок

Разгледавме од што се состои ELK стек, малку се запознавме со главните производи, подоцна во текот на курсот посебно ќе размислиме за пишување на конфигурациска датотека Logstash, поставување табли на Kibana, запознавање со API барања, автоматизација и многу повеќе!

Затоа останете во тек (Телеграма, Facebook, VK, Блог за TS Solution), Yandex Зен.

Извор: www.habr.com

Додадете коментар