Skip to main content

More Info:

Verifies that the kube-apiserver pod manifest file has permissions of 600 or more restrictive. Restrictive permissions prevent unauthorized users from tampering with control plane configuration.

Risk Level

Medium

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every control plane node, check the current permissions of the API server manifest file:
  2. If the permissions are more permissive than 600 (for example, 644 or 640), set them to 600:
  3. Confirm the file owner is root (recommended). If not, set it:
  4. Be aware: changing this static pod manifest file may trigger the kubelet to restart the kube-apiserver pod on this control plane node. Plan to do this one node at a time if running a multi-node control plane.
  5. Re-verify the permissions are now 600:
kubectl cannot modify file permissions on control plane nodes, so it cannot be used to fix /etc/kubernetes/manifests/kube-apiserver.yaml. This must be corrected directly on every control plane node’s filesystem; see the Manual Steps section for how to update the permissions and verify the fix.