STIGhubSTIGhub
STIGsRMF ControlsCompare

STIGhub

A free tool to search and browse the entire DISA STIG library. Saves up to 75% in security compliance research time.

Navigation

  • Browse STIGs
  • Search
  • RMF Controls
  • Compare Versions

Resources

  • About
  • Release Notes
  • VPAT
  • DISA STIG Library
STIGs updated 3 hours ago
Powered by Pylon
© 2026 Beacon Cloud Solutions, Inc. All rights reserved.
← Back to Kubernetes Security Technical Implementation Guide

V-242424

CAT II (Medium)

Kubernetes Kubelet must enable tlsPrivateKeyFile for client authentication to secure service.

Rule ID

SV-242424r1043178_rule

STIG

Kubernetes Security Technical Implementation Guide

Version

V2R6

CCIs

CCI-001184

Discussion

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 authenticate sessions and encrypt traffic. To enable encrypted communication for Kubelet, the tlsPrivateKeyFile must be set. This parameter gives the location of the SSL Certificate Authority file used to secure Kubelet communication.

Check Content

On the Control Plane, run the command:
ps -ef | grep kubelet

If the "--tls-private-key-file" option exists, this is a finding. 

Note the path to the config file (identified by --config).

Run the command:
grep -i tlsPrivateKeyFile <path_to_config_file>

If the setting "tlsPrivateKeyFile" is not set or contains no value, this is a finding.

Fix Text

On the Control Plane, run the command:
ps -ef | grep kubelet

Remove the "--tls-private-key-file" option if present.

Note the path to the config file (identified by --config).

Edit the Kubernetes Kubelet config file: 
Set "tlsPrivateKeyFile" to  a path containing the appropriate private key. 

Restart the kubelet service using the following command:
systemctl daemon-reload && systemctl restart kubelet