Sicherheitsboost für Ingress-NGINX: So schützt die neue Version Ihre Kubernetes-Anwendungen

Entdecken Sie die Sicherheitsverbesserungen in Ingress-NGINX v1.2.0 und wie Sie Ihre Kubernetes-Architektur absichern können.

Meta: ayedo Redaktion · 01.05.2022 · ⏳ 2 Minuten · Alle Blogs →

Die Ingress ist eines der am häufigsten angegriffenen Komponenten in Kubernetes. Ein Ingress definiert in der Regel einen HTTP-Reverse-Proxy, der ins Internet exponiert wird und mehrere Websites enthält. Zudem hat er privilegierten Zugang zur Kubernetes-API, beispielsweise um Secrets für TLS-Zertifikate und deren private Schlüssel zu lesen.

Obwohl es sich hierbei um eine riskante Komponente in Ihrer Architektur handelt, ist sie immer noch der beliebteste Weg, um Ihre Dienste ordnungsgemäß bereitzustellen.

Ingress-NGINX war Teil von Sicherheitsbewertungen, die auf ein großes Problem hinwiesen: Wir führen nicht alle notwendigen Sanitärmaßnahmen durch, bevor wir die Konfiguration in eine nginx.conf-Datei umwandeln, was zu Informationslecks führen kann.

Dieses Risiko haben wir erkannt und die Notwendigkeit, es zu beheben, verstanden. Dies ist jedoch ein komplexer Prozess, weshalb wir in der aktuellen Version (v1.2.0) einen anderen Ansatz gewählt haben, um dieses Risiko zu reduzieren (aber nicht zu beseitigen!).

Lernen Sie Ingress-NGINX v1.2.0 und den chrooted NGINX-Prozess kennen

Eine der größten Herausforderungen besteht darin, dass Ingress-NGINX den Web-Proxy-Server (NGINX) zusammen mit dem Ingress-Controller betreibt, der Zugriff auf die Kubernetes-API hat und die nginx.conf-Datei erstellt.

Das bedeutet, dass NGINX den gleichen Zugriff auf das Dateisystem des Controllers hat wie das Kubernetes-Service-Account-Token und andere Konfigurationen aus dem Container. Obwohl es unser Ziel ist, diese Komponenten zu trennen, benötigte das Projekt eine schnelle Antwort; das führte uns zur Idee, chroot() zu verwenden.

Schauen wir uns an, wie ein Ingress-NGINX-Container vor dieser Änderung aussah:

Wie wir sehen können, ist der gleiche Container (nicht der Pod, der Container!), der den HTTP-Proxy bereitstellt, derjenige, der Ingress-Objekte überwacht und das Container-Volume schreibt.

Jetzt lernen Sie die neue Architektur kennen:

Was bedeutet das alles? Eine grundlegende Zusammenfassung ist, dass wir den NGINX-Dienst als Container innerhalb des Controller-Containers isolieren.

Zwar ist dies nicht ganz korrekt, um zu verstehen, was hier gemacht wurde, ist es wichtig zu wissen, wie Linux-Container (und die zugrunde liegenden Mechanismen wie Kernel-Namensräume) funktionieren. Sie können mehr über cgroups im Kubernetes-Glossar erfahren: cgroup und mehr darüber, wie cgroups mit Namespaces im NGINX-Projektartikel Was sind Namespaces und cgroups und wie funktionieren sie? erfahren. (Bitte beachten Sie, dass Linux-Kernel-Namensräume etwas anderes sind als Kubernetes-Namensräume).

Mit diesen Änderungen möchten wir den Sicherheitsstandard für Ihre Kubernetes-Anwendungen erhöhen. ayedo unterstützt Sie dabei, die bestmöglichen Sicherheitspraktiken in Ihrer Infrastruktur zu implementieren.


Quelle: Kubernetes Blog

ayedo Alien Kubernetes Hat

Hosten Sie Ihre Apps bei ayedo

Profitieren Sie von skalierbarem App Hosting in Kubernetes, hochverfügbarem Ingress Loadbalancing und erstklassigem Support durch unser Plattform Team. Mit der ayedo Cloud können Sie sich wieder auf das konzentrieren, was Sie am besten können: Software entwickeln.

Jetzt ausprobieren →

Ähnliche Inhalte

Alle Blogs →



ayedo Redaktion · 08.06.2025 · ⏳ 3 Minuten

Neue Wege im KI-Management: Die Gateway API Inference Extension

Moderne generative KI- und große Sprachmodelle (LLMs) stellen Kubernetes vor einzigartige Herausforderungen im Datenverkehrsmanagement. Im Gegensatz zu typischen kurzlebigen, zustandslosen Webanfragen …

Lesen →

Neue Wege im KI-Management: Die Gateway API Inference Extension
ayedo Redaktion · 06.06.2025 · ⏳ 2 Minuten

Wie Sie sicherstellen, dass Ihr Sidecar-Container zuerst startet

Einführung in die Verwaltung von Sidecar-Containern in Kubernetes In der Welt von Kubernetes sind Sidecar-Container nützliche Helfer, die Funktionen erweitern oder zusätzliche Aufgaben für die …

Lesen →

Wie Sie sicherstellen, dass Ihr Sidecar-Container zuerst startet
ayedo Redaktion · 05.06.2025 · ⏳ 2 Minuten

Gateway API v1.3.0: Neue Funktionen für flexibles Request Mirroring und mehr!

Wir freuen uns, die allgemeine Verfügbarkeit der Gateway API v1.3.0 bekanntzugeben! Diese Version wurde am 24. April 2025 veröffentlicht und bringt spannende neue Funktionen mit sich. Was ändert sich …

Lesen →

Gateway API v1.3.0: Neue Funktionen für flexibles Request Mirroring und mehr!
Katrin Peter · 03.06.2025 · ⏳ 2 Minuten

Application Performance sollte messbar sein — jederzeit, in Echtzeit

Wer Anwendungen produktiv betreibt, braucht keine schönen Dashboards, sondern harte Daten. Performance-Probleme entstehen nie dann, wenn Zeit für Debugging ist. Sie kommen genau dann, wenn Systeme …

Lesen →

Application Performance sollte messbar sein — jederzeit, in Echtzeit
Katrin Peter · 03.06.2025 · ⏳ 2 Minuten

Warum betreibt ihr eure App eigentlich noch selbst?

Die Frage stellt sich immer wieder. Entwicklerteams liefern Features, optimieren Releases, bauen saubere Architekturen — und dann hängen sie trotzdem noch in der Infrastruktur. Kubernetes-Cluster …

Lesen →

Warum betreibt ihr eure App eigentlich noch selbst?

Interessiert an weiteren Inhalten? Hier gehts zu allen Blogs →


Noch Fragen? Melden Sie sich!

Unsere DevOps-Experten antworten in der Regel innerhalb einer Stunde.

Zu Gen-Z für E-Mail? Einfach mal Discord versuchen. Unter +49 800 000 3706 können Sie unter Angabe Ihrer Kontaktdaten auch einen Rückruf vereinbaren. Bitte beachten Sie, dass es keine Möglichkeit gibt, uns telefonisch direkt zu erreichen. Bitte gar nicht erst versuchen. Sollten Sie dennoch Interesse an synchroner Verfügbarkeit via Telefon haben, empfehlen wir Ihnen unseren Priority Support.