Profilanwendbarkeit: Stufe 1
Aktivieren Sie die Kubelet-Authentifizierung mit Zertifikaten.
Die Verbindungen vom API-Server zum Kubelet werden verwendet, um Protokolle für Pods
abzurufen, sich (über kubectl) mit laufenden Pods zu verbinden und die Port-Forwarding-Funktionalität
des Kubelets zu nutzen. Diese Verbindungen enden am HTTPS-Endpunkt des Kubelets. Standardmäßig
überprüft der API-Server das Kubelet-Servierzertifikat nicht, was die Verbindung anfällig
für Man-in-the-Middle-Angriffe macht und unsicher über unzuverlässige und/oder öffentliche
Netzwerke auszuführen ist. Die Aktivierung der Kubelet-Zertifikatsauthentifizierung
stellt sicher, dass der API-Server das Kubelet authentifizieren kann, bevor Anfragen
gestellt werden.
![]() |
HinweisStandardmäßig ist die
clientCAFile auf /etc/kubernetes/kubelet-ca.crt gesetzt. |
Auswirkung
Sie müssen TLS sowohl auf dem API-Server als auch auf den Kubelets konfigurieren.
Prüfung
OpenShift bietet eine integrierte Verwaltung von Zertifikaten für interne Cluster-Komponenten.
OpenShift 4 umfasst mehrere CAs, die unabhängige Vertrauenskette bereitstellen, um
sicherzustellen, dass eine Plattform-CA niemals versehentlich ein Zertifikat signiert,
das für den falschen Zweck verwendet werden kann, wodurch die Sicherheitslage des
Clusters verbessert wird.
Sie können die Client-CA-Datei mit dem folgenden Befehl überprüfen:
for node in $(oc get nodes -ojsonpath='{.items[*].metadata.name}'); do oc get --raw /api/v1/nodes/$node/proxy/configz | jq '.kubeletconfig.authentication.x509.clientCAFile' done
Überprüfen Sie, ob alle Knoten
/etc/kubernetes/kubelet-ca.crt
als clientCAFile
-Wert verwenden.Wiederherstellung
None. Das Ändern des Werts
clientCAFile
wird nicht unterstützt.