Profilanwendbarkeit: Stufe 1
Deaktivieren Sie den schreibgeschützten Port.
Der Kubelet-Prozess stellt zusätzlich zur Haupt-Kubelet-API eine schreibgeschützte
API bereit. Unauthentifizierter Zugriff wird auf diese schreibgeschützte API gewährt,
die möglicherweise potenziell sensible Informationen über den Cluster abrufen könnte.
HinweisSiehe die Azure AKS-Dokumentation für den Standardwert.
|
Auswirkung
Die Entfernung des schreibgeschützten Ports erfordert, dass jeder Dienst, der ihn
genutzt hat, neu konfiguriert werden muss, um die Haupt-Kubelet-API zu verwenden.
Prüfung
Wenn eine Kubelet-Konfigurationsdatei verwendet wird, überprüfen Sie, ob ein Eintrag
für
authentication:anonymous: enabled auf 0 gesetzt ist.-
SSH zum entsprechenden Knoten.
-
Führen Sie den folgenden Befehl auf jedem Knoten aus, um die entsprechende Kubelet-Konfigurationsdatei zu finden:
ps -ef | grep kubelet
Die Ausgabe sollte etwas Ähnliches wie--config /etc/kubernetes/kubelet/kubelet-config.jsonzurückgeben, was den Speicherort der Kubelet-Konfigurationsdatei darstellt. -
Öffnen Sie die Kubelet-Konfigurationsdatei:
cat /etc/kubernetes/kubelet/kubelet-config.json
-
Überprüfen Sie, ob das Argument
--read-only-portvorhanden ist und auf0gesetzt ist.Wenn das Argument--read-only-portnicht vorhanden ist, überprüfen Sie, ob eine Kubelet-Konfigurationsdatei durch--configangegeben ist. Überprüfen Sie, ob im Fall einesreadOnlyPort-Eintrags in der Datei dieser auf0gesetzt ist.
Wiederherstellung
Wenn Sie die Kubelet-Konfigurationsdatei ändern, bearbeiten Sie die Datei
kubelet-config.json /etc/kubernetes/kubelet/kubelet-config.json und setzen Sie den folgenden Parameter auf false:readOnlyPort to 0
Wenn ausführbare Argumente verwendet werden, bearbeiten Sie die kubelet-Dienstdatei
/etc/systemd/system/kubelet.service.d/10-kubelet-args.conf auf jedem Worker-Knoten und fügen Sie am Ende der KUBELET_ARGS-Variablenzeichenfolge
den folgenden Parameter hinzu:--read-only-port=0
For all remediations: Basierend auf Ihrem System, starten Sie den
kubelet-Dienst neu und überprüfen Sie den Status:systemctl daemon-reload systemctl restart kubelet.service systemctl status kubelet -l
