設定檔適用性:等級 1
關閉唯讀埠。
Kubelet 進程除了主要的 Kubelet API 外,還提供了一個唯讀 API。此唯讀 API 提供未經身份驗證的訪問,可能會檢索到有關叢集的潛在敏感信息。
注意預設情況下,在 OpenShift 4.5 及更早版本中,不使用
--read-only-port 。在 OpenShift 4.6 及更高版本中,kubelet-read-only-port 設定為 0。 |
影響
移除唯讀埠將需要重新配置任何使用該埠的服務,以使用主要的 Kubelet API。
稽核
在 OpenShift 4 中,kubelet 由機器配置運營商(Machine Config Operator)管理。kubelet 配置文件位於
/etc/kubernetes/kubelet.conf
。OpenShift 通過在 OpenShift 4.6 及更高版本中將 read-only-port
kubelet 標誌設置為 0,來禁用所有節點上的只讀端口(10255)。執行以下命令以驗證 Kubernetes API 伺服器配置映射中的
kubelet-read-only-port
是否設置為 0。oc -n openshift-kube-apiserver get cm config -o json | jq -r '.data."config.yaml"' | yq '.apiServerArguments."kubelet-read-only-port"'
驗證輸出是一個包含 0 的列表,如下所示:
[ "0" ]
補救措施
在早期版本的 OpenShift 4 中,不使用
read-only-port
參數。請按照 OpenShift 文件 中的說明創建 kubeletconfig
CRD 並將 kubelet-read-only-port
設置為 0。