
In frĂŒheren Artikeln haben wir uns ein wenig mit dem ELK-Stack und der Konfiguration von Logstash fĂŒr den Log-Parser vertraut gemacht. In diesem Artikel wenden wir uns dem Wichtigsten aus analytischer Sicht zu, dem, was Sie von dem System erwarten und wofĂŒr alles geschaffen wurde â Grafiken und Tabellen, die in DashboardszusammengefĂŒhrt werden. Heute werden wir uns nĂ€her mit dem Visualisierungssystem Kibanabefassen, sehen uns an, wie man Grafiken und Tabellen erstellt, und schlieĂlich werden wir ein einfaches Dashboard basierend auf den Logs der Check Point-Firewall erstellen.
Der erste Schritt bei der Arbeit mit Kibana besteht darin, ein Indexmusterzu erstellen, das logisch eine Gruppe von Indizes darstellt, die nach einem bestimmten Prinzip zusammengefasst sind. NatĂŒrlich ist dies hauptsĂ€chlich eine Einstellung, um Kibana zu ermöglichen, Informationen komfortabler ĂŒber alle Indizes gleichzeitig zu suchen. Es wird durch das Matching einer Zeichenkette, z.B. âcheckpoint-*â und dem Namen des Indexes festgelegt. Zum Beispiel passt âcheckpoint-2019.12.05â zu dem Muster, wĂ€hrend âcheckpointâ es nicht tut. Es sei erwĂ€hnt, dass man in der Suche nicht gleichzeitig Informationen ĂŒber verschiedene Indexmuster abrufen kann. In spĂ€teren Artikeln werden wir sehen, dass API-Anfragen entweder nach dem Namen des Indexes oder exakt nach einem Muster, wie oben erwĂ€hnt, erfolgen. Das Bild ist klickbar:
Nach diesem Schritt ĂŒberprĂŒfen wir im MenĂŒ Discover, ob alle Logs indexiert werden und der richtige Parser eingestellt ist. Falls es irgendwelche Abweichungen gibt, beispielsweise TypĂ€nderungen von String auf Integer, muss die Konfigurationsdatei von Logstash bearbeitet werden, damit neue Logs korrekt geschrieben werden. Um sicherzustellen, dass alte Logs vor der Ănderung das gewĂŒnschte Format annehmen, hilft nur der Reindexierungsprozess. In spĂ€teren Artikeln wird dieser Vorgang ausfĂŒhrlicher behandelt. Lassen Sie uns sicherstellen, dass alles in Ordnung ist; das Bild ist klickbar:
Die Logs sind vorhanden; daher können wir mit dem Aufbau von Dashboards beginnen. Anhand der Analysen der Dashboards von Sicherheitsprodukten lĂ€sst sich der Stand der Informationssicherheit in der Organisation erkennen, und man kann die anfĂ€lligen Stellen der aktuellen Politik deutlich sehen und anschlieĂend MaĂnahmen zu deren Behebung entwickeln. Lassen Sie uns ein einfaches Dashboard erstellen, indem wir mehrere Visualisierungstools verwenden. Das Dashboard wird aus 5 Komponenten bestehen:
- einer Tabelle zur Berechnung der Gesamtanzahl der Logs nach Blades
- einer Tabelle ĂŒber kritische IPS-Signaturen
- Kreisdiagramm zu den Ereignissen der BedrohungsprÀvention
- Diagramm der meistbesuchten Websites
- Diagramm zur Nutzung der gefÀhrlichsten Anwendungen
Um Visualisierungsfiguren zu erstellen, mĂŒssen Sie in das MenĂŒ gehen Visualisieren, und die gewĂŒnschte Figur auswĂ€hlen, die wir erstellen möchten! Lassen Sie uns der Reihenfolge nach vorgehen.
Tabelle zur ZĂ€hlung der Gesamtzahl der Protokolle nach Blades
DafĂŒr wĂ€hlen wir die Figur Datentabelle, wir gelangen zum Tool zur Erstellung von Grafiken, auf der linken Seite werden die Figureneinstellungen vorgenommen, rechts, wie sie in den aktuellen Einstellungen aussehen wird. Zuerst zeige ich, wie die fertige Tabelle aussehen wird, danach gehen wir die Einstellungen durch, das Bild ist klickbar:
Detailliertere Einstellungen der Figur, das Bild ist klickbar:
Lassen Sie uns die Einstellungen durchgehen.
ZunÀchst wird eingestellt Metrik, dies ist der Wert, nach dem alle Felder aggregiert werden. Metriken werden basierend auf Werten berechnet, die auf unterschiedliche Weise aus Dokumenten extrahiert werden. Werte werden normalerweise aus Feldern des Dokuments extrahiert, können jedoch auch mit Skripten generiert werden. In diesem Fall setzen wir auf Aggregation: Anzahl (Gesamtzahl der Protokolle).
Nach diesem Schritt teilen wir die Tabelle nach Segmenten (Feldern), nach denen die Metrik ermittelt wird. Diese Funktion wird durch die Einstellung Buckets erfĂŒllt, die wiederum aus 2 Varianten der Einstellung besteht:
- Aufteilen von Zeilen â HinzufĂŒgen von Spalten und anschlieĂendes Teilen der Tabelle in Zeilen
- Aufteilen der Tabelle â Aufteilen in mehrere Tabellen nach Werten eines bestimmten Feldes.
Im buckets Es können mehrere Teilungen hinzugefĂŒgt werden, um mehrere Spalten oder Tabellen zu erstellen; hier sind die EinschrĂ€nkungen eher logisch. In der Aggregation kann ausgewĂ€hlt werden, nach welchem Verfahren die Teilung in Segmente erfolgen soll: ipv4-Bereich, Datumsbereich, Begriffe usw. Die interessanteste Auswahl ist Begriffe und Signifikante Begriffe, wobei die Teilung in Segmente nach Werten eines bestimmten Indexfeldes erfolgt; der Unterschied zwischen ihnen besteht in der Anzahl der zurĂŒckgegebenen Werte und ihrer Anzeige. Da wir die Tabelle nach den Namen der Blades aufteilen möchten, wĂ€hlen wir das Feld â product.keyword und legen die GröĂe auf 25 zurĂŒckgegebene Werte fest.
Anstelle von Zeilen werden in Elasticsearch 2 Datentypen verwendet â text und keyword. Wenn Sie eine Volltextsuche durchfĂŒhren möchten, mĂŒssen Sie den Typ text verwenden, der beim Erstellen Ihres eigenen Suchdienstes sehr praktisch ist, zum Beispiel um nach einer ErwĂ€hnung eines Wortes im bestimmten Feldwert (Text) zu suchen. Wenn Sie nur eine exakte Ăbereinstimmung suchen, sollten Sie den Typ keyword verwenden. Der Datentyp keyword sollte auch fĂŒr Felder verwendet werden, die eine Sortierung oder Aggregation erfordern, also in unserem Fall.
Infolgedessen zĂ€hlt Elasticsearch die Anzahl der Protokolle ĂŒber einen bestimmten Zeitraum mit Aggregation nach dem Wert im Feld product. Im benutzerdefinierten Label geben wir den Namen der Spalte an, die in der Tabelle angezeigt werden soll, legen die Zeit fest, ĂŒber die wir Protokolle sammeln, starten das Rendering â Kibana sendet die Anfrage an Elasticsearch, wartet auf die Antwort und visualisiert die empfangenen Daten danach. Die Tabelle ist bereit!
Kreisdiagramm zu den Ereignissen der Bedrohungsabwehr
Besonders interessant sind die Informationen, wie viele Reaktionen insgesamt prozentual vorhanden sind. detect und prevent auf die SicherheitsvorfĂ€lle in der aktuellen Sicherheitsrichtlinie. FĂŒr einen solchen Fall eignet sich gut ein Kreisdiagramm. WĂ€hlen Sie in Visualize â Kreisdiagramm. AuĂerdem legen wir in der Metrik die Aggregation nach der Anzahl der Protokolle fest. In Buckets setzen wir Terms => action.
Sieht alles richtig aus, aber letztendlich werden die Werte fĂŒr alle Blades angezeigt, es ist notwendig, nur nach den Blades zu filtern, die im Rahmen der Bedrohungsabwehr arbeiten. Daher mĂŒssen wir unbedingt einstellen den Filter um Informationen nur ĂŒber Blades zu suchen, die fĂŒr SicherheitsvorfĂ€lle verantwortlich sind â product: ("Anti-Bot" OR "New Anti-Virus" OR "DDoS Protector" OR "SmartDefense" OR "Threat Emulation"). Das Bild ist klickbar:
Und detailliertere Einstellungen, das Bild ist klickbar:
Tabelle zu den IPS-Ereignissen
Ein weiterer sehr wichtiger Aspekt aus Sicht der IT-Sicherheit ist die ĂberprĂŒfung und Ăberwachung der Ereignisse pro Blade IPS und Threat Emulation, die nicht blockiert werden durch die aktuelle Politik, um in der Folge entweder die Signatur in den Prevent-Modus zu versetzen oder, wenn der Verkehr gĂŒltig ist, die Signatur nicht zu ĂŒberprĂŒfen. Die Tabelle erstellen wir ebenso wie im ersten Beispiel, nur mit dem Unterschied, dass wir mehrere Spalten erstellen: protections.keyword, severity.keyword, product.keyword, originsicname.keyword. Wir mĂŒssen unbedingt einen Filter einrichten, um Informationen nur ĂŒber Blades zu suchen, die fĂŒr SicherheitsvorfĂ€lle verantwortlich sind â product: ("SmartDefense" OR "Threat Emulation"). Das Bild ist klickbar:
Detailliertere Einstellungen, das Bild ist klickbar:
Diagramme der beliebtesten besuchten Webseiten
DafĂŒr erstellen wir eine Figur â Vertical Bar. Die Metrik verwenden wir ebenfalls count (Achse Y), wĂ€hrend wir auf der Achse X die Namen der besuchten Webseiten â âappi_nameâ â verwenden. Hier gibt es einen kleinen Trick: Wenn wir die Einstellungen in der aktuellen Variante starten, werden alle Webseiten auf dem Diagramm in einer Farbe angezeigt. Um sie bunt zu gestalten, verwenden wir eine zusĂ€tzliche Einstellung â âsplit seriesâ, die es ermöglicht, die bereits vorhandene Spalte in mehrere Werte zu unterteilen, je nach dem gewĂ€hlten Feld! Diese Teilung kann entweder als eine bunte Spalte im gestapelten Modus verwendet werden, oder im normalen Modus, um mehrere Spalten zu bestimmten Werten auf der Achse X zu erstellen. In diesem Fall verwenden wir denselben Wert wie auf der Achse X, was es ermöglicht, alle Spalten bunt darzustellen, rechts oben werden diese durch Farben angezeigt. Im Filter setzen wir â product:«URL Filtering», um Informationen nur zu den besuchten Webseiten zu sehen, das Bild ist klickbar:
Einstellungen:
Diagramm zur Nutzung der gefÀhrlichsten Anwendungen
DafĂŒr erstellen wir eine Figur â Vertikale SĂ€ule. Die Metrik verwenden wir ebenfalls count (Achse Y), wĂ€hrend wir auf der Achse X die Namen der verwendeten Anwendungen â âappi_nameâ â verwenden. Am wichtigsten ist die Filterdefinition â product: «Application Control» AND app_risk: (4 OR 5 OR 3) AND action:«accept». Wir filtern die Protokolle anhand des Blades Application Control und nehmen nur die Webseiten, die als Webseiten mit Risiko hoch eingestuft sind: Critical, High, Medium und nur, wenn der Zugriff auf diese Webseiten erlaubt ist. Das Bild ist klickbar:
Einstellungen, klickbar:
Dashboard
Die Ansicht und Erstellung von Dashboards erfolgt im separaten MenĂŒpunkt â Dashboard. Hier ist alles einfach, ein neues Dashboard wird erstellt, darin wird die Visualisierung hinzugefĂŒgt, an die PlĂ€tze verteilt und fertig!
Wir erstellen ein Dashboard, anhand dessen man die grundlegende Situation des Status der IT-Sicherheit in der Organisation verstehen kann, klar, nur auf der Check Point Ebene, das Bild ist klickbar:
Anhand dieser Diagramme können wir erkennen, welche kritischen Signaturen nicht an der Firewall blockiert werden, wohin die Nutzer gehen und welche gefÀhrlichen Anwendungen sie verwenden.
Fazit
Wir haben die Möglichkeiten der grundlegenden Visualisierung in Kibana untersucht und ein Dashboard erstellt, aber das ist nur ein kleiner Teil. Im weiteren Verlauf des Kurses werden wir die Einrichtung von Karten, die Arbeit mit dem ElasticSearch-System, API-Anfragen, Automatisierung und vieles mehr im Detail behandeln!
Also haltet euch ĂŒber die Updates auf dem Laufenden (, , , ), .
Quelle: habr.com
