1.2.3 Ensure that the DenyServiceExternalIPs is set

Information

This admission controller rejects all net-new usage of the Service field externalIPs.

Most users do not need the ability to set the externalIPs field for a Service at all, and cluster admins should consider disabling this functionality by enabling the DenyServiceExternalIPs admission controller. Clusters that do need to allow this functionality should consider using some custom policy to manage its usage.

Solution

Edit the API server pod specification file /etc/kubernetes/manifests/kube-apiserver.yaml on the master node and append the Kubernetes API server flag --enable-admission-plugins with the DenyServiceExternalIPs plugin. Note, the Kubernetes API server flag --enable-admission-plugins takes a comma-delimited list of admission control plugins to be enabled, even if they are in the list of plugins enabled by default.

kube-apiserver --enable-admission-plugins=DenyServiceExternalIPs

Impact:

When enabled, users of the cluster may not create new Services which use externalIPs and may not add new values to externalIPs on existing Service objects.

See Also

https://workbench.cisecurity.org/benchmarks/17568

Item Details

Category: CONFIGURATION MANAGEMENT, MAINTENANCE

References: 800-53|CM-7, 800-53|MA-4, CSCv7|16.4

Plugin: Unix

Control ID: 07a6454dfb45182d827e3f54d36ac7e9e03fffb9d5cec28b7796356365a9006b