1.Elastischer Stapel: Analyse von Sicherheitsprotokollen. Einführung

1.Elastischer Stapel: Analyse von Sicherheitsprotokollen. Einführung

Im Zusammenhang mit dem Verkaufsende des Protokollierungs- und Analysesystems Splunk in Russland stellte sich die Frage: Wodurch kann diese Lösung ersetzt werden? Nachdem ich mich mit verschiedenen Lösungen vertraut gemacht hatte, entschied ich mich für eine Lösung für einen echten Mann – „ELK-Stapel“. Die Einrichtung dieses Systems erfordert Zeit, aber als Ergebnis erhalten Sie ein sehr leistungsfähiges System zur Analyse des Status und zur sofortigen Reaktion auf Informationssicherheitsvorfälle in der Organisation. In dieser Artikelserie werden wir uns mit den grundlegenden (oder vielleicht auch nicht) Funktionen des ELK-Stacks befassen, darüber nachdenken, wie Sie Protokolle analysieren können, wie Sie Diagramme und Dashboards erstellen und welche interessanten Funktionen am Beispiel von Protokollen ausgeführt werden können die Check Point Firewall oder den OpenVas Sicherheitsscanner. Schauen wir uns zunächst an, was es ist – der ELK-Stack und aus welchen Komponenten er besteht.

„ELK-Stapel“ ist ein Akronym für drei Open-Source-Projekte: Elasticsearch, Logstasch и Kibana. Entwickelt von Elastic zusammen mit allen damit verbundenen Projekten. Elasticsearch ist der Kern des Gesamtsystems, das die Funktionen eines Datenbank-, Such- und Analysesystems vereint. Logstash ist eine serverseitige Datenverarbeitungspipeline, die Daten von mehreren Quellen gleichzeitig empfängt, das Protokoll analysiert und es dann an eine Elasticsearch-Datenbank sendet. Mit Kibana können Benutzer Daten mithilfe von Diagrammen und Grafiken in Elasticsearch visualisieren. Sie können die Datenbank auch über Kibana verwalten. Als nächstes werden wir jedes System einzeln genauer betrachten.

1.Elastischer Stapel: Analyse von Sicherheitsprotokollen. Einführung

Logstasch

Logstash ist ein Dienstprogramm zur Verarbeitung von Protokollereignissen aus verschiedenen Quellen, mit dem Sie Felder und deren Werte in einer Nachricht auswählen sowie die Datenfilterung und -bearbeitung konfigurieren können. Nach allen Manipulationen leitet Logstash Ereignisse an den endgültigen Datenspeicher weiter. Das Dienstprogramm wird nur über Konfigurationsdateien konfiguriert.
Eine typische Logstash-Konfiguration besteht aus einer oder mehreren Dateien, die aus mehreren eingehenden Informationsströmen (Eingabe), mehreren Filtern für diese Informationen (Filter) und mehreren ausgehenden Informationsströmen (Ausgabe) bestehen. Es sieht aus wie eine oder mehrere Konfigurationsdateien, die in der einfachsten Version (die überhaupt nichts bewirkt) so aussehen:

input {
}

filter {
}

output {
}

In INPUT konfigurieren wir, an welchen Port die Protokolle über welches Protokoll gesendet werden oder aus welchem ​​Ordner neue oder ständig aktualisierte Dateien gelesen werden. In FILTER konfigurieren wir den Protokollparser: Felder analysieren, Werte bearbeiten, neue Parameter hinzufügen oder löschen. FILTER ist ein Feld zum Verwalten der an Logstash eingehenden Nachrichten mit zahlreichen Bearbeitungsoptionen. In der Ausgabe konfigurieren wir, wohin wir das bereits analysierte Protokoll senden. Falls es sich um Elasticsearch handelt, wird eine JSON-Anfrage gesendet, in der Felder mit Werten gesendet werden, oder als Teil des Debuggens kann es auf stdout ausgegeben oder in eine Datei geschrieben werden.

1.Elastischer Stapel: Analyse von Sicherheitsprotokollen. Einführung

ElasticSearch

Zunächst handelt es sich bei Elasticsearch um eine Lösung für die Volltextsuche, allerdings mit zusätzlichen Annehmlichkeiten wie einfacher Skalierung, Replikation und anderen Dingen, was das Produkt sehr komfortabel und eine gute Lösung für Hochlastprojekte mit großen Datenmengen machte. Elasticsearch ist ein nicht relationaler (NoSQL) JSON-Dokumentenspeicher und eine Suchmaschine, die auf der Lucene-Volltextsuche basiert. Die Hardwareplattform ist Java Virtual Machine, daher benötigt das System für den Betrieb eine große Menge an Prozessor- und RAM-Ressourcen.
Jede eingehende Nachricht, entweder mit Logstash oder über die Abfrage-API, wird als „Dokument“ indiziert – analog zu einer Tabelle in relationalem SQL. Alle Dokumente werden in einem Index gespeichert – einem Analogon einer Datenbank in SQL.

Beispiel eines Dokuments in der Datenbank:

{
  "_index": "checkpoint-2019.10.10",
  "_type": "_doc",
  "_id": "yvNZcWwBygXz5W1aycBy",
  "_version": 1,
  "_score": null,
  "_source": {
	"layer_uuid": [
      "dae7f01c-4c98-4c3a-a643-bfbb8fcf40f0",
      "dbee3718-cf2f-4de0-8681-529cb75be9a6"
	],
	"outzone": "External",
	"layer_name": [
  	"TSS-Standard Security",
  	"TSS-Standard Application"
	],
	"time": "1565269565",
	"dst": "103.5.198.210",
	"parent_rule": "0",
	"host": "10.10.10.250",
	"ifname": "eth6",
    ]
}

Die gesamte Arbeit mit der Datenbank basiert auf JSON-Anfragen über die REST-API, die entweder Dokumente nach Index oder einige Statistiken im Format Frage – Antwort erzeugen. Um alle Antworten auf Anfragen zu visualisieren, wurde Kibana geschrieben, ein Webdienst.

Kibana

Mit Kibana können Sie in der Elasticsearch-Datenbank suchen, Daten abrufen und Statistiken abfragen. Auf der Grundlage der Antworten werden jedoch viele schöne Grafiken und Dashboards erstellt. Das System verfügt auch über die Funktionalität zur Verwaltung der Elasticsearch-Datenbank; in den folgenden Artikeln werden wir uns diesen Dienst genauer ansehen. Lassen Sie uns nun ein Beispiel für Dashboards für die Check Point-Firewall und den OpenVas-Schwachstellenscanner zeigen, die erstellt werden können.

Ein Beispiel für ein Dashboard für Check Point, das Bild ist anklickbar:

1.Elastischer Stapel: Analyse von Sicherheitsprotokollen. Einführung

Ein Beispiel für ein Dashboard für OpenVas, das Bild ist anklickbar:

1.Elastischer Stapel: Analyse von Sicherheitsprotokollen. Einführung

Abschluss

Wir haben uns angeschaut, woraus es besteht ELK-Stapel, wir haben uns ein wenig mit den Hauptprodukten vertraut gemacht, später im Kurs werden wir separat darüber nachdenken, eine Logstash-Konfigurationsdatei zu schreiben, Dashboards auf Kibana einzurichten, uns mit API-Anfragen, Automatisierung und vielem mehr vertraut zu machen!

Also bleibt gespanntTelegram, Facebook, VK, TS-Lösungsblog), Yandex.Den.

Source: habr.com

Kommentar hinzufügen