Auf dieser Seite wird der Ansatz beschrieben, mit dem die Google Kubernetes Engine (GKE) die Einhaltung der CIS-Benchmarks (Center for Internet Security) für Kubernetes und GKE verbessert. Diese Seite enthält die folgenden Informationen:
- Verwaltete GKE-Steuerungsebene gemäß CIS-Kubernetes-Benchmark konfigurieren
- GKE-Knoten und ‑Arbeitslasten gemäß CIS-GKE-Benchmark (Google Kubernetes Engine) konfigurieren
CIS-Benchmarks
CIS veröffentlicht die folgenden Benchmarks mit Richtlinien für die sichere Konfiguration von Kubernetes:
- CIS-Kubernetes-Benchmark: Gilt für das Open-Source-Kubernetes-Projekt. Bietet eine Anleitung für eine Vielzahl von selbst verwalteten und gehosteten Kubernetes-Implementierungen.
- CIS-GKE-Benchmark: Enthält Richtlinien für die sichere Konfiguration von Komponenten, die Sie in GKE-Clustern steuern können. Enthält Empfehlungen, die speziell für GKE auf Google Cloudgelten.
Wir empfehlen, die CIS-GKE-Benchmark zu priorisieren, da sie speziell für GKE auf Google Cloudentwickelt wurde. Die CIS-Kubernetes-Benchmark enthält viele Empfehlungen für Steuerelemente, die Sie in GKE nicht aufrufen oder ändern können. Unser Ansatz für die Clustersicherheit umfasst Maßnahmen, die über den Umfang der Open-Source-Kubernetes-Benchmark hinausgehen und zu Konflikten mit diesen Empfehlungen führen können.
Weitere Benchmarks für GKE
Zusätzlich zu der CIS-GKE-Benchmark und der CIS-Kubernetes-Benchmark gelten die folgenden Benchmarks für die in GKE verfügbaren Betriebssysteme. Auch wenn in einer bestimmten Betriebssystem-Benchmark die Kubernetes-Nutzung nicht explizit erwähnt wird, sollten Sie sich dennoch auf diese Benchmark beziehen, um zusätzliche Sicherheitsrichtlinien zu erhalten.
- Container-Optimized OS-Benchmark: das Standardbetriebssystem, das auf allen GKE-Linux-Knoten installiert ist
- Ubuntu Linux-Benchmark: verfügbar für GKE Standard
- Windows Server-Benchmark: verfügbar für GKE Standard
Die Standard-Containerlaufzeit containerd hat keine Benchmark.
Modell der geteilten Verantwortung
Gemäß dem GKE-Modell der geteilten Verantwortung verwalten wir die folgenden Komponenten für Sie:
- Die Steuerungsebene, einschließlich ihrer VMs, API-Server und Komponenten wie die Clusterstatusdatenbank (etcd- oder Spanner-basiert), kube-controller-manager und kube-scheduler.
- Das Betriebssystem des Knotens
Diese Komponenten befinden sich in einem GKE-Projekt. Sie können sie daher nicht ändern oder anhand der entsprechenden CIS-Benchmark-Steuerelemente bewerten. Sie können jedoch alle CIS-Benchmark-Steuerelemente prüfen und beheben, die für Ihre Worker-Knoten und Arbeitslasten gelten. Gemäß dem GKE-Modell der geteilten Verantwortung liegen diese Komponenten in Ihrer Verantwortung.
Unser Ansatz zur Sicherung von GKE für die CIS-Benchmark
GKE ist eine verwaltete Implementierung von Open-Source-Kubernetes. Wir verwalten die Steuerungsebene vollständig und sind für die Sicherheit der Konfiguration der Steuerungsebenenkomponenten verantwortlich. In der folgenden Tabelle werden einige unserer Entscheidungen beschrieben, die sich auf die Bewertung der CIS-Benchmarks auswirken können:
GKE-Sicherheitsansatz | |
---|---|
Authentifizierung |
|
Zugangs-Controller | In GKE werden die folgenden Zugangs-Controller deaktiviert:
|
Audit-Logging | GKE erfasst Audit-Logs gemäß der GKE-Audit-Richtlinie. Daher müssen wir keine Flags für das Audit-Logging des Kubernetes API-Servers festlegen. |
Debugging | GKE verwendet Profiling für das Debugging. |
Verschlüsselung |
|
etcd | In Open-Source-Kubernetes wird für die Clusterstatusdatenbank etcd verwendet. In GKE ist die Backend-Datenbank, in der der Clusterstatus gespeichert wird, eine der folgenden Technologien:
Alle GKE-Cluster stellen die etcd-API auf VMs der Steuerungsebene bereit. Alle Clientinteraktionen mit der Kubernetes API sind dieselben wie in Open-Source-Kubernetes. Abhängig von der Datenbanktechnologie, die das Backend für die etcd-API in Ihrem Cluster ist, können Abweichungen bei der etcd-bezogenen Bewertung in der Open-Source-CIS-Kubernetes-Benchmark auftreten. |
Kubelet |
|
GKE anhand der CIS-Benchmarks bewerten
Sie können die Bewertung Ihrer Cluster anhand der Benchmarks mit einer der folgenden Methoden automatisieren:
- CIS-GKE-Benchmark:
- Führen Sie
kube-bench
aus, um Worker-Knoten anhand der Benchmark zu bewerten. Weitere Informationen finden Sie im GitHub-Repository von kube-bench. - Verwenden Sie ein Drittanbietertool wie Twistlock Defender, um Knoten anhand der Benchmark zu bewerten.
- Führen Sie
- CIS-Kubernetes-Benchmark: Führen Sie
kube-bench
aus, um Worker-Knoten anhand der Benchmark zu bewerten. Sie können die verwaltete Steuerungsebene nicht anhand dieser Empfehlungen in der Benchmark bewerten.
Nächste Schritte
- Übersicht zur GKE-Sicherheit lesen
- Best Practices für die Sicherheit im Leitfaden zum Härten von GKE beachten
- Informationen zum Überwachen Ihrer Cluster auf Sicherheitsprobleme mit dem GKE-Sicherheitsstatus
- Informationen zum Prüfen Ihrer Cluster auf Compliance-Probleme im GKE-Compliance-Dashboard