CNTR-K8-001520 - Kubernetes etcd must have a certificate for communication.

Information

Kubernetes stores configuration and state information in a distributed key-value store called etcd. Anyone who can write to etcd can effectively control your Kubernetes cluster. Even just reading the contents of etcd could easily provide helpful hints to a would-be attacker. 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 and etcd with a means to be able to authenticate sessions and encrypt traffic.

To enable encrypted communication for etcd, the parameter etcd-certfile must be set. This parameter gives the location of the SSL certification file used to secure etcd communication.

Solution

Edit the Kubernetes kube-apiserver manifest file in the /etc/kubernetes/manifests directory on the Kubernetes Master Node.

Set the value of '--etcd-certfile' to the certificate to be used for communication with etcd.

See Also

https://dl.dod.cyber.mil/wp-content/uploads/stigs/zip/U_Kubernetes_V1R5_STIG.zip

Item Details

Category: SYSTEM AND COMMUNICATIONS PROTECTION

References: 800-53|SC-23, CAT|II, CCI|CCI-001184, Rule-ID|SV-242430r808592_rule, STIG-ID|CNTR-K8-001520, Vuln-ID|V-242430

Plugin: Unix

Control ID: b08b6989e006ec0f75f96704b004eba952e607a688d1a10cac352846035619a3