Containerisierung: Kubernetes-Security-Audit veröffentlicht

Die Cloud Native Computing Foundation gibt die Untersuchungsergebnisse zu zahlreichen Projekten rund um Kubernetes frei.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Containerisierung: Kubernetes-Security-Audit veröffentlicht
Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Im Interesse der erhöhten Sicherheit hat die Cloud Native Computing Foundation (CNCF) Security-Audits für das Kubernetes-Ökosystem durchgeführt, deren Ergebnisse sie nun veröffentlicht hat. Außerdem bietet sie die Audits für andere Projekte unter dem Dach der Foundation an.

Die CNCF hat die ersten Untersuchungen als Pilotprojekt bereits im vergangenen Jahr durchgeführt. Dabei hat sie den DNS-Server CoreDNS, das Proxy-Tool Envoy und das Monitoring-Werkzeug Prometheus untersucht, die neben Kubernetes die ersten graduierten Projekte unter dem Dach der Foundation waren. Die Ergebnisse der Untersuchung gingen nicht nur an die Projektbetreiber, die dadurch die gefundenen Sicherheitslücken schließen konnten, sondern sind öffentlich verfügbar für CoreDNS, Envoy und Prometheus.

Nach dem erfolgreichen Vorgehen bietet die CNCF die Security-Audits nun für andere Projekte an, wobei graduierte Projekte den Vorzug erhalten sollen. Nach dem aktuellen Stand betrifft das die Container-Laufzeitumgebung containerd und das Logging-Werkzeug fluentd. Freilich ist das erste und gleichzeitig größte vollwertige CNCF-Projekt Kubernetes ebenfalls betroffen. Aufgrund der Komplexität und Größe des Projekts hat die Foundation jedoch zunächst eine eigene Arbeitsgruppe gegründet.

Die Security Audit Working Group hat zwei externe Firmen zum Durchführen der Audits engagiert: Trail of Bits und Atredis Partners. Sie haben sich nicht Kubernetes als Ganzes vorgenommen, sondern zunächst acht Komponenten innerhalb des Ökosystems für die Evaluation im Threat-Modell ausgewählt: Kube-apiserver, Etcd, Kube-scheduler, Kube-controller-manager, Cloud-controller-manager, Kubelet, Kube-proxy und die Container Runtime.

Auch die zu untersuchende Funktionsweise hat die Arbeitsgruppe in Kategorien unterteilt: Netzwerkfunktionen, Kryptographie, Authentifizierung, Autorisierung, Secrets-Management und Mandantenfähigkeit. Die Untersuchungen haben neben einigen Schwachstellen wohl viel Wissenswertes über die Interna von Kubernetes-Clustern offenbart.

Der Report zu den Untersuchungen ist als PDF-Datei auf GitHub verfügbar. Der Bericht geht nicht nur auf zahlreiche spezifische Schwachstellen ein, sondern äußert auch generelle Kritik. Der Code sei trotz der Größe und Komplexität zu großen Teilen nur minimal dokumentiert. Außerdem gebe es zu viele Dependencies – inklusive solchen außerhalb von Kubernetes. Viele wiederholte Implementierungen sollten möglichst in Libraries zentralisiert werden. Wörtlich heißt es: Die "Codebasis von Kubernetes lässt erheblichen Raum für Verbesserungen".

Unter den konkreten Schwachstellen bemängelt der Report unter anderem die nicht ausreichend sichere Verwendung von Transport Layer Security (TLS). Außerdem seien Credentials nach außen in Form von Umgebungsvariablen und Kommandozeilenparameter sichtbar. Geheime Informationen fänden zudem ihren Weg in Log-Dateien.

Der Audit empfiehlt unter anderem dringend, beim Datenfluss innerhalb von Kubernetes einheitlich auf authentifizierte HTTPS-Verbindungen zu setzen.

(Bild: Trail of Bits)

Daneben gibt das Audit sowohl den Kubernetes-Entwicklern als auch den Cluster-Administratoren einige Empfehlungen mit auf den Weg. Erstere sollten unter anderem hartkodierte Pfadangaben zu Dependencies vermeiden und die File-Permissions überprüfen. Letztere erhalten Best Practices für die rollenbasierte Zugriffskontrolle (Role Based Access Control, RBAC) und Hinweise zu Logging und Alerting.

Weitere Details zu den Security Audits, dem Open-Source-Prozess und den Ergebnissen der bisher durchgeführten Untersuchungen lassen sich dem Blog der Cloud Native Computing Foundation entnehmen. (rme)