More Info:
The kubelet —anonymous-auth argument must be set to false. Allowing anonymous authentication lets unauthenticated requests reach the kubelet API and gain access to the node.Risk Level
CriticalAddress
SecurityCompliance Standards
- CIS OKE
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every worker node, open the kubelet systemd drop‑in config for editing:
-
In the
ExecStart=line, ensure the--anonymous-authflag is present and set to false (add it if missing), for example: -
If the kubelet instead reads options from
/etc/kubernetes/kubelet-config.json, open that file and set theauthentication.anonymous.enabledfield tofalse(create the hierarchy if needed):Example snippet: -
Reload systemd configuration on the same worker node:
-
Restart the kubelet on the same worker node and ensure it is running:
-
Verify on the same worker node that the kubelet process is running with
--anonymous-auth=false:Confirm the output contains--anonymous-auth=falseand no conflicting--anonymous-auth=true.
Using kubectl
Using kubectl
kubectl cannot modify kubelet process flags or host-level config files, so this setting cannot be fixed via the Kubernetes API. To remediate, you must change the kubelet configuration on every worker node (for example in /etc/systemd/system/kubelet.service.d/00-default.conf and /etc/kubernetes/kubelet-config.json), as described in the Manual Steps section.Automation
Automation

