3. Elastic stack: analiza varnostnih logov. Plošče

3. Elastic stack: analiza varnostnih logov. Plošče

В предшествующих статьях мы немного ознакомились со стеком ELK и настройкой конфигурационного файла Logstash для парсера логов, а в данной статье перейдем к самому важному с точки зрения аналитики — к графикам и таблицам, объединённым в дашборды. Сегодня мы более подробно познакомимся с системой визуализации Kibana, рассмотрим, как создавать графики и таблицы, и в результате создадим простой дашборд на основе логов с межсетевого экрана Check Point.

Первым шагом работы с Kibana является создание index pattern, логически, это база индексов, объединённых по определённому принципу. Естественно, это исключительно настройка, чтобы Kibana могла удобнее искать информацию по всем индексам одновременно. Она задаётся по сопоставлению строки, например “checkpoint-*” и названия индекса. Например, «checkpoint-2019.12.05» подходит под паттерн, а просто «checkpoint» уже нет. Стоит отметить, что искать информацию по разным паттернам индексов одновременно в поиске нельзя. Чуть позже в следующих статьях мы увидим, что API-запросы делаются либо по названию индекса, либо по одной строке паттерна, картинка кликабельна:

3. Elastic stack: analiza varnostnih logov. Plošče

После этого проверяем в меню Discover, что все логи индексируются, и настроен правильный парсер. Если будут какие-либо несоответствия, например, сменить тип данных с строки на целое число, необходимо отредактировать конфигурационный файл Logstash, чтобы новые логи записывались правильно. Для того чтобы старые логи приняли нужный вид после изменений, используется процесс реиндексации, который будет рассмотрен более детально в следующих статьях. Удостоверимся, что все в порядке, картинка кликабельна:

3. Elastic stack: analiza varnostnih logov. Plošče

Логи оказались на месте, значит, можно приступать к построению дашбордов. На основе аналитики дашбордов от продуктов безопасности можно понять состояние ИБ в организации, наглядно увидеть уязвимые места в текущей политике и выработать способы их устранения. Создадим небольшой дашборд, используя несколько средств визуализации. Дашборд будет состоять из 5 компонентов:

  1. таблица для подсчета общего количества логов по блейдам
  2. таблицу по критическим сигнатурам IPS
  3. круговую диаграмму по событиям Threat Prevention
  4. diagram o najbolj priljubljenih spletnih mestih
  5. diagram o uporabi najbolj nevarnih aplikacij

Za ustvarjanje figur vizualizacije, pojdite v meni Vizualiziraj, in izberite želeno figuro, ki jo želite zgraditi! Pojdimo po vrsti.

Tabela za štetje skupnega števila logov po blazbah

Za to izberite figuro Podatkovna tabela, pridite v orodje za ustvarjanje grafikonov, na levi se nastavi oblika, desno je, kako bo videti v trenutnih nastavitvah. Najprej bom pokazal, kako bo izgledala končna tabela, potem pa bomo prešli na nastavitve, slika je klikljiva:

3. Elastic stack: analiza varnostnih logov. Plošče

Bolj podrobne nastavitve figure, slika je klikljiva:

3. Elastic stack: analiza varnostnih logov. Plošče

Preučimo nastavitve.

Sprva se nastavi метрика, to je vrednost, po kateri bodo agregirana vsa polja. Metrične vrednosti se izračunavajo na podlagi vrednosti, pridobljenih na različne načine iz dokumentov. Vrednosti se običajno pridobivajo iz polj dokumenta, lahko pa so tudi ustvarjene z uporabo skriptov. V tem primeru postavimo v Agregacija: Število (skupno število logov).

Potem delimo tabelo po segmentih (poljih), po katerih bo štela metriko. To funkcijo izvaja nastavitev Buckets, ki sama po sebi vsebuje 2 različici nastavitev:

  1. split rows — dodajanje stolpcev in kasneje delitev tabele na vrstice
  2. split table — delitev na več tabel po vrednostih določenega polja.

V buckets lahko dodate več delitev za ustvarjanje več stolpcev ali tabel, omejitve so tukaj bolj logične. V agregaciji lahko izberete, kako bo potekalo deljenje na segmente: ipv4 range, date range, Terms itd. Najbolj zanimiva izbira je prav Terms in Significant Terms, delitev na segmente se izvede po vrednostih določenega polja indeksa, razlika med njimi pa je v številu vrnjenih vrednosti in njihovi predstavitvi. Ker želimo deliti tabelo po imenu blazb, izbiramo polje — product.keyword in nastavimo velikost na 25 vrnjenih vrednosti.

Namesto vrstic v elasticsearch so uporabljeni 2 tipi podatkov — text in keyword. Če želite izvesti polno besedilno iskanje, morate uporabiti tip text, kar je zelo priročno pri pisanju vaše iskalne storitve, na primer, ko iščete omembo besede v specifičnem pomenu polja (besedilu). Če želite le natančno ujemanje, morate uporabiti tip keyword. Tudi tip podatkov keyword je treba uporabiti za polja, ki zahtevajo razvrščanje ali agregacijo, torej v našem primeru.

Zaradi tega Elasticsearch šteje število dnevnikov v določenem času z agregacijo po vrednosti v polju product. V Custom Label določimo ime stolpca, ki se bo prikazoval v tabeli, določimo čas, za katerega zbiramo dnevnike, zaženemo vizualizacijo — Kibana pošlje poizvedbo v Elasticsearch, čaka na odgovor in nato vizualizira pridobljene podatke. Tabela je pripravljena!

Krožna diagram o dogodkih Threat Prevention

Zanimiva je informacija, koliko odstotek vsega je reakcij detect in prevent na incidente IB v trenutni varnostni politiki. Za tak primer je krožna diagram zelo primeren. Izberemo v Visualize — Pie chart. V metrikah določimo agregacijo po številu dnevnikov. V buckets postavimo Terms => action.

Zdi se, da je vse prav, vendar se prikažejo vrednosti za vse blade, zato je treba filtrirati samo tiste blade, ki delujejo v okviru Threat Prevention. Zato nujno nastavimo filtr da bi iskali informacije samo po bladeh, ki odgovarjajo za incidente IB — product: ("Anti-Bot" OR "New Anti-Virus" OR "DDoS Protector" OR "SmartDefense" OR "Threat Emulation"). Slika je klikabilna:

3. Elastic stack: analiza varnostnih logov. Plošče

In bolj podrobne nastavitve, slika je klikabilna:

3. Elastic stack: analiza varnostnih logov. Plošče

Tabela o dogodkih IPS

Naslednji zelo pomemben vidik z vidika IB je pregled in preverjanje dogodkov po bladeh IPS in Emulacija groženj, ki ne blokirajo trenutne politike, da bi v nadaljevanju bodisi prenesli podpis v prevent bodisi, če je promet veljaven — ne preverjati podpisa. Tabelo ustvarimo prav tako, kot v prvem primeru, le z razliko, da ustvarimo več stolpcev: protections.keyword, severity.keyword, product.keyword, originsicname.keyword. Obvezno nastavimo filtr, da iščemo informacije samo po bladeh, ki odgovarjajo za incidente IB — product: ("SmartDefense" OR "Threat Emulation"). Slika je klikabilna:

3. Elastic stack: analiza varnostnih logov. Plošče

Bolj podrobne nastavitve, slika je klikabilna:

3. Elastic stack: analiza varnostnih logov. Plošče

Diagrams po najbolj priljubljenih obiskanih spletnih straneh

Za to ustvarimo obliko — Vertical Bar. Metrijo prav tako uporabljamo count (os Y), na osi X pa kot vrednosti uporabljamo imena obiskanih spletnih strani — “appi_name”. Tu je majhna prevara; če poskusimo nastaviti s trenutnim sistemom, bodo vse spletne strani označene z eno barvo na grafu, da jih naredimo različne barvne, uporabimo dodatno nastavitev — “split series”, ki omogoča razdelitev že pripravljenega stolpca na več vrednosti, seveda odvisno od izbranega polja! To razdelitev lahko uporabimo bodisi kot en barvni stolpec v načinu stacked, bodisi v normalnem načinu za ustvarjanje več stolpcev po določeni vrednosti na osi X. V tem primeru tukaj uporabljamo isto vrednost kot na osi X, kar omogoča, da so vsi stolpci različni barvni, desno zgoraj bodo označeni z barvami. V filtru nastavimo — product:«URL Filtering» za prikaz informacij samo o obiskanih spletnih straneh, slika je klikabilna:

3. Elastic stack: analiza varnostnih logov. Plošče

Nastavitve:

3. Elastic stack: analiza varnostnih logov. Plošče

Diagram o uporabi najbolj nevarnih aplikacij

Za to ustvarimo obliko — Vertical Bar. Metrijo prav tako uporabljamo count (os Y), na osi X pa kot vrednosti uporabljamo imena uporabljenih aplikacij — “appi_name”. Najpomembnejše je določitev filtra — product: «Application Control» AND app_risk: (4 OR 5 OR 3) AND action:«accept». Filtriramo dnevnike po bladu Application control, vzamemo samo tista spletna mesta, ki so kategorizirana kot spletne strani z rizikom Critical, High, Medium in le v primeru, če je dostop do teh spletnih strani dovoljen. Slika je klikabilna:

3. Elastic stack: analiza varnostnih logov. Plošče

Nastavitve, klikabilno:

3. Elastic stack: analiza varnostnih logov. Plošče

Nadzorna plošča

Ogled in ustvarjanje nadzornih plošč je v ločenem meniju — Nadzorna plošča. Tukaj je vse preprosto, ustvarimo novo nadzorno ploščo, dodamo vizualizacijo, postavimo jo na mesta in vse!

Ustvarimo nadzorno ploščo, s katero bomo lahko razumeli osnovno stanje informacijske varnosti v organizaciji, jasno, samo na ravni Check Point, slika je klikabilna:

3. Elastic stack: analiza varnostnih logov. Plošče

Na podlagi teh grafikonov lahko razumemo, katere kritične signature niso blokirane na požarnem zidu, kam gredo uporabniki in katere najbolj nevarne aplikacije uporabljajo.

Zaključek

Proučili smo osnovne mogućnosti vizualizacije u Kibani i izradili nadzornu ploču, no to je tek mali deo. U nastavku kursa fokusiraćemo se na podešavanje mapa, rad sa Elasticsearch sistemom, upoznaćemo se sa API upitima, automatizacijom i još mnogo toga!

Zato spremljajte novosti (Telegram, Facebook, VK, TS Solution Blog), Yandex.Zen.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster