Profile applicability: Level 1 - Master Node
Do not bind the Controller Manager service to non-loopback insecure addresses.
The Controller Manager API service which runs on port 10252/TCP by default is used
for health and metrics information and is available without authentication or encryption.
As such it should only be bound to a localhost interface, to minimize the cluster's
attack surface.
NoteBy default, the
--bind-address parameter is set to 0.0.0.0. |
Audit
Run the following command on the Control Plane node:
ps -ef | grep kube-controller-manager
Verify that the
--bind-address argument is set to 127.0.0.1Remediation
Edit the Controller Manager pod specification file
/etc/kubernetes/manifests/kube-controller-manager.yaml on the Control Plane node and ensure the correct value for the --bind-address parameter.
NoteAlthough the current Kubernetes documentation site says that
--address is deprecated in favour of --bind-address Kubeadm 1.11 still makes use of --address. |
