1.2.19 Ensure that the --insecure-port argument is set to 0

Information

Do not bind to insecure port.

Rationale:

Setting up the apiserver to serve on an insecure port would allow unauthenticated and unencrypted access to your master node. This would allow attackers who could access this port, to easily take control of the cluster.

Solution

Edit the API server pod specification file /etc/kubernetes/manifests/kube-apiserver.yaml on the master node and set the below parameter.

--insecure-port=0

Impact:

All components that use the API must connect via the secured port, authenticate themselves, and be authorized to use the API.

This includes:

kube-controller-manager

kube-proxy

kube-scheduler

kubelets

Default Value:

By default, the insecure port is set to 8080.

References:

https://kubernetes.io/docs/admin/kube-apiserver/

See Also

https://workbench.cisecurity.org/files/2662

Item Details

Category: CONFIGURATION MANAGEMENT

References: 800-53|CM-7, CSCv6|9.1, CSCv7|9.2

Plugin: Unix

Control ID: 00494eb5883754ca1024895b7a5ff7fd5b960f1216f8f94cbaeabb07bd2acca2