Effizientes Sicherheitsmanagement in heterogenen Systemlandschaften Security Management mit Kubernetes und Open-Source-Komponenten
Anbieter zum Thema
Dieser Artikel zeigt einen Lösungsansatz mit Open-Source-Komponenten zur Zentralisierung von Werkzeugen wie SIEM, Schwachstellenmanagement, Benutzer- und Rechteverwaltung sowie Logging und Monitoring in einer skalierbaren, hochverfügbaren und flexiblen Umgebung mit seinen Vor- und Nachteilen.

IT-Sicherheit ist für jedes Unternehmen relevant. Gerade Unternehmen, die sich ändernden Regularien unterliegen, benötigen eine zentralisierte Sicherheitslösung für heterogene IT-Landschaften.
Veraltete Infrastrukturen, Sicherheitslücken, die in Audits oder im Worst Case durch einen sicherheitskritischen Vorfall auffallen und der Einsatz proprietärer Sicherheitsprodukte machen die Etablierung eines Sicherheitskonzepts zu einem aufwändigen und teuren Prozess. Der dezentrale Einsatz dieser Werkzeuge erzeugt häufig überschüssige Informationen und Mehrfachmeldungen, deren Analyse viel Zeit kostet. Dies steht im Gegensatz zur zeitkritischen Einhaltung eines Incident Response Plans, denn nicht geschlossene Sicherheitslücken stellen ein großes Risiko dar.
Ein weiteres Hindernis ist die meist heterogene IT-Landschaft. Neben On-Premise Systemen gibt es Systeme in verschiedenen Clouds, Anbindungen von Kundeninfrastrukturen und mögliche Restriktionen im vorhandenen Netz. Werden für verschiedene Systeme eigene Sicherheits- und Überwachungslösungen verwendet, so erhöht dies den Mehraufwand durch überflüssige Komplexität und redundante Informationen deutlich. Ein Security Operation Center (SOC) kann hier Abhilfe schaffen. Wird dieses intern betrieben, steigt wiederum der zeitliche und finanzielle Aufwand. Für externe SOC-Dienstleister hingegen sind kleinere und mittelständische Unternehmen nicht immer attraktiv genug.
Zentrale Verwaltung von Sicherheitswerkzeugen mit Kubernetes
Wie kann man das Problem nun lösen? Benötigt wird eine kostengünstige, mit wenig Aufwand implementierbare Lösung, die hochverfügbar, skalierbar und dabei flexibel ist.
Die Bündelung der Sicherheitswerkzeuge zur zentralen Verarbeitung und Filterung der gesammelten Informationen führt zu einer Konsolidierung der relevanten Meldungen und somit zu einer Reduktion der Aufwände. Hier bietet ein auf Kubernetes und containerisierten Anwendungen basierendes Security-Baukasten-System eine valide Lösung. Werkzeuge wie SIEM, Schwachstellenmanagement, Benutzer- und Rechteverwaltung sowie Logging- und Monitoring-Komponenten werden zentralisiert betrieben und verwaltet. Als wichtigste Voraussetzung müssen diese Anwendungen bereits in containerisierter Form angeboten werden oder in diese überführbar sein. Als Anlaufstelle gibt es Organisationen wie die Cloud Native Computing Foundation. Durch diese Organisation aufgenommene Anwendungen haben einen hohen Reifegrad für den Einsatz in der Cloud. Viele der hier eingestuften Anwendungen sind zudem Open-Source-lizensiert.
Damit containerisierte Anwendungen effizient betrieben werden können und schnell ausrollbar sind, kann die Anwendung von Configuration-as-Code helfen. Dabei werden Konfigurationen von Software-Komponenten in maschinenlesbarer Form in den Containern abgelegt und von dort aus weiterverarbeitet. Zusätzlich reduziert sich durch eine Versionierung über GIT der Aufwand, den Mitarbeitende bei Konfigurationsänderungen haben. Gleichzeitig wird die Reaktionsfähigkeit erhöht und Änderungen werden nachvollziehbar. Ein weiterer Schritt in Richtung automatisierter Konfigurationsanpassung ist das Pflegen von Richtlinien in Form von Policy-as-Code. Dabei werden Policies in maschinenlesbarer Form abgespeichert. Mit einem entsprechenden Framework, wie dem Open Policy Agent, kann geprüft werden, ob geplante Änderungen der Konfiguration durch die hinterlegten Unternehmensrichtlinien gedeckt sind.
Die so erreichte Flexibilität kann dazu verwendet werden Fehlalarme, auch False Positives genannt, zu reduzieren, indem Schwellwerte schnell angepasst werden können. False Positives tragen zu einer unnötigen Belastung der Mitarbeitenden bei. Fehlalarme müssen zunächst wie ein echter Alarm behandelt werden und erzeugen so einen Overhead oder führen dazu, dass eine Alarmblindheit einsetzt. Wird die Zahl der False Positives reduziert, führt dies schlussendlich auch zu einem effizienteren Sicherheitsmanagement.
Ein weiterer Vorteil eines Kubernetes-Clusters ist die einfache Anbindung heterogener Infrastrukturen. So macht es keinen nennenswerten Unterschied, ob On-Premise- oder Cloud-Systeme angebunden werden. Eine Erweiterung des Clusters aufgrund von Ressourcen-Knappheit ist zudem jederzeit möglich indem weitere Server in das bestehende Cluster integriert werden. Nicht nur das Cluster selbst, auch einzelne Anwendungen können horizontal innerhalb des Clusters skalieren und so erhöhter Last widerstehen.
Software, die in dem Kubernetes-Cluster eingesetzt wird, kann in Form von Helm-Charts katalogisiert und vorkonfiguriert werden. Somit ist ein Basisbetrieb direkt möglich. Anwendungsspezifische Konfigurationen und Anpassungen können anschließend schnell per Configuration-as-Code vorgenommen werden. Viele moderne Anwendungen, die bereits Cloud-Ready sind, bieten von Haus aus vorgefertigte Helm-Charts oder vergleichbare Möglichkeiten an.
Komponenten innerhalb des Clusters werden als Services über entsprechende URLs publiziert. Bestehende Infrastrukturkomponenten können diese Services entweder direkt ansprechen oder Informationen über Software-Agenten in das Cluster übertragen. Die Architektur dieses Baukastens ist schematisch in der Grafik zu sehen.
Diese Form der Abstraktion des Hardware-Layers durch das Kubernetes-Cluster ermöglicht eine schnelle und flexible Integration von Sicherheitswerkzeugen wie SIEM, Schwachstellenscanner, Logging- und Monitoring-Systemen in eine bestehende Infrastruktur. Verwendete Werkzeuge werden so in einer zentralen Umgebung angeboten. Auch wenn Sicherheits-Informationen so konsolidiert werden können, bleiben bestimmte Systeme abhängig von ihrer proprietären Sicherheitslösung. Hier liegt es in der Hand der Hersteller, ihre Sicherheitslösungen Cloud-ready anzubieten und für die Anbindung an zentrale Systeme zu öffnen.
Fazit: Kann Kubernetes das Problem lösen?
Der Ansatz, Kubernetes als zentrale Grundlage für Sicherheitslösungen zu nutzen, bietet viele Vorteile. Der große Vorteil ist die Unabhängigkeit von vorhandener Hardware und Servern, da alle Anwendungen in containerisierter Form innerhalb des Clusters laufen. Diese Abstraktion ermöglicht den Einsatz der gleichen Software in unterschiedlichen Umgebungen während sowohl Ausfallsicherheit als auch Skalierbarkeit gegeben sind. Konfigurationsänderungen können zudem schnell und nachvollziehbar umgesetzt werden.
Damit solch ein Cluster produktiv betrieben werden kann, muss Know-How im Bereich Kubernetes zusätzlich zu IT-Security vorhanden sein. Des Weiteren müssen containerisierte Anwendungen verwendet werden oder Anwendungen für den Betrieb innerhalb eines Clusters vorbereitet werden. Auch Richtlinien müssen nach dem Prinzip von Policy-as-Code erstellt werden und alle Endpunkte über vorher definierte Service-URLs angebunden werden. Sind diese initialen Aufwände und Anforderungen erst einmal erfüllt, ist ein kostengünstiger und nachhaltiger Betrieb möglich.
Trotz der Nachteile überwiegen die Vorteile und der Einsatz von Sicherheitswerkzeugen in einem Kubernetes-Cluster stellt eine valide Lösung dar.
Über die Autoren
Roland Laußat: Nach dem Studium der angewandten Informatik und langjähriger Erfahrung im Banking- und eCommerce-Umfeld ist Roland Laußat seit 2020 bei der adesso SE für Operational IT Security zuständig. Seine Schwerpunkte sind die Erstellung und Implementierung von umfassenden IT Sicherheits-Konzepten und die Etablierung von Sicherheitsstandards in Unternehmen.
Simon Reuß: Nach dem Studium der technischen Informatik und Informatik arbeitet Simon Reuß seit 2021 bei der adesso SE im Bereich Security- und DevOps Engineering. Seine Schwerpunkte sind die automatisierte Bereitstellung und Konfiguration von (Cloud-) Infrastrukturen, Kubernetes, CI/CD Management sowie Monitoring und Logging von Systemen.
(ID:48874380)