Blog
Beobachtbarkeit und Sicherheit in Kubernetes

Lernen Sie den Fachjargon und die Grundlagen der IT-Infrastrukturabstraktion
Wie Vieh, Haustiere, Container und Werkzeuge einen Mehrwert für Ihr Unternehmen schaffen können. Jede neue Technologie bringt einzigartige Vorteile mit sich, die es zu schützen gilt, und genau hier kommen wir, die Sicherheits-Nerds, ins Spiel. Wir leben davon, dass sich unsere Arbeit ständig weiterentwickelt. Man könnte meinen, dass Sicherheitsberater ständig knietief im Code stecken, aber das ist nicht immer der Fall. Was machen wir also sonst noch? Einen Großteil unserer Zeit verbringen wir damit, unsere Kunden über Sicherheit zu informieren, z. B. über die Fachsprache und die Feinheiten bestimmter Technologien.
Wenn neue Technologien wie Public Clouds, Container und Orchestrierungs-Tools auftauchen, sind wir stets bestrebt, sie so anzupassen und zu integrieren, dass sie die Abläufe in den Unternehmen unserer Kunden verbessern. Wir sind der festen Überzeugung, dass Sicherheit einen Mehrwert bieten muss, denn wenn sie das nicht tut, warum sollte man sich die Mühe machen?
Diese Blog-Serie wird Sie durch das Labyrinth der Abstraktionen und Technologien führen und dabei die Sicherheit in den Vordergrund stellen. Lassen Sie uns zunächst einige Begriffe klären.
Warum Abstraktion der IT-Infrastruktur?
Es wird immer üblicher, dass Unternehmen ihre IT-Infrastruktur automatisieren und abstrahieren, um schnellere Produktbereitstellungszyklen zu erreichen. Auf diese Weise wird der Prozess mehr effizient und vorhersehbar damit neue Ideen schnell in ein fertiges Produkt umgesetzt werden können.
Eine vorhersehbare Infrastruktur macht das Verhalten einer Anwendung zuverlässiger. Dieses Ergebnis ist keine Selbstverständlichkeit, denn schlechter Code kann immer noch Bugs und Fehler verursachen, aber die Schuld dem Plattformteam zuzuschieben, ist keine Option mehr, wenn die Netzwerkschicht abstrahiert ist (bitte nehmen Sie dies mit Vorsicht zur Kenntnis, wenn es von einem ehemaligen Netzwerksicherheitsingenieur kommt). Warum also abstrahieren Unternehmen sonst ihre IT-Infrastruktur?
Rinder vs. Haustiere
Einer der Vorteile der Automatisierung und Abstraktion der IT-Infrastruktur ist die Möglichkeit, sie als "Vieh" zu behandeln und nicht als "Haustiere." In der IT-Welt sind "Haustiere" unverzichtbare Komponenten, die besonderer Pflege bedürfen, wie z.B. ein Server, der über einen längeren Zeitraum in Betrieb war. Wir mögen unsere Haustiere zwar lieben, aber sie erfordern individuelle Aufmerksamkeit und können anspruchsvoll sein. Diese Dynamik ist zu Hause mit Ihrem Welpen in Ordnung, aber ein Unternehmen möchte nicht, dass alles aufhört, wenn sein "Haustier" ein Problem hat.
Hier kommen die "Rinder" ins Spiel. Wenn Sie die IT-Infrastruktur auf diese Weise behandeln, können die Komponenten gelöscht und neu aufgebaut werden, ohne dass dies negative Auswirkungen auf die gesamte Infrastruktur hat. Rinder erhalten nicht die gleiche liebevolle Aufmerksamkeit, die wir unseren Haustieren schenken. Für die IT-Infrastruktur ist das eine gute Sache!
Dieses Konzept wird in der Triage Distributed, Immutable, and Ephemeral (DIE) näher erläutert, die Unternehmen dabei hilft, ihre IT-Infrastruktur sicher zu gestalten und aufzubauen. Die Kombination aus einer öffentlichen Cloud, Containern und Orchestrierungstechnologien ermöglicht diese Dynamik. Wir werden die DIE-Triage in einem separaten Blog-Beitrag näher erläutern. Bleiben Sie dran.
Kubernetes ist der heilige Gral, richtig?
Falsch! Wir wissen, dass das ein Schock sein kann. Lassen Sie uns das erklären.
Obwohl wir uns auf Kubernetes verlassen können, um die IT-Infrastruktur effektiv zu betreiben, wissen wir aus Erfahrung, dass es wichtig ist, zu überprüfen, ob die Anwendungen wie vorgesehen laufen. In der realen Welt treten oft unerwartete Faktoren auf, die die Sicherheit, Stabilität und Zuverlässigkeit beeinträchtigen können.
Zahlreiche Unternehmen setzen Überwachungstools ein, um ihre Anwendungen zu überwachen und sicherzustellen, dass sie korrekt funktionieren. Jede Abweichung vom erwarteten Verhalten kann zu Verfügbarkeits- oder Sicherheitsproblemen führen, die als Drift-Erkennung bekannt sind. Leider bietet Kubernetes keine Standardtools zur Verwaltung der Workload-Kommunikation oder zur Erlangung von Einblicken in deren Leistung. Wie können Unternehmen also Sichtbarkeit und Beobachtbarkeit sicherstellen und ihre Workloads schützen, während sie Kubernetes verwenden?
Bleiben Sie ruhig, wir haben Container!
Der Lebenszyklus von Containern besteht in der Regel aus vier Phasen: Codierung, Erstellung, Test und Bereitstellung sowie Überwachung.
Code
- Die Entwickler schreiben den Anwendungscode und definieren Infrastruktur und Umgebung als Code.
- Der Code wird lokal in ein Container-Image verpackt.
- Wenn alles in Ordnung ist, werden die Änderungen vorzugsweise in das Code-Repository übertragen.
Bauen Sie
- Änderungen im Code-Repository lösen Aktionen zur Erstellung des Container-Images aus.
- Das Container-Image wird für die Bereitstellung vorbereitet und die Abhängigkeiten, Bibliotheken und Laufzeitumgebungen werden konfiguriert.
Deployment
- Das Container-Image und die definierte Infrastruktur werden getestet, um Funktionalität, Leistung und Sicherheit zu gewährleisten.
- Automatisierungstools für die Bereitstellung werden verwendet, um die Infrastruktur und Container-Images in der Produktionsumgebung bereitzustellen.
Monitor
- Überwachungstools und -techniken überwachen kontinuierlich die Leistung, den Zustand und die Ressourcennutzung der Infrastruktur und der Anwendungen.
- Metriken wie CPU-Auslastung, Speicherverbrauch und Netzwerkverkehr werden verfolgt.
- Protokollierungs- und Warnmechanismen sind integriert, um alle auftretenden Probleme zu erkennen und darauf zu reagieren.
Derzeit nutzen verschiedene Tools einen Agenten oder eBPF in Kubernetes, um Datenverkehr und Protokolle zu erfassen. In einem weiteren Blog werden wir uns auf ein Tool pro Bereich konzentrieren, um hilfreiche Einblicke zu geben und seine Vorteile, Nachteile und Ansätze zu diskutieren. Als Sicherheitsfanatiker werden wir uns auf dieNIST-Prinzipien(National Institute of Standards and Technology) Identity, Protect, Detect, Respond und Recover beziehen, um die Effektivität der einzelnen Tools zu analysieren.
Nächster Blog
In unseren kommenden Blogs werden wir auch über unsere Erfahrungen mit verschiedenen Tools berichten (vor allem über die Momente, in denen wir uns den Kopf an der Tastatur gestoßen haben, damit Sie diese vermeiden können), ihre architektonischen Implikationen erkunden, Demobeispiele vorstellen und Empfehlungen für das Unternehmensdesign geben. Am Ende dieser Blogserie werden wir einen Überblick über die verschiedenen Tools, ihre Vor- und Nachteile und ihre Übereinstimmung mit den NIST-Prinzipien geben.
Verfasst von
Nima Sead
At Xebia Cloud, Nima works as a DevSecOps engineer and ethical hacker. He aims to transform security engineering from a blocker to an enabler. He offers consultation services and coaches teams on various security topics, including secure coding, threat modeling, DevSecOps, Cloud native security, and AWS security engineering.
Unsere Ideen
Weitere Blogs
Contact



