Skip to main content

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

Critical

Address

Security

Compliance Standards

  • CIS OKE

Triage and Remediation

Remediation

Manual Steps

  1. On every worker node, open the kubelet systemd drop‑in config for editing:
  2. In the ExecStart= line, ensure the --anonymous-auth flag is present and set to false (add it if missing), for example:
  3. If the kubelet instead reads options from /etc/kubernetes/kubelet-config.json, open that file and set the authentication.anonymous.enabled field to false (create the hierarchy if needed):
    Example snippet:
  4. Reload systemd configuration on the same worker node:
  5. Restart the kubelet on the same worker node and ensure it is running:
  6. Verify on the same worker node that the kubelet process is running with --anonymous-auth=false:
    Confirm the output contains --anonymous-auth=false and no conflicting --anonymous-auth=true.
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.