Skip to main content

More Info:

The —client-ca-file enables the kubelet to authenticate client certificates against a trusted CA. Setting it ensures client certificate authentication is enforced.

Risk Level

High

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every control plane node, confirm the API server is running as a static pod and locate its manifest:
  2. On every control plane node, identify (or create if needed) the client CA file you want the API server to trust (replace the path below if your CA is elsewhere):
  3. On every control plane node, edit the API server manifest to add or correct the --client-ca-file flag, pointing to your chosen CA file:
    Saving this file causes the kubelet to restart the kube-apiserver static pod; expect a brief control-plane disruption while it restarts.
  4. On every control plane node, wait for the API server container to be recreated and become Ready:
  5. On any machine with kubectl access, confirm the API server is responding again:
  6. Verification (on every control plane node): confirm the --client-ca-file argument is present and set as intended:
kubectl cannot configure the kube-apiserver process flags or edit the static pod manifest on the host. To remediate this finding, you must modify /etc/kubernetes/manifests/kube-apiserver.yaml directly on every control plane node; see the Manual Steps section for exact host-level instructions.