CIS Kubernetes Benchmark
Das Center for Internet Security ( CIS ) veröffentlicht den „ CIS “(Kubernetes) als Rahmenwerk mit konkreten Schritten zur sichereren Konfiguration von Kubernetes unter Einhaltung von Standards, die den verschiedenen Branchenvorschriften entsprechen.
Wenn eine neue Kubernetes-Version als Teil einer unterstützten Red Hat OpenShift-Version freigegeben wird, vergleichen die IBM Entwickler die Standardkonfiguration eines Clusters, der mit dieser Kubernetes-Version arbeitet, mit der Benchmark, und veröffentlichen die Ergebnisse in dieser Dokumentation. Sie können überprüfen, wie bestimmte Versionen Ihrer Red Hat® OpenShift® on IBM Cloud®-Cluster die Vorgaben der CIS Kubernetes-Benchmark erfüllen.
Unterstützte Benchmark-Versionen
In der Liste finden Sie die Benchmark-Ergebnisse für unterstützte Versionen unter CIS Kubernetes.
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 umfasst der Benchmark?
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 des Benchmarks bin ich zuständig?
Da es sich bei Red Hat OpenShift on IBM Cloud 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 Zuständigkeiten des Kunden bei der Verwendung von Red Hat OpenShift on IBM Cloud.
Was passiert, wenn ein Teil des Dienstes einer Empfehlung nicht entspricht?
Ü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. Beispielsweise könnten Sie Sicherheitskontextbeschränkungen für alle App-Bereitstellungen konfigurieren. 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 noch tun, um die Sicherheit und die Einhaltung der Vorschriften meines Clusters zu verbessern?
Weitere Informationen hierzu finden Sie im Abschnitt Sicherheit für Red Hat OpenShift on IBM Cloud.
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.
Diese Schritte gelten nur für Cluster, die mit Red Hat OpenShift Version 4.5 oder höher ausgeführt werden.
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 ein Projekt für die Ressourcen, um die Benchmark auszuführen.
oc create ns ibm-kube-bench-test -
Erstellen Sie eine „ ConfigMap “ mit den Konfigurationsdateien „
config“ und „node“ aus dem Repository „kube-samples“ unter GitHub.- Laden Sie die Konfigurationsdateien „
config“ und „node“ in ein lokales Verzeichnis namens „ibm“ herunter. Sie können auch das Repository klonen und in das Verzeichnisibmnavigieren. - Erstellen Sie die Datei „ ConfigMap “, indem Sie die Option „
--from-file“ verwenden, um das Verzeichnis „ibm“ anzugeben, in das Sie die Konfigurationsdateien heruntergeladen haben.
oc 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.
oc 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 -
Überprüfen Sie, ob der Auftrag abgeschlossen wurde.
oc get pods -n ibm-kube-bench-test -l job-name=kube-bench-nodeBeispielausgabe
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.
oc logs -n ibm-kube-bench-test -l job-name=kube-bench-node --tail=-1Beispielausgabe
== 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.
oc delete ns ibm-kube-bench-test