CIS Kubernetes Benchmark
Das Center for Internet Security ( CIS ) veröffentlicht den CIS Kubernetes Benchmark als Rahmen für spezifische Schritte, um Kubernetes sicherer und mit Standards zu konfigurieren, die den verschiedenen Industrievorschriften entsprechen.
Wenn eine neue Kubernetes-Version veröffentlicht wird, vergleichen IBM Entwickler die Konfiguration eines Clusters, der diese Kubernetes-Version ausführt, mit der Benchmark und veröffentlichen die Ergebnisse in dieser Dokumentation. Sie können so überprüfen, in welcher Form bestimmte Versionen Ihrer IBM Cloud® Kubernetes Service-Cluster der CIS-Kubernetes-Benchmark entsprechen.
Unterstützte Benchmark-Versionen
Verwenden Sie die Liste, um CIS Kubernetes Benchmark-Ergebnisse für unterstützte Versionen zu finden.
Benchmark verwenden
Als Sicherheitsadministrator oder Auditor können Sie die internen Standards Ihres Unternehmens und die externen regulatorischen Anforderungen mit der CIS-Kubernetes-Benchmark vergleichen. Die Benchmarkempfehlungen werden vom Center for Internet Security (CIS) bereitgestellt, nicht von IBM. IBM kann die Standardeinstellungen nicht in einer Art und Weise konfigurieren, die jeder Empfehlung entspricht, sondern dokumentiert, ob die Empfehlung erfüllt wird, um Ihnen bei Ihren Überprüfungen zu helfen. Sie können beispielsweise die Benchmark im Rahmen eines Audits verwenden, um das Vorhandensein grundlegender Sicherheitsmaßnahmen zu bestätigen und um Bereiche zu identifizieren, in denen Sie Ihre Sicherheit verbessern könnten.
Was deckt der Benchmark ab?
Die Benchmark umfasst Empfehlungen für Masterkomponenten, 'etcd', Konfigurationen für Steuerebenen, Workerknoten und Richtlinien, z. B. für Benutzer, Netz- und Podsicherheit.
Was bedeuten die Benchmark-Empfehlungen?
Die Benchmarkempfehlungen beziehen sich auf Scoring, Ebene, Ergebnisstatus und Zuständigkeiten.
- Scoring
- Bewertet: Abhängig von der Erfüllung der Empfehlung erhöht oder verringert sich die allgemeine Benchmarkbewertung.
- Nicht bewertet: Unabhängig von der Erfüllung der Empfehlung wird die allgemeine Benchmarkbewertung nicht beeinflusst.
- Ebenen
- Ebene 1: Praktische Sicherheitsmaßnahmen, die konfiguriert werden können, ohne den Service zu blockieren.
- Ebene 2: Tiefgreifendere Sicherheitsmaßnahmen, die die Leistung oder Funktionalität eines Service beeinträchtigen können.
- Ergebnis
- Bestanden: Der Service entspricht der Benchmarkempfehlung.
- Nicht bestanden: Der Service entspricht nicht standardmäßig der Benchmarkempfehlung. Eine Erläuterung und mögliche Aktionen, die Sie zur Einhaltung der Benchmarkempfehlung durchführen können, finden Sie im Abschnitt mit den Korrekturmaßnahmen.
- Zuständigkeit
- IBM: IBM ist für die Konfiguration der Einstellung zuständig, die die Benchmark empfiehlt.
- Gemeinsam: Sie und IBM sind gemeinsam für die Konfiguration der Einstellung zuständig, die die Benchmark empfiehlt.
Für welche Teile der Benchmark bin ich verantwortlich?
Da es sich bei IBM Cloud Kubernetes Service um ein verwaltetes Angebot handelt, konfiguriert IBM bereits viele Sicherheitseinstellungen für Sie. Beispielsweise verwaltet IBM den Cluster-Master und wendet automatisch Aktualisierungen auf diesen an. Für Ihre Workerknoten stellt IBM Sicherheits- und Versionsaktualisierungen bereit, aber Sie müssen die Aktualisierungen anwenden. Sie sind auch für Ihre Workloadanwendungen und -daten verantwortlich. Weitere Informationen finden Sie im Abschnitt zu den Zuständigkeiten des Kunden bei der Verwendung von IBM Cloud Kubernetes Service.
Was ist, wenn ein Teil des Dienstes einer Empfehlung nicht nachkommt?
Überprüfen Sie zunächst die Erläuterung des Problems auf mögliche Korrekturschritte.
Stellen Sie anschließend fest, ob der Fehler im Rahmen Ihrer Sicherheitsanforderungen akzeptabel ist. Einige Empfehlungen sind beispielsweise ausführlichere Konfigurationsanforderungen, als für Ihre jeweiligen Prozesse oder Standards erforderlich sind. Außerdem werden einige Empfehlungen nicht bewertet und wirken sich nicht auf die allgemeine Benchmarkbewertung aus.
Entscheiden Sie als Nächstes, ob die Komponente in Ihre Zuständigkeit fällt. Wenn dies der Fall ist, müssen Sie möglicherweise die Art und Weise ändern, wie Sie diese Komponente konfigurieren. Beispiel: Sie konfigurieren Pod-Sicherheitsrichtlinien für alle Ihre App-Bereitstellungen. Bewerten Sie bei Komponenten, die nicht direkt in Ihrer Verantwortung stehen, ob Sie einen anderen IBM Cloud-Service zur Erfüllung der Empfehlung verwenden können.
Was kann ich sonst noch tun, um die Sicherheit und Compliance meines Clusters zu erhöhen?
CIS Kubernetes Benchmark für Workerknoten ausführen
Sie können den Test selbst ausführen, um die Ergebnisse des CIS Kubernetes-Benchmarks für Abschnitt 4: Sicherheitskonfiguration für Workerknoten zu überprüfen. Da Sie Eigner der Workerknoten sind und für deren Einhaltung der geltenden Vorschriften teilweise verantwortlich sind, können Sie Änderungen an der Konfiguration vornehmen, die Sie selbst validieren möchten.
Vorbereitende Schritte: Melden Sie sich bei Ihrem Konto an. If applicable, target the appropriate resource group. Legen Sie den Kontext für den Cluster fest.
-
Erstellen Sie einen Namensbereich für die Ressourcen, um den Benchmarktest auszuführen.
kubectl create ns ibm-kube-bench-test
-
Erstellen Sie eine ConfigMap mit den Konfigurationsdateien
config
undnode
aus dem Repository kube-samples GitHub.- Laden Sie die Konfigurationsdateien
config
undnode
in ein lokales Verzeichnis namensibm
herunter. Sie können auch das Repository klonen und in das Verzeichnisibm
navigieren. - Erstellen Sie ConfigMap, indem Sie die Option
--from-file
verwenden, um das Verzeichnisibm
anzugeben, in das Sie die Konfigurationsdateien heruntergeladen haben.kubectl create cm kube-bench-node -n ibm-kube-bench-test --from-file ibm
- Laden Sie die Konfigurationsdateien
-
Erstellen Sie einen Job, um den Benchmarktest auf der Basis der Konfigurationen auszuführen, die Sie zuvor erstellt haben.
kubectl apply -n ibm-kube-bench-test -f https://raw.githubusercontent.com/IBM-Cloud/kube-samples/master/cis-kube-benchmark/cis-1.5/ibm/job-node.yaml
-
Prüfen Sie, ob der Auftrag abgeschlossen ist.
kubectl get pods -n ibm-kube-bench-test -l job-name=kube-bench-node
Beispielausgabe
NAME READY STATUS RESTARTS AGE kube-bench-node-hlvhc 0/1 Completed 0 23s
-
Überprüfen Sie die CIS-Kubernetes-Benchmark-Ergebnisse für Ihre Workerknoten, indem Sie die Podprotokolle prüfen.
kubectl logs -n ibm-kube-bench-test -l job-name=kube-bench-node --tail=-1
Beispielausgabe
== Summary == 20 checks PASS 2 checks FAIL 1 checks WARN 0 checks INFO
-
Optional: Wenn Sie die Ergebnisse überprüft haben, löschen Sie die Ressourcen, die Sie erstellt haben.
kubectl delete ns ibm-kube-bench-test