設定檔適用性:等級 1
使用憑證啟用 Kubelet 驗證。
從 API 伺服器到 kubelet 的連線用於獲取 pod 的日誌、附加(通過 kubectl)到正在運行的 pod,以及使用 kubelet 的端口轉發功能。這些連線終止於
kubelet 的 HTTPS 端點。預設情況下,API 伺服器不會驗證 kubelet 的服務憑證,這使得連線容易受到中間人攻擊,並且在不受信任和/或公共網路上運行不安全。啟用
Kubelet 憑證驗證可確保 API 伺服器在提交任何請求之前能夠驗證 Kubelet。
注意預設情況下,
clientCAFile 設定為 /etc/kubernetes/kubelet-ca.crt 。 |
影響
您需要在 API 伺服器和 kubelet 上配置 TLS。
稽核
OpenShift 提供內部叢集元件憑證的整合管理。OpenShift 4 包含多個 CA,提供獨立的信任鏈,確保平台 CA 永遠不會意外簽署可用於錯誤用途的憑證,從而提高叢集的安全狀況。
您可以使用以下命令驗證客戶端 CA 檔案:
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
驗證所有節點都使用
/etc/kubernetes/kubelet-ca.crt
作為 clientCAFile
值。補救措施
無法變更
clientCAFile
值。