CNTR-K8-000380 - The Kubernetes kubelet must enable explicit authorization.

Warning! Audit Deprecated

This audit has been deprecated and will be removed in a future update.

View Next Audit Version

Information

Kubelet is the primary agent on each node. The API server communicates with each kubelet to perform tasks such as starting/stopping pods. By default, kubelets allow all authenticated requests, even anonymous ones, without requiring any authorization checks from the API server. This default behavior bypasses any authorization controls put in place to limit what users may perform within the Kubernetes cluster. To change this behavior, the default setting of AlwaysAllow for the authorization mode must be set to 'Webhook'.

Solution

Edit the Kubernetes Kubelet file in the --config directory on the Kubernetes Control Plane:
Set the argument 'authorization: mode=Webhook'

If using worker node arguments, edit the kubelet service file identified in the --config directory:
On each Worker Node: set the parameter in KUBELET_SYSTEM_PODS_ARGS variable to
'--authorization-mode=Webhook'.

Reset Kubelet service using the following command:
service kubelet restart

See Also

https://dl.dod.cyber.mil/wp-content/uploads/stigs/zip/U_Kubernetes_V1R8_STIG.zip

Item Details

References: CAT|I, CCI|CCI-000213, Rule-ID|SV-242392r863968_rule, STIG-ID|CNTR-K8-000380, Vuln-ID|V-242392

Plugin: Unix

Control ID: 9ae1790ef89b2962545e9cc709a67c44751e9a97c6a37f9a655400deba7147cf