Finding ID | Version | Rule ID | IA Controls | Severity |
---|---|---|---|---|
V-242392 | CNTR-K8-000380 | SV-242392r712532_rule | High |
Description |
---|
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". |
STIG | Date |
---|---|
Kubernetes Security Technical Implementation Guide | 2021-04-14 |
Check Text ( C-45667r712530_chk ) |
---|
Change to the /etc/sysconfig/ directory on the Kubernetes Master Node. Run the command: grep -i authorization-mode kubelet On each Worker node, change to the /etc/sysconfig/ directory. Run the command: grep -i authorization-mode kubelet If authorization-mode is missing or is set to "AllowAlways" on the Master node or any of the Worker nodes, this is a finding. |
Fix Text (F-45625r717029_fix) |
---|
Edit the Kubernetes Kubelet file in the/etc/sysconfig/ directory on the Kubernetes Master and Worker nodes. Set the argument --authorization-mode to "Webhook". Restart each kubelet service after the change is made using the command: service kubelet restart |