Skip to main content

More Info:

Verifies that the kube-controller-manager pod manifest file has permissions of 600 or more restrictive. This prevents unauthorized modification of the controller manager configuration.

Risk Level

Medium

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every control plane node, confirm the controller manager manifest file exists and note its current permissions:
  2. On every control plane node, set the file permissions to 600:
  3. (Optional) On every control plane node, set the file owner and group to root (if not already) to further restrict access:
  4. Be aware: modifying a static pod manifest under /etc/kubernetes/manifests may cause the kubelet to detect and restart the kube-controller-manager pod if it sees the file as changed. Perform this during a maintenance window if your environment is sensitive to control plane component restarts.
  5. On every control plane node, verify the permissions are now 600 or more restrictive:
    Confirm the output shows permissions=600 (or a more restrictive value such as permissions=400).
kubectl cannot modify file permissions on control plane hosts, including /etc/kubernetes/manifests/kube-controller-manager.yaml. This must be fixed directly on every control plane node at the host level; follow the guidance in the Manual Steps section to update the file mode and verify it.