3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

In eerdere artikelen hebben we een beetje vertrouwd gemaakt met de elk-stack en het instellen van het Logstash-configuratiebestand voor de log-parser. In dit artikel gaan we verder met het allerbelangrijkste vanuit analytisch oogpunt: wat u wilt doen zie vanuit het systeem en waarvoor alles is gemaakt - dit zijn grafieken en tabellen gecombineerd dashboards. Vandaag zullen we het visualisatiesysteem nader bekijken Kibana, zullen we kijken hoe we grafieken en tabellen kunnen maken, en als resultaat zullen we een eenvoudig dashboard bouwen op basis van logs van de Check Point-firewall.

De eerste stap bij het werken met kibana is creëren indexpatroonlogischerwijs is dit een basis van indexen verenigd volgens een bepaald principe. Dit is uiteraard puur een instelling om Kibana gemakkelijker tegelijkertijd naar informatie in alle indexen te laten zoeken. Het wordt ingesteld door een string te matchen, bijvoorbeeld “checkpoint-*” en de naam van de index. “checkpoint-2019.12.05” zou bijvoorbeeld in het patroon passen, maar simpelweg “checkpoint” bestaat niet meer. Het is de moeite waard om apart te vermelden dat het bij zoeken onmogelijk is om tegelijkertijd naar informatie over verschillende indexpatronen te zoeken; iets later in volgende artikelen zullen we zien dat API-verzoeken worden gedaan op basis van de naam van de index, of slechts op één lijn van het patroon, de afbeelding is klikbaar:

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

Hierna controleren we in het Discover-menu of alle logs zijn geïndexeerd en de juiste parser is geconfigureerd. Als er inconsistenties worden gevonden, bijvoorbeeld door het gegevenstype te wijzigen van een string in een geheel getal, moet u het Logstash-configuratiebestand bewerken, waardoor nieuwe logs correct worden geschreven. Om ervoor te zorgen dat de oude logs vóór de wijziging de gewenste vorm aannemen, helpt alleen het herindexeringsproces; in volgende artikelen zal deze handeling in meer detail worden besproken. Laten we ervoor zorgen dat alles in orde is, de afbeelding is klikbaar:

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

De logs zijn aanwezig, wat betekent dat we kunnen beginnen met het bouwen van dashboards. Op basis van de analyses van dashboards van beveiligingsproducten kunt u de staat van informatiebeveiliging in een organisatie begrijpen, kwetsbaarheden in het huidige beleid duidelijk zien en vervolgens manieren ontwikkelen om deze te elimineren. Laten we een klein dashboard bouwen met behulp van verschillende visualisatietools. Het dashboard zal uit 5 componenten bestaan:

  1. tabel voor het berekenen van het totale aantal houtblokken per zaagblad
  2. tabel met kritische IPS-handtekeningen
  3. cirkeldiagram voor bedreigingspreventiegebeurtenissen
  4. grafiek van de meest bezochte sites
  5. grafiek over het gebruik van de gevaarlijkste toepassingen

Om visualisatiefiguren te maken, moet je naar het menu gaan Visualiseeren selecteer het gewenste figuur dat we willen bouwen! Laten we in volgorde gaan.

Tabel voor het berekenen van het totale aantal houtblokken per mes

Selecteer hiervoor een figuur data Table, we vallen in de apparatuur voor het maken van grafieken, aan de linkerkant zijn de instellingen van de figuur, aan de rechterkant hoe het eruit zal zien in de huidige instellingen. Eerst zal ik demonstreren hoe de voltooide tafel eruit zal zien, daarna gaan we door de instellingen, de afbeelding is klikbaar:

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

Meer gedetailleerde instellingen van de figuur, de afbeelding is klikbaar:

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

Laten we naar de instellingen kijken.

Aanvankelijk geconfigureerd statistieken, dit is de waarde waarmee alle velden worden samengevoegd. Metrieken worden berekend op basis van waarden die op de een of andere manier uit documenten zijn gehaald. De waarden worden meestal geëxtraheerd velden document, maar kan ook met behulp van scripts worden gegenereerd. In dit geval zetten we in Aggregatie: Aantal (totaal aantal logboeken).

Hierna verdelen we de tabel in segmenten (velden) op basis waarvan de metriek wordt berekend. Deze functie wordt uitgevoerd door de instelling Buckets, die op zijn beurt uit 2 instelmogelijkheden bestaat:

  1. rijen splitsen - kolommen toevoegen en vervolgens de tabel in rijen verdelen
  2. gesplitste tabel - verdeling in verschillende tabellen op basis van de waarden van een specifiek veld.

В emmers je kunt verschillende divisies toevoegen om meerdere kolommen of tabellen te maken, de beperkingen hier zijn nogal logisch. Bij aggregatie kunt u kiezen welke methode wordt gebruikt om in segmenten te verdelen: ipv4-bereik, datumbereik, voorwaarden, enz. De meest interessante keuze is precies Algemene Voorwaarden и Belangrijke termen, de verdeling in segmenten wordt uitgevoerd op basis van de waarden van een specifiek indexveld, het verschil daartussen ligt in het aantal geretourneerde waarden en hun weergave. Omdat we de tabel willen verdelen op basis van de naam van de blades, selecteren we het veld - product sleutelwoord en stel de grootte in op 25 geretourneerde waarden.

In plaats van strings gebruikt elasticsearch 2 gegevenstypen: tekst и trefwoord. Als u in volledige tekst wilt zoeken, moet u het teksttype gebruiken, wat erg handig is bij het schrijven van uw eigen zoekservice, bijvoorbeeld als u zoekt naar een vermelding van een woord in een specifieke veldwaarde (tekst). Als u alleen een exacte match wilt, moet u het zoekwoordtype gebruiken. Ook moet het trefwoordgegevenstype worden gebruikt voor velden die, in ons geval, sortering of aggregatie vereisen.

Hierdoor telt Elasticsearch het aantal logs voor een bepaalde tijd, opgeteld op basis van de waarde in het productveld. In Custom Label stellen we de naam in van de kolom die in de tabel wordt weergegeven, stellen we de tijd in waarvoor we logboeken verzamelen, beginnen met renderen - Kibana stuurt een verzoek naar elasticsearch, wacht op een antwoord en visualiseert vervolgens de ontvangen gegevens. De tafel is klaar!

Cirkeldiagram voor bedreigingspreventiegebeurtenissen

Van bijzonder belang is de informatie over het aantal reacties als percentage opsporen и voorkomen over informatiebeveiligingsincidenten in het huidige veiligheidsbeleid. Een cirkeldiagram werkt goed voor deze situatie. Selecteer in Visualiseren - Cirkeldiagram. Ook in de statistiek stellen we aggregatie in op basis van het aantal logboeken. In buckets plaatsen we Termen => actie.

Alles lijkt te kloppen, maar het resultaat toont waarden voor alle blades; je hoeft alleen te filteren op die blades die werken binnen het kader van Threat Prevention. Daarom hebben we het zeker opgezet filteren om alleen naar informatie te zoeken over blades die verantwoordelijk zijn voor informatiebeveiligingsincidenten - product: (“Anti-Bot” OF “Nieuwe Anti-Virus” OF “DDoS Protector” OF “SmartDefense” OF “Threat Emulation”). De afbeelding is klikbaar:

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

En meer gedetailleerde instellingen, de foto is klikbaar:

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

IPS-gebeurtenistabel

Vervolgens is het bekijken en controleren van gebeurtenissen op de blade heel belangrijk vanuit het oogpunt van informatiebeveiliging. IPS и Bedreigingsemulatie, которые zijn niet geblokkeerd huidige beleid, om vervolgens de handtekening te wijzigen om dit te voorkomen, of als het verkeer geldig is, controleer de handtekening niet. We maken de tabel op dezelfde manier als voor het eerste voorbeeld, met als enige verschil dat we meerdere kolommen maken: protections.keyword, Severity.keyword, product.keyword, originsicname.keyword. Zorg ervoor dat u een filter instelt om alleen naar informatie te zoeken over blades die verantwoordelijk zijn voor informatiebeveiligingsincidenten - product: (“SmartDefense” OF “Threat Emulation”). De afbeelding is klikbaar:

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

Meer gedetailleerde instellingen, de foto is klikbaar:

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

Grafieken voor de meest populaire bezochte sites

Maak hiervoor een figuur - Verticale balk. We gebruiken ook het aantal (Y-as) als statistiek, en op de X-as gebruiken we de naam van bezochte sites als waarden – “appi_name”. Er is hier een kleine truc: als u de instellingen in de huidige versie uitvoert, worden alle sites met dezelfde kleur op de kaart gemarkeerd. Om ze veelkleurig te maken, gebruiken we een extra instelling - "reeks splitsen", waarmee u een kant-en-klare kolom in meerdere waarden kunt verdelen, uiteraard afhankelijk van het geselecteerde veld! Deze verdeling kan worden gebruikt als één veelkleurige kolom op basis van waarden in de gestapelde modus, of in de normale modus om meerdere kolommen te maken op basis van een bepaalde waarde op de X-as. In dit geval gebruiken we hier de dezelfde waarde als op de X-as, dit maakt het mogelijk om alle kolommen meerkleurig te maken; ze worden rechtsboven aangegeven met kleuren. In het filter dat we hebben ingesteld - product: "URL-filtering" om alleen informatie over bezochte sites te zien, is de afbeelding klikbaar:

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

Instellingen:

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

Diagram over het gebruik van de gevaarlijkste toepassingen

Maak hiervoor een figuur - Verticale balk. We gebruiken ook het aantal (Y-as) als statistiek, en op de X-as gebruiken we de naam van de gebruikte applicaties - "appi_name" als waarden. Het belangrijkste is de filterinstelling - product: "Applicatiebeheer" EN app_risk: (4 OF 5 OF 3 ) EN actie: "accepteren". We filteren de logboeken op de Blade Applicatiecontrole, waarbij alleen de sites worden meegenomen die zijn gecategoriseerd als sites met een kritiek, hoog of gemiddeld risico en alleen als toegang tot deze sites is toegestaan. De afbeelding is klikbaar:

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

Instellingen, klikbaar:

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

Dashboard

Het bekijken en aanmaken van dashboards vindt u in een apart menu-item - Overzicht. Alles is hier eenvoudig, er wordt een nieuw dashboard gemaakt, er wordt visualisatie aan toegevoegd, op zijn plaats geplaatst en dat is alles!

We maken een dashboard waarmee u de basissituatie van de staat van informatiebeveiliging in een organisatie kunt begrijpen, uiteraard alleen op Check Point-niveau, het plaatje is aanklikbaar:

3. Elastic stack: analyse van beveiligingslogboeken. Dashboards

Op basis van deze grafieken kunnen we begrijpen welke kritische handtekeningen niet worden geblokkeerd op de firewall, waar gebruikers naartoe gaan en welke de gevaarlijkste applicaties ze gebruiken.

Conclusie

We hebben gekeken naar de mogelijkheden van basisvisualisatie in Kibana en een dashboard gebouwd, maar dit is slechts een klein onderdeel. Verder in de cursus gaan we apart kijken naar het opzetten van kaarten, het werken met het elasticsearch-systeem, het kennismaken met API-aanvragen, automatisering en nog veel meer!

Dus blijf op de hoogte (Telegram, Facebook, VK, TS Solution-blog), Yandex Zen.

Bron: www.habr.com

Voeg een reactie