Check: CNTR-K8-000380
Kubernetes STIG:
CNTR-K8-000380
(in versions v1 r9 through v1 r7)
Title
The Kubernetes kubelet must enable explicit authorization. (Cat I impact)
Discussion
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".
Check Content
Run the following command on each Worker Node: ps -ef | grep kubelet Verify that the --authorization-mode exists and is set to "Webhook". If the --authorization-mode argument exists and is not set to "Webhook", this is a finding. If the --authorization-mode does not exist, check the Control Plane Kubelet config file: On the Kubernetes Control Plane, run the command: ps -ef | grep kubelet Check the config file (path identified by: --config). Verify authorization: mode. If this is not set to "Webhook", this is a finding. If "--authorization-mode=Webhook" argument does not exist on the worker nodes or "authorization: mode=Webhook" does not exist on the Control Plane, this is a finding.
Fix Text
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
Additional Identifiers
Rule ID: SV-242392r879530_rule
Vulnerability ID: V-242392
Group Title: SRG-APP-000033-CTR-000095
Expert Comments
CCIs
Number | Definition |
---|---|
CCI-000213 |
The information system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies. |
Controls
Number | Title |
---|---|
AC-3 |
Access Enforcement |