More Info:
Verifies that the DenyServiceExternalIPs admission plugin is enabled. This plugin blocks use of Service external IPs, mitigating a known man-in-the-middle vector.Risk Level
MediumAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every control plane node, back up the API server manifest before editing:
-
On every control plane node, open the API server manifest for editing:
-
In the
spec.containers[0].commandsection, locate any existing--disable-admission-plugins=flag.- Remove
ServiceAccountfrom its comma-separated list if present, ensuring it is not listed. - If the flag becomes empty, remove the flag line entirely.
- Save and exit the editor.
(Editing this static pod manifest will cause the kube-apiserver pod to restart automatically.)
- Remove
-
On every control plane node, confirm that the kube-apiserver pod has restarted and is running:
(Use
docker psinstead if Docker is the container runtime.) -
On any machine with access to the node, verify the running kube-apiserver process no longer disables
ServiceAccountvia--disable-admission-plugins:Inspect the command line output and confirm that either--disable-admission-pluginsis absent, or if present, its value does not containServiceAccount.
Using kubectl
Using kubectl
kubectl cannot modify kube-apiserver process flags or the static pod manifest at
/etc/kubernetes/manifests/kube-apiserver.yaml on control plane nodes, so this finding cannot be fixed via the Kubernetes API. Make the required changes directly on each control plane node’s host configuration as described in the Manual Steps section.Automation
Automation

