3. Elastic Stack: Sicherheitsprotokollanalyse. Dashboards



In den vorherigen Artikeln haben wir uns ein wenig mit dem Elk-Stack und dem Einrichten der Logstash-Konfigurationsdatei für den Log-Parser vertraut gemacht. In diesem Artikel werden wir uns mit den wichtigsten Aspekten der Analyse befassen, was Sie vom System aus sehen möchten und wofür alles erstellt wurde - dies sind Diagramme und Tabellen, die zu Dashboards zusammengefasst wurden . Heute werden wir uns das Kibana- Visualisierungssystem genauer ansehen, überlegen, wie Diagramme und Tabellen erstellt werden, und als Ergebnis ein einfaches Dashboard auf der Grundlage der Protokolle der Check Point-Firewall erstellen.

Der erste Schritt bei der Arbeit mit Kibana ist die Erstellung eines Indexmusters. Logischerweise ist dies eine Datenbank mit Indizes, die nach einem bestimmten Prinzip vereinheitlicht sind. Dies ist natürlich nur eine Einstellung, damit Kibana bequemer gleichzeitig nach Informationen zu allen Indizes sucht. Sie wird durch Abgleichen der Zeichenfolge angegeben, z. B. „checkpoint- *“ und des Namens des Index. Zum Beispiel passt "checkpoint-2019.12.05" zum Muster, aber nur "checkpoint" ist nicht mehr da. Es ist erwähnenswert, dass Sie nicht gleichzeitig nach Informationen zu verschiedenen Indexmustern suchen können. Etwas später in den folgenden Artikeln werden wir feststellen, dass API-Anforderungen entweder über den Namen des Index oder nur über eine Zeile des Musters erfolgen. Das Bild kann angeklickt werden:



Danach überprüfen wir im Discover-Menü, ob alle Protokolle indiziert sind und der richtige Parser konfiguriert ist. Wenn Inkonsistenzen festgestellt werden, z. B. wenn der Datentyp von einer Zeichenfolge in eine Ganzzahl geändert wird, müssen Sie die Logstash-Konfigurationsdatei bearbeiten. Infolgedessen werden neue Protokolle korrekt aufgezeichnet. Damit die alten Protokolle vor der Änderung die gewünschte Form annehmen, hilft nur der Neuindizierungsprozess. In nachfolgenden Artikeln wird dieser Vorgang ausführlicher behandelt. Stellen Sie sicher, dass alles in Ordnung ist und das Bild anklickbar ist:



Die Protokolle waren vorhanden, dh Sie können mit dem Erstellen von Dashboards beginnen. Basierend auf den Dashboard-Analysen von Sicherheitsprodukten können Sie den Status der Informationssicherheit in der Organisation verstehen, die Sicherheitsanfälligkeiten in der aktuellen Richtlinie klar erkennen und Möglichkeiten zur Beseitigung dieser Sicherheitsanfälligkeiten weiterentwickeln. Lassen Sie uns ein kleines Dashboard mit verschiedenen Visualisierungstools erstellen. Das Dashboard besteht aus 5 Komponenten:

  1. Tabelle zur Berechnung der Gesamtzahl der Protokolle nach Blades
  2. IPS-kritische Signaturtabelle
  3. Kreisdiagramm für Bedrohungsschutzereignisse
  4. Diagramm der am häufigsten besuchten Websites
  5. Diagramm zur Verwendung der gefährlichsten Anwendungen

Um Visualisierungsformen zu erstellen, müssen Sie im Menü Visualisieren die gewünschte Form auswählen, die erstellt werden soll. Gehen wir in Ordnung.

Tabelle zur Berechnung der Gesamtzahl der Protokolle nach Blades


Wählen Sie dazu die Datentabellenform aus, ziehen Sie sie in das Snap-In, um Diagramme zu erstellen, und legen Sie die Formeinstellungen links und rechts in den aktuellen Einstellungen fest. Zunächst werde ich zeigen, wie die fertige Tabelle aussehen wird. Anschließend werden die Einstellungen durchgegangen. Das Bild kann angeklickt werden:



Detailliertere Formeinstellungen, das Bild ist anklickbar:



Lassen Sie uns die Einstellungen analysieren.

Die Metrik ist anfänglich konfiguriert. Dies ist der Wert, mit dem alle Felder aggregiert werden. Metriken werden basierend auf den Werten berechnet, die auf die eine oder andere Weise aus den Dokumenten extrahiert wurden. Werte werden normalerweise aus Dokumentfeldern extrahiert, können aber auch mithilfe von Skripten generiert werden. In diesem Fall geben Sie Aggregation: Count (die Gesamtzahl der Protokolle) ein.

Danach teilen wir die Tabelle in Segmente (Felder) auf, nach denen die Metrik betrachtet wird. Buckets Tuning führt diese Funktion aus, die wiederum aus 2 Tuning-Optionen besteht:

  1. Zeilen teilen - Spalten hinzufügen und anschließend die Tabelle in Zeilen teilen
  2. split table - Aufteilung in mehrere Tabellen nach den Werten eines bestimmten Feldes.

In Buckets können Sie mehrere Unterteilungen hinzufügen, um mehrere Spalten oder Tabellen zu erstellen. Die Einschränkungen sind hier eher logisch. In der Aggregation können Sie auswählen, nach welcher Methode die Segmentierung erfolgen soll: IPv4-Bereich, Datumsbereich, Begriffe usw. Die unterhaltsamste Auswahl sind die Terms und Significant Terms . Die Aufteilung in Segmente erfolgt nach den Werten eines bestimmten Indexfeldes, die Differenz zwischen ihnen ist die Anzahl der zurückgegebenen Werte und deren Anzeige. Da die Tabelle durch den Namen der Blades geteilt werden soll, wählen Sie das Feld product.keyword aus und legen Sie die Größe in Höhe von 25 zurückgegebenen Werten fest.

Anstelle von Zeichenfolgen verwendet elasticsearch zwei Datentypen - text und keyword . Wenn Sie eine Volltextsuche durchführen möchten, müssen Sie den Texttyp verwenden, was sehr praktisch ist, wenn Sie Ihren Suchdienst schreiben. Sie suchen beispielsweise nach einer Erwähnung eines Wortes in einem bestimmten Feldwert (Text). Wenn Sie nur eine genaue Übereinstimmung wünschen, sollten Sie den Keyword-Typ verwenden. Der Keyword-Datentyp sollte auch für Felder verwendet werden, die sortiert oder aggregiert werden müssen, in unserem Fall also.

Als Ergebnis berechnet Elasticsearch die Anzahl der Protokolle für eine bestimmte Zeit mit der Aggregation nach Wert im Produktfeld. In der benutzerdefinierten Beschriftung legen wir den Namen der Spalte fest, die in der Tabelle angezeigt wird, legen die Zeit fest, für die die Protokolle gesammelt werden, beginnen mit dem Zeichnen - Kibana sendet eine Anfrage an elasticsearch, wartet auf eine Antwort und visualisiert dann die empfangenen Daten. Der Tisch ist fertig!

Kreisdiagramm für Bedrohungsschutzereignisse


Von besonderem Interesse ist die Information, und wie viele in der aktuellen Sicherheitsrichtlinie generell in Prozent Reaktionen auf Informationssicherheitsvorfälle erkennen und verhindern . Für diesen Fall ist ein Kreisdiagramm gut geeignet. Wählen Sie in Visualisieren - Kreisdiagramm . Auch in der Metrik setzen wir die Aggregation nach der Anzahl der Protokolle. Setzen Sie in Buckets Terms => action.

Anscheinend ist alles in Ordnung, aber als Ergebnis werden die Werte für alle Blades angezeigt. Sie müssen nur nach den Blades filtern, die als Teil der Bedrohungsverhütung funktionieren. Daher müssen wir den Filter so konfigurieren, dass nur auf den Blades, die für Sicherheitsvorfälle verantwortlich sind, nach Informationen gesucht wird - Produkt: ("Anti-Bot" ODER "New Anti-Virus" ODER "DDoS Protector" ODER "SmartDefense" ODER "Threat Emulation"). Das Bild ist anklickbar:



Und detailliertere Einstellungen, das Bild ist anklickbar:



IPS-Ereignistabelle


Unter dem Gesichtspunkt der Informationssicherheit ist es außerdem sehr wichtig, Ereignisse auf den IPS- und Threat Emulation- Blades anzuzeigen und zu überprüfen, die von der aktuellen Richtlinie nicht blockiert werden , um anschließend entweder die Signatur zu ändern, um zu verhindern, dass Datenverkehr gültig ist, oder die Signatur nicht zu überprüfen. Wir erstellen die Tabelle wie im ersten Beispiel, nur mit dem Unterschied, dass wir mehrere Spalten erstellen: protections.keyword, severity.keyword, product.keyword, originsicname.keyword. Stellen Sie sicher, dass Sie den Filter so konfigurieren, dass nur auf den Blades, die für Sicherheitsvorfälle verantwortlich sind, nach Informationen gesucht wird - Produkt: („SmartDefense“ ODER „Threat Emulation“). Das Bild ist anklickbar:



Detailliertere Einstellungen, das Bild ist anklickbar:



Diagramme für die beliebtesten besuchten Websites


Dazu erstellen Sie eine Form - vertikale Leiste . Wir verwenden auch die Metrikanzahl (die Y-Achse) und auf der X-Achse verwenden wir den Namen der besuchten Sites als appi_name als Werte. Hier gibt es einen kleinen Trick: Wenn Sie die Einstellungen in der aktuellen Version ausführen, werden alle Sites in der Grafik in einer Farbe markiert. Um sie farblich hervorzuheben, verwenden wir eine zusätzliche Einstellung: "Serie teilen", mit der Sie die fertige Spalte in einige weitere Werte aufteilen können natürlich aus dem ausgewählten bereich! Diese Unterteilung kann entweder als eine mehrfarbige Spalte gemäß den Werten im Stapelmodus oder im normalen Modus verwendet werden, um mehrere Spalten gemäß einem bestimmten Wert von der X-Achse aus zu erstellen. In diesem Fall verwenden wir denselben Wert wie die X-Achse macht es möglich, alle Spalten mehrfarbig zu gestalten, von oben rechts werden sie durch Farben angezeigt. In dem von uns eingestellten Filter - Produkt: "URL Filtering" ist das Bild anklickbar, um nur Informationen zu besuchten Seiten zu sehen:



Einstellungen:



Tabelle zur Verwendung der gefährlichsten Anwendungen


Dazu erstellen Sie eine Form - vertikale Leiste. Wir verwenden auch die Metrikanzahl (die Y-Achse) und auf der X-Achse verwenden wir den Namen der verwendeten Anwendungen, "appi_name", als Werte. Das wichtigste ist die Filteraufgabe - Produkt: "Application Control" UND app_risk: (4 ODER 5 ODER 3) UND Aktion: "accept". Wir filtern die Protokolle nach dem Application Control Blade. Wir verwenden nur Sites, die als Sites mit dem Risiko "Kritisch", "Hoch", "Mittel" eingestuft sind, und nur, wenn der Zugriff auf diese Sites zulässig ist. Das Bild ist anklickbar:



Einstellungen, anklickbar:



Dashboard


Das Anzeigen und Erstellen von Dashboards befindet sich in einem separaten Menüelement - Dashboard . Hier ist alles einfach, es wird ein neues Dashboard erstellt, es wird eine Visualisierung hinzugefügt, alles wird an seinen Platz gestellt!

Wir erstellen ein Dashboard, nach dem es möglich sein wird, die Grundsituation des IS-Status in der Organisation zu verstehen, natürlich nur auf der Check Point-Ebene, das Bild ist anklickbar:



Anhand dieser Grafiken können wir nachvollziehen, welche kritischen Signaturen in der Firewall nicht blockiert sind, wohin Benutzer gehen und welche Anwendungen am gefährlichsten sind.

Fazit


Wir haben die Möglichkeiten der grundlegenden Visualisierung in Kibana untersucht und ein Dashboard erstellt, aber dies ist nur ein kleiner Teil. Im weiteren Verlauf werden wir die Konfiguration von Maps separat betrachten, mit dem Elasticsearch-System arbeiten, API-Anforderungen, Automatisierung und vieles mehr kennenlernen!

Also bleibt dran ( Telegramm , Facebook , VK , TS Solution Blog ), Yandex.Zen .

Source: https://habr.com/ru/post/de482054/


All Articles