Skip to main content

More Info:

The kubelet client certificate authorities file is used to validate client certificates and should not be writable by non-privileged users. Permissions of 644 or more restrictive protect its integrity.

Risk Level

Medium

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every worker node, identify the kubelet client CA file path (in case it differs from the default):
    If no --client-ca-file flag is present, the default path is /etc/kubernetes/pki/ca.crt.
  2. On every worker node, set the permissions of the CA file to 644 (readable by all, writable only by owner). Use the actual path if different from the default:
  3. On every worker node, confirm the owner and group are appropriate for your environment (commonly root:root), adjusting if necessary:
    If you need to change ownership (example for root:root):
  4. On every worker node, verify the permissions now meet the benchmark (644 or more restrictive), using an adapted version of the audit command:
    Ensure the output shows permissions=644 or a more restrictive value (e.g., 600, 640).
kubectl cannot modify file permissions on worker node files such as /etc/kubernetes/pki/ca.crt; this must be fixed directly on each worker node’s host filesystem. Use the guidance in the Manual Steps section on every worker node to set the correct permissions and then re-run the audit command to verify.