UCF STIG Viewer Logo

Kubernetes etcd must enable client authentication to secure service.


Finding ID Version Rule ID IA Controls Severity
V-242426 CNTR-K8-001480 SV-242426r864001_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. Etcd is a highly-available key value store used by Kubernetes deployments for persistent storage of all of its REST API objects. These objects are sensitive and should be accessible only by authenticated etcd peers in the etcd cluster. The parameter peer-client-cert-auth must be set for etcd to check all incoming peer requests from the cluster for valid client certificates.
Kubernetes Security Technical Implementation Guide 2022-12-02


Check Text ( C-45701r863866_chk )
Change to the /etc/kubernetes/manifests directory on the Kubernetes Control Plane. Run the command:
grep -i peer-client-cert-auth *

If the setting peer-client-cert-auth is not configured in the Kubernetes etcd manifest file or set to "false", this is a finding.
Fix Text (F-45659r863867_fix)
Edit the Kubernetes etcd file in the /etc/kubernetes/manifests directory on the Kubernetes Control Plane.

Set the value of "--peer-client-cert-auth" to "true" for the etcd.