|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Erstellen einer benutzerdefinierten Benchmark-Version für die Ausführung eines Cluster-Scans
Jede Benchmark-Version definiert eine Reihe von Test-Konfigurationsdateien, die die Compliance-Tests festlegen, die mit dem kube-bench Tool durchgeführt werden sollen.
Die rancher-compliance Anwendung installiert einige Standard-Benchmark-Versionen, die im Menü der Compliance-Benchmark-Anwendung aufgeführt sind.
Es könnte jedoch einige Kubernetes-Cluster-Setups geben, die benutzerdefinierte Konfigurationen der Benchmark-Tests erfordern. Zum Beispiel könnte der Pfad zu den Kubernetes-Konfigurationsdateien oder Zertifikaten von dem Standardstandort abweichen, an dem die Upstream CIS Benchmarks nach ihnen suchen.
In den folgenden Fällen kann jedoch eine benutzerdefinierte Konfiguration oder Abhilfe erforderlich sein:
-
Nicht-standardmäßige Dateistandorte: Wenn Kubernetes-Binärdateien, Konfigurationen oder Zertifikatspfade von den Standardwerten des Upstream-Benchmarks abweichen.
Beispiel: Im Gegensatz zu traditionellem Kubernetes bündelt K3s die Komponenten der Kontroll-Ebene in einer einzigen Binärdatei. Daher sollte die Anwesenheit und Konfiguration des
--anonymous-authFlags in den K3s-Protokollen (journalctl) und nicht überkube-apiserverProzessprüfungen (ps) überprüft werden. -
Alternative Risikominderungen: Wenn ein Setup einen Check nicht erfüllt, aber eine ebenso effektive ausgleichende Kontrolle mit Begründung hat. Oder einfach nicht von der Prüfanforderung betroffen ist, aufgrund seines Designs.
Beispiel: Standardmäßig bettet K3s den API-Server in den K3s-Prozess ein. Es gibt keine API-Server-Pod-Spezifikationsdatei, daher ist es nicht erforderlich, die Dateiberechtigungen dieser Datei zu überprüfen.
1. Bereiten Sie die ConfigMap für die benutzerdefinierte Benchmark-Version vor
Um eine benutzerdefinierte Benchmark-Version zu erstellen, müssen Sie zunächst eine ConfigMap erstellen, die die Konfigurationsdateien der Benchmark-Version enthält, und diese in Ihr Kubernetes-Cluster hochladen, in dem Sie den Scan durchführen möchten.
Um eine ConfigMap für eine benutzerdefinierte Benchmark-Version vorzubereiten, nehmen wir an, dass wir eine benutzerdefinierte Benchmark-Version mit dem Namen foo hinzufügen möchten.
-
Erstellen Sie ein Verzeichnis mit dem Namen
foound legen Sie in dieses Verzeichnis alle YAML-Konfigurationsdateien, nach denen das kube-bench Tool sucht. Zum Beispiel sind hier die YAML-Konfigurationsdateien für eine generische CIS 1.5 Benchmark-Version https://github.com/aquasecurity/kube-bench/tree/master/cfg/cis-1.5 -
Legen Sie die vollständige
config.yaml-Datei ab, die alle Komponenten enthält, die getestet werden sollen. -
Fügen Sie den Namen der Benchmark-Version zum
target_mappingAbschnitt desconfig.yamlhinzu:target_mapping: "foo": - "master" - "node" - "controlplane" - "etcd" - "policies" -
Laden Sie dieses Verzeichnis in Ihren Kubernetes-Cluster hoch, indem Sie eine ConfigMap erstellen:
kubectl create configmap -n <namespace> foo --from-file=<path to directory foo>
2. Fügen Sie eine benutzerdefinierte Benchmark-Version zu einem Cluster hinzu
-
Klicken Sie in der oberen linken Ecke auf ☰ > Clusterverwaltung.
-
Gehen Sie auf der Cluster-Seite zu dem Cluster, zu dem Sie eine benutzerdefinierte Benchmark hinzufügen möchten, und klicken Sie auf Erkunden.
-
Klicken Sie in der linken Navigationsleiste auf Compliance > Benchmark-Version.
-
Klicken Sie auf Erstellen.
-
Geben Sie den Name und eine Beschreibung für Ihre benutzerdefinierte Benchmark-Version ein.
-
Wählen Sie den Clusteranbieter aus, auf den Ihre Benchmark-Version zutrifft.
-
Wählen Sie die ConfigMap aus, die Sie aus dem Dropdown-Menü hochgeladen haben.
-
Fügen Sie die geltenden minimalen und maximalen Kubernetes-Versionen hinzu, falls vorhanden.
-
Klicken Sie auf Erstellen.
3. Erstellen Sie ein neues Profil für die benutzerdefinierte Benchmark-Version
Um einen Scan mit Ihrer benutzerdefinierten Benchmark-Version durchzuführen, müssen Sie ein neues Profil hinzufügen, das auf diese Benchmark-Version verweist.
-
Klicken Sie in der oberen linken Ecke auf ☰ > Clusterverwaltung.
-
Gehen Sie auf der Cluster-Seite zu dem Cluster, zu dem Sie eine benutzerdefinierte Benchmark hinzufügen möchten, und klicken Sie auf Erkunden.
-
Klicken Sie in der linken Navigationsleiste auf Compliance > Scan.
-
Klicken Sie auf Erstellen.
-
Geben Sie einen Name und eine Beschreibung an. In diesem Beispiel nennen wir es
foo-profile. -
Wählen Sie die Benchmark-Version aus dem Dropdown-Menü aus.
-
Klicken Sie auf Erstellen.
4. Führen Sie einen Scan mit der benutzerdefinierten Benchmark-Version durch
Sobald das Profil, das auf Ihre benutzerdefinierte Benchmark-Version foo verweist, erstellt wurde, können Sie einen neuen Scan erstellen, um die benutzerdefinierten Testkonfigurationen in der Benchmark-Version auszuführen.
Um einen Scan durchzuführen,
-
Klicken Sie in der oberen linken Ecke auf ☰ > Clusterverwaltung.
-
Gehen Sie auf der Cluster-Seite zu dem Cluster, zu dem Sie eine benutzerdefinierte Benchmark hinzufügen möchten, und klicken Sie auf Erkunden.
-
Klicken Sie in der linken Navigationsleiste auf .
-
Klicken Sie auf Erstellen.
-
Wählen Sie das neue Cluster-Scan-Profil aus.
-
Klicken Sie auf Erstellen.
Ergebnis: Ein Bericht wird mit den Scan-Ergebnissen erstellt. Um die Ergebnisse zu sehen, klicken Sie auf den Namen des angezeigten Scans.