3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

Sa mga nakaraang artikulo medyo naging pamilyar kami sa elk stack at pagse-set up ng Logstash configuration file para sa log parser. Sa artikulong ito ay magpapatuloy tayo sa pinakamahalagang bagay mula sa isang analytical na pananaw, kung ano ang gusto mong makita mula sa system at kung saan nilikha ang lahat - ito ay mga graph at talahanayan na pinagsama sa mga dashboardNgayon ay titingnan natin ang sistema ng visualization. Kibana, titingnan natin kung paano lumikha ng mga graph at talahanayan, at sa huli ay bumuo ng isang simpleng dashboard batay sa mga log mula sa isang Check Point firewall.

Ang unang hakbang sa pagtatrabaho sa kibana ay ang paglikha pattern ng indexLogically, ito ay isang database ng mga index na sumusunod sa isang partikular na pattern. Naturally, ito ay isang setting na idinisenyo upang payagan ang Kibana na mas madaling maghanap ng impormasyon sa lahat ng mga index nang sabay-sabay. Tinutukoy ito sa pamamagitan ng pagtutugma ng isang string, sabihin ang "checkpoint-*," na may pangalan ng index. Halimbawa, ang "checkpoint-2019.12.05" ay tutugma sa pattern, ngunit ang simpleng "checkpoint" ay hindi. Kapansin-pansin na hindi posible ang paghahanap sa iba't ibang mga pattern ng index nang sabay-sabay. Sa ibang pagkakataon sa mga artikulo, makikita natin na ang mga kahilingan sa API ay ginawa sa pamamagitan ng pangalan ng index o ng isang string sa loob ng pattern. Naki-click ang larawan:

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

Pagkatapos nito, suriin sa menu ng Discover na ang lahat ng mga log ay na-index at ang tamang parser ay na-configure. Kung may makikitang anumang hindi pagkakapare-pareho, halimbawa, ang pagpapalit ng uri ng data mula sa isang string patungo sa isang integer, kakailanganin mong i-edit ang Logstash configuration file. Titiyakin nito na ang mga bagong log ay nakasulat nang tama. Upang matiyak na ang mga lumang log ay maayos na na-format bago ang pagbabago, tanging ang muling pag-index ang posible; ang prosesong ito ay tatalakayin nang mas detalyado sa mga susunod na artikulo. Upang matiyak na maayos ang lahat, naki-click ang larawan:

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

Ang mga log ay nasa lugar, kaya maaari naming simulan ang pagbuo ng mga dashboard. Gamit ang dashboard analytics mula sa mga produkto ng seguridad, mauunawaan natin ang estado ng seguridad ng impormasyon ng isang organisasyon, malinaw na matukoy ang mga kahinaan sa kasalukuyang mga patakaran, at bumuo ng mga solusyon para sa pagtugon sa mga ito. Bumuo tayo ng maliit na dashboard gamit ang ilang visualization tool. Ang dashboard ay binubuo ng limang bahagi:

  1. talahanayan para sa pagkalkula ng kabuuang bilang ng mga log ayon sa talim
  2. talahanayan ng mga kritikal na lagda ng IPS
  3. Pie Chart ng Kaganapan sa Pag-iwas sa Banta
  4. tsart ng pinakasikat na binisita na mga site
  5. chart ng mga pinaka-mapanganib na apps na ginamit

Upang lumikha ng mga visualization figure, kailangan mong pumunta sa menu Visualize, at piliin ang gustong figure na gusto naming buuin! Hakbang-hakbang tayo.

Talahanayan para sa pagkalkula ng kabuuang bilang ng mga log sa pamamagitan ng mga blades

Upang gawin ito, pumili kami ng isang figure Table Data, pumunta kami sa tool sa paggawa ng chart. Sa kaliwa, makikita mo ang mga setting ng figure, at sa kanan, makikita mo kung ano ang magiging hitsura nito sa mga kasalukuyang setting. Una, ipapakita ko sa iyo kung ano ang magiging hitsura ng tapos na talahanayan, pagkatapos ay dadaan tayo sa mga setting. Naki-click ang larawan:

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

Mas detalyadong mga setting ng figure, naki-click na larawan:

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

Tingnan natin ang mga setting.

Sa simula ay na-configure mga sukatan, ito ang halaga kung saan pagsasama-samahin ang lahat ng field. Ang mga sukatan ay kinakalkula batay sa mga halaga na nakuha mula sa mga dokumento sa isang paraan o iba pa. Ang mga halaga ay karaniwang kinukuha mula sa mga patlang dokumento, ngunit maaari ding mabuo gamit ang mga script. Sa kasong ito, inilagay namin Pagsasama-sama: Bilang (kabuuang bilang ng mga log).

Susunod, hinahati namin ang talahanayan sa mga segment (mga field) kung saan kakalkulahin ang sukatan. Ginagawa ang function na ito ng setting ng Bucket, na binubuo naman ng dalawang opsyon sa pagsasaayos:

  1. split row — pagdaragdag ng mga column at pagkatapos ay hatiin ang talahanayan sa mga row
  2. split table — paghahati sa ilang mga talahanayan batay sa mga halaga ng isang partikular na field.

В Mga timba Maaari kang magdagdag ng maramihang mga dibisyon upang lumikha ng maramihang mga hanay o talahanayan; ang mga hadlang dito ay mas lohikal. Sa pagsasama-sama, maaari mong piliin ang paraan kung saan magaganap ang paghahati sa mga segment: Hanay ng IPv4, hanay ng petsa, Mga Tuntunin, atbp. Ang pinakakawili-wiling pagpipilian ay tiyak Mga Tuntunin и Mahahalagang Tuntunin, ang paghahati sa mga segment ay isinasagawa batay sa mga halaga ng isang partikular na index field. Ang pagkakaiba sa pagitan ng mga ito ay nakasalalay sa bilang ng mga halaga na ibinalik at ang kanilang pagpapakita. Dahil gusto naming hatiin ang talahanayan sa pangalan ng blade, pipiliin namin ang field— produkto.keyword at itakda ang laki sa 25 return values.

Sa halip na mga string, ang elasticsearch ay gumagamit ng 2 uri ng data - teksto и keywordKung gusto mong magsagawa ng full-text na paghahanap, dapat mong gamitin ang uri ng teksto. Ito ay napaka-maginhawa kapag nagsusulat ng iyong sariling serbisyo sa paghahanap, halimbawa, kapag naghahanap ng isang salita sa isang tiyak na halaga ng field (teksto). Kung gusto mo lang ng eksaktong tugma, dapat mong gamitin ang uri ng keyword. Dapat ding gamitin ang uri ng data ng keyword para sa mga patlang na nangangailangan ng pag-uuri o pagsasama-sama, tulad ng sa aming kaso.

Bilang resulta, binibilang ng Elasticsearch ang bilang ng mga log para sa isang partikular na oras, pinagsasama-sama ang mga ito ayon sa halaga sa field ng produkto. Sa Custom na Label, tinutukoy namin ang pangalan ng column na ipapakita sa talahanayan, itinakda ang yugto ng panahon para sa pagkolekta ng mga log, at patakbuhin ang pag-render. Nagpapadala si Kibana ng kahilingan sa Elasticsearch, naghihintay ng tugon, at pagkatapos ay i-visualize ang natanggap na data. Handa na ang mesa!

Pie Chart ng Kaganapan sa Pag-iwas sa Banta

Ang partikular na interes ay ang impormasyon kung gaano karaming mga reaksyon ang mayroon sa mga tuntunin ng porsyento tuklasin и pigilan para sa mga insidente sa seguridad ng impormasyon sa kasalukuyang patakaran sa seguridad. Ang isang pie chart ay isang magandang pagpipilian para sa kasong ito. Pumili sa Visualize — Pie chartNagtakda rin kami ng pagsasama-sama ayon sa bilang ng log sa mga sukatan. Sa mga bucket, itinakda namin ang Mga Tuntunin => aksyon.

Mukhang tama ang lahat, ngunit ang mga resulta ay nagpapakita ng mga halaga para sa lahat ng mga blades. Kailangan mong i-filter lamang ang mga blades na tumatakbo sa ilalim ng Pag-iwas sa Banta. Samakatuwid, siguraduhing i-configure salain Upang maghanap ng impormasyon lamang sa mga blade na responsable para sa mga insidente sa seguridad ng impormasyon, gumamit ng produkto: ("Anti-Bot" O "Bagong Anti-Virus" O "DDoS Protector" O "SmartDefense" O "Threat Emulation"). Naki-click na larawan:

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

At mas detalyadong mga setting, naki-click ang larawan:

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

Talahanayan ng Kaganapan ng IPS

Dagdag pa, napakahalaga mula sa punto ng view ng seguridad ng impormasyon upang tingnan at suriin ang mga kaganapan sa pamamagitan ng talim IP и Pagtulad sa BantaNa ay hindi naka-block Iko-convert ng kasalukuyang patakaran ang lagda upang maiwasan o, kung wasto ang trapiko, hindi suriin ang lagda. Gagawin namin ang talahanayan sa parehong paraan tulad ng para sa unang halimbawa, maliban kung gagawa kami ng ilang column: protections.keyword, severity.keyword, product.keyword, at originsicname.keyword. Tiyaking mag-set up ng filter upang maghanap lamang ng mga blade na responsable para sa mga insidente sa seguridad ng impormasyon—produkto: ("SmartDefense" o "Threat Emulation"). Naki-click ang larawan:

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

Mas detalyadong mga setting, naki-click na larawan:

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

Mga tsart ng pinakasikat na binisita na mga site

Upang gawin ito, lumikha kami ng isang figure - patayong barGagamitin din namin ang sukatan ng bilang (Y-axis), at sa X-axis, gagamitin namin ang mga pangalan ng mga binisita na website—"appi_name"—bilang mga value. Mayroong isang maliit na trick dito: kung tatakbo ka sa kasalukuyang mga setting, ang lahat ng mga website ay mamarkahan sa graph sa isang kulay. Upang gawing maraming kulay ang mga ito, gumagamit kami ng karagdagang setting—"split series"—na nagbibigay-daan sa iyong hatiin ang umiiral na column sa ilang higit pang value, depende sa napiling field, siyempre! Maaaring gamitin ang dibisyong ito bilang isang solong maraming kulay na column ayon sa mga value sa stacked mode, o sa normal na mode upang lumikha ng maraming column sa pamamagitan ng isang partikular na halaga ng X-axis. Sa kasong ito, gagamitin namin ang parehong halaga tulad ng sa X-axis, na nagbibigay-daan sa amin na gawing maraming kulay ang lahat ng column, at ipapahiwatig ang mga ito ng mga kulay sa kanang sulok sa itaas. Sa filter, itinakda namin ang produkto: "Pag-filter ng URL" upang magpakita lamang ng impormasyon para sa mga binisita na website. Naki-click ang larawan:

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

Mga setting:

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

Tsart ng mga pinaka-mapanganib na app na ginamit

Para magawa ito, gagawa kami ng hugis na Vertical Bar. Gagamitin din namin ang bilang bilang sukatan (Y-axis), at sa X-axis, gagamitin namin ang mga pangalan ng mga app na ginamit (appi_name) bilang mga value. Ang pinakamahalagang setting ng filter ay produkto: "Application Control" AT app_risk: (4 O 5 O 3) AT pagkilos: "accept." Ipi-filter namin ang mga log ayon sa Application Control blade, pipili lang sa mga site na iyon na nakategorya bilang may panganib na Kritikal, Mataas, o Katamtaman, at kung pinapayagan lang ang pag-access sa mga site na ito. Naki-click ang larawan:

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

Mga setting, naki-click:

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

Dashboard

Ang pagtingin at paglikha ng mga dashboard ay matatagpuan sa isang hiwalay na item sa menu - TapalodoSimple lang: gumawa ng bagong dashboard, magdagdag ng mga visualization, ayusin ang mga ito, at iyon na!

Gumagawa kami ng dashboard na magbibigay ng pangunahing pag-unawa sa sitwasyon ng seguridad ng impormasyon ng organisasyon, malinaw sa antas ng Check Point, at naki-click ang larawan:

3. Elastic Stack: Pagsusuri ng Log ng Seguridad. Mga dashboard

Batay sa mga graph na ito, mauunawaan natin kung aling mga kritikal na lagda ang hindi na-block ng firewall, kung saan pupunta ang mga user, at kung ano ang mga pinaka-mapanganib na application na ginagamit nila.

Konklusyon

Sinaklaw namin ang mga pangunahing kakayahan sa visualization ng Kibana at bumuo ng dashboard, ngunit simula pa lang iyon. Sa ibang pagkakataon sa kurso, tatalakayin namin ang pag-setup ng mapa, nagtatrabaho sa ElasticSearch system, mga kahilingan sa API, automation, at marami pang iba!

Kaya manatiling nakatutokTelegrama, Facebook, VK, TS Solution Blog), Yandex Zen.

Pinagmulan: www.habr.com

Bumili ng maaasahang pagho-host para sa mga site na may proteksyon ng DDoS, mga server ng VPS VDS 🔥 Bumili ng maaasahang website hosting na may proteksyon ng DDoS, VPS VDS servers | ProHoster