1. Elastic Stack: Analyse der Sicherheitsprotokolle. Einführung

1. Elastic Stack: Analyse der Sicherheitsprotokolle. Einführung

Angesichts des Verkaufsstopps der Logging- und Analytics-Lösungen von Splunk in Russland stellte sich die Frage, welches System als Ersatz dienen kann. Nach eingehender Recherche verschiedener Lösungen habe ich mich für eine Lösung entschieden, die für echte Männer gedacht ist — „ELK-Stack“. Dieses System benötigt Zeit für die Einrichtung, bietet letztendlich jedoch eine sehr leistungsstarke Plattform zur Analyse des Systemstatus und zur schnellen Reaktion auf Sicherheitsvorfälle in Unternehmen. In diesem Artikelzyklus werden wir die grundlegenden (oder auch nicht) Funktionen des ELK-Stacks untersuchen, wie man Logs parst, Grafiken und Dashboards erstellt und welche interessanten Funktionen mit den Logs von Firewalls wie Check Point oder dem Sicherheitsscanner OpenVas realisiert werden können. Zunächst einmal klären wir, was genau der ELK-Stack ist und aus welchen Komponenten er besteht.

„ELK-Stack“ ist eine Abkürzung für drei Open-Source-Projekte: Elasticsearch, Logstash und Kibana. Entwickelt von der Firma Elastic, zusammen mit allen verbundenen Projekten. Elasticsearch ist das Kernstück des gesamten Systems, das Funktionen einer Datenbank, Such- und Analysesystem vereint. Logstash ist ein Datenverarbeitungspipeline auf der Serverseite, die Daten gleichzeitig aus mehreren Quellen empfängt, Logs analysiert und dann in die Elasticsearch-Datenbank sendet. Kibana ermöglicht es den Benutzern, Daten über Diagramme und Grafiken in Elasticsearch zu visualisieren. Außerdem kann über Kibana die Datenbank administriert werden. Im Folgenden betrachten wir jedes System näher.

1. Elastic Stack: Analyse der Sicherheitsprotokolle. Einführung

Logstash

Logstash ist ein Dienstprogramm zur Verarbeitung von Log-Ereignissen aus verschiedenen Quellen, mit dem Felder und deren Werte in einer Nachricht extrahiert werden können. Zudem können Filterung und Bearbeitung der Daten konfiguriert werden. Nach allen Manipulationen leitet Logstash die Ereignisse an das endgültige Datenspeicherziel weiter. Das Dienstprogramm wird ausschließlich über Konfigurationsdateien konfiguriert.
Eine typische Logstash-Konfiguration besteht aus einer oder mehreren Dateien, die mehrere eingehende Informationsströme (input), mehrere Filter für diese Informationen (filter) und mehrere Ausgabeströme (output) enthalten. Dies sieht aus wie eine oder mehrere Konfigurationsdateien, die im einfachsten Fall (der überhaupt nichts macht) so aussieht:

input {
}

filter {
}

output {
}

Im INPUT konfigurieren wir, auf welchem Port die Logs eingehen und über welches Protokoll, oder aus welchem Ordner neue oder ständig hinzugefügte Dateien gelesen werden. Im FILTER konfigurieren wir den Logparser: das Parsen der Felder, das Bearbeiten von Werten, das Hinzufügen neuer Parameter oder das Löschen. FILTER ist ein Bereich zur Steuerung der Nachrichten, die in Logstash eingehen, mit vielen Bearbeitungsmöglichkeiten. Im OUTPUT konfigurieren wir, wohin wir das bereits analysierte Log senden; falls es sich um Elasticsearch handelt, senden wir eine JSON-Anfrage, in der die Felder mit Werten übertragen werden, oder im Rahmen der Fehlersuche können wir auch in stdout ausgeben oder in eine Datei schreiben.

1. Elastic Stack: Analyse der Sicherheitsprotokolle. Einführung

ElasticSearch

Ursprünglich ist Elasticsearch eine Lösung für die Volltextsuche, aber mit zusätzlichen Funktionen wie einfacher Skalierbarkeit, Replikation und anderen Vorteilen, die das Produkt zu einer hervorragenden Wahl für stark belastete Projekte mit großen Datenmengen machen. Elasticsearch ist ein nicht relationaler Dokumentenspeicher (NoSQL) im JSON-Format und eine Suchmaschine, die auf der Volltextsuchtechnologie Lucene basiert. Die Hardwareplattform ist die Java Virtual Machine, weshalb das System einen hohen Ressourcenbedarf an CPU und RAM hat.
Jede eingehende Nachricht, sei es von Logstash oder über eine API-Anfrage, wird als "Dokument" indexiert – vergleichbar mit einer Tabelle in relationalen SQL-Datenbanken. Alle Dokumente werden in einem Index gespeichert – ähnlich einer SQL-Datenbank.

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",
    ]
}

Alle Arbeiten mit der Datenbank basieren auf JSON-Anfragen über die REST API, die entweder Dokumente nach Index bereitstellt oder bestimmte Statistiken im Format: Frage — Antwort. Um alle Antworten auf die Anfragen zu visualisieren, wurde Kibana entwickelt, ein Webdienst.

Kibana

Kibana ermöglicht das Suchen und Abfragen von Daten sowie Statistiken aus der Elasticsearch-Datenbank, wobei auf Basis der Antworten viele schöne Grafiken und Dashboards erstellt werden. Das System bietet auch Funktionen zur Verwaltung der Elasticsearch-Datenbank. In den nächsten Artikeln werden wir diesen Dienst detaillierter betrachten. Jetzt zeigen wir ein Beispiel von Dashboards für die Firewall Check Point und den Schwachstellenscanner OpenVas, die erstellt werden können.

Beispiel eines Dashboards für Check Point, das Bild ist klickbar:

1. Elastic Stack: Analyse der Sicherheitsprotokolle. Einführung

Beispiel eines Dashboards für OpenVas, das Bild ist klickbar:

1. Elastic Stack: Analyse der Sicherheitsprotokolle. Einführung

Fazit

Wir haben uns angeschaut, aus was besteht ELK-Stack, und haben uns ein wenig mit den Hauptprodukten vertraut gemacht. Im weiteren Verlauf des Kurses werden wir die Erstellung der Konfigurationsdatei für Logstash, die Einrichtung von Dashboards in Kibana, das Kennenlernen von API-Anfragen, die Automatisierung und vieles mehr separat betrachten!

Also bleiben Sie dran für Updates (Telegram, Facebook, VK, TS Solution Blog), Yandex.Zen.

Quelle: habr.com

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster