Self-signed certificates should not be used for etcd TLS
Set up the kubernetes integration.
Description
Do not use self-signed certificates for TLS.
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 not be available to unauthenticated clients. You should enable the client authentication via valid certificates to secure the access to the etcd service.
Audit
Run the following command on the etcd server node:
Verify that if the --auto-tls
argument exists, it is not set to true
.
Edit the etcd pod specification file /etc/kubernetes/manifests/etcd.yaml
on the master node and either remove the --auto-tls
parameter or set it to false:
Impact
Clients will not be able to use self-signed certificates for TLS.
Default value
By default, --auto-tls
is set to false.
References
- https://coreos.com/etcd/docs/latest/op-guide/security.html
- https://kubernetes.io/docs/admin/etcd/
- https://coreos.com/etcd/docs/latest/op-guide/configuration.html#auto-tls
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.