Under active development Content is continuously updated and improved

V-242391The Kubernetes Kubelet must have anonymous authentication disabled.

CAT I - High
CNTR-K8-000370

>Control Description

A user who has access to the Kubelet essentially has root access to the nodes contained within the Kubernetes Control Plane. To control access, users must be authenticated and authorized. By allowing anonymous connections, the controls put in place to secure the Kubelet can be bypassed. Setting anonymous authentication to "false" also disables unauthenticated requests from kubelets. While there are instances where anonymous connections may be needed (e.g., health checks) and Role-Based Access Controls (RBAC) are in place to limit the anonymous access, this access must be disabled and only enabled when necessary.

>Check Content

On each Control Plane and Worker Node,

$ps -ef | grep kubelet

If the "--anonymous-auth" option exists, this is a finding. Note the path to the config file (identified by --config). Inspect the content of the config file: Locate the "anonymous" section under "authentication". In this section, if the field "enabled" does not exist or is set to "true", this is a finding.

>Remediation

On each Control Plane and Worker Node,

$ps -ef | grep kubelet

Remove the "anonymous-auth" option if present. Note the path to the config file (identified by --config). Edit the config file: Locate the "authentication" section and the "anonymous" subsection. Within the "anonymous" subsection, set "enabled" to "false". Restart the kubelet service

$systemctl daemon-reload && systemctl restart kubelet

>CCI References

Control Correlation Identifiers (CCIs) map STIG findings to NIST 800-53 controls.

>Cross-Framework Mappings

NIST SP 800-53 r5

via DISA CCI List

Ask AI

Configure your API key to use AI features.