UCF STIG Viewer Logo

Kubernetes Kubelet must enable tls-private-key-file for client authentication to secure service.


Finding ID Version Rule ID IA Controls Severity
V-242424 CNTR-K8-001460 SV-242424r863999_rule Medium
Kubernetes container and pod configuration are maintained by Kubelet. Kubelet agents register nodes with the API Server, mount volume storage, and perform health checks for containers and pods. Anyone who gains access to Kubelet agents can effectively control applications within the pods and containers. Using authenticity protection, the communication can be protected against man-in-the-middle attacks/session hijacking and the insertion of false information into sessions. The communication session is protected by utilizing transport encryption protocols, such as TLS. TLS provides the Kubernetes API Server with a means to be able to authenticate sessions and encrypt traffic. To enable encrypted communication for Kubelet, the tls-private-key-file must be set. This parameter gives the location of the SSL Certificate Authority file used to secure Kubelet communication.
Kubernetes Security Technical Implementation Guide 2022-12-02


Check Text ( C-45699r863860_chk )
Change to the /etc/sysconfig/ directory on the Kubernetes Control Plane. Run the commands:

grep -i tls-private-key-file kubelet

If the setting "tls-private-key-file" is not configured in the Kubernetes Kubelet, this is a finding.
Fix Text (F-45657r863861_fix)
Edit the Kubernetes Kubelet file in the /etc/sysconfig directory on the Kubernetes Control Plane. Set the argument tls-private-key-file to an Approved Organization Certificate. Reset Kubelet service using the following command:
service kubelet restart