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
MediumAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every control plane node, confirm the controller manager manifest file exists and note its current permissions:
-
On every control plane node, set the file permissions to 600:
-
(Optional) On every control plane node, set the file owner and group to root (if not already) to further restrict access:
-
Be aware: modifying a static pod manifest under
/etc/kubernetes/manifestsmay cause the kubelet to detect and restart thekube-controller-managerpod if it sees the file as changed. Perform this during a maintenance window if your environment is sensitive to control plane component restarts. -
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 aspermissions=400).
Using kubectl
Using kubectl
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.Automation
Automation

