The etcd service should be configured with TLS encryption
Set up the kubernetes integration.
Description
Configure TLS encryption for the etcd service.
Rationale
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 in nature and should be encrypted in transit.
Audit
Run the following command on the etcd server node:
Verify that the --cert-file
and the --key-file
arguments are set as appropriate.
Follow the etcd service documentation and configure TLS encryption. Then, edit the etcd pod specification file /etc/kubernetes/manifests/etcd.yaml
on the master node and set the below parameters:
--cert-file=</path/to/ca-file>
--key-file=</path/to/key-file>
Impact
Client connections only over TLS would be served.
Default value
By default, TLS encryption is not set.
References
- https://coreos.com/etcd/docs/latest/op-guide/security.html
- https://kubernetes.io/docs/admin/etcd/
CIS controls
Version 6.14.2 Encrypt All Sensitive Information Over Less-trusted Networks - All communication of sensitive information over less-trusted networks should be encrypted. Whenever information flows over a network with a lower trust level, the information should be encrypted.
Version 7.14.4 Encrypt All Sensitive Information in Transit - Encrypt all sensitive information in transit.