More Info:
Do not bind the Controller Manager service to non-loopback insecure addresses.Risk Level
CriticalAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every control plane node, back up the existing manifest before editing:
-
Edit the controller manager static pod manifest on that control plane node:
In the
spec.containers[0].command(orargs) list, add or update the bind address argument so it reads exactly:Ensure there is no other--bind-addressentry with a different value. -
Save the file and exit the editor. The kubelet will automatically detect the change to
/etc/kubernetes/manifests/kube-controller-manager.yamland restart thekube-controller-managerstatic pod. This will momentarily restart the controller manager component on that control plane node. -
Wait for the controller manager pod to restart and become Ready (run on any machine with
kubectlaccess):Confirm the pod corresponding to this control plane node is inRunningandReadystatus. -
Verify the controller manager process is now using the loopback bind address on that control plane node:
Confirm the output includes
--bind-address=127.0.0.1and does not show--bind-addresswith any other IP.
Using kubectl
Using kubectl
kubectl cannot modify the kube-controller-manager static pod manifest or its process flags. To remediate this finding, you must edit
/etc/kubernetes/manifests/kube-controller-manager.yaml directly on every control plane node; see the Manual Steps section for exact instructions.Automation
Automation

