C-0158 - Ensure that the --peer-auto-tls argument is not set to true

Framework

cis-v1.23-t1.0.1

Severity

Medium

Description of the the issue

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 accessible only by authenticated etcd peers in the etcd cluster. Hence, do not use self-signed certificates for authentication.

Related resources

Pod

What does this control test

Do not use automatically generated self-signed certificates for TLS connections between peers.

How to check it manually

Run the following command on the etcd server node:

ps -ef | grep etcd

Verify that if the --peer-auto-tls argument exists, it is not set to true.
Note: This recommendation is applicable only for etcd clusters. If you are using only one etcd server in your environment then this recommendation is not applicable.

Remediation

Edit the etcd pod specification file /etc/kubernetes/manifests/etcd.yaml on the master node and either remove the --peer-auto-tls parameter or set it to false.

--peer-auto-tls=false

Impact Statement

All peers attempting to communicate with the etcd server will require a valid client certificate for authentication.

Default Value

Note: This recommendation is applicable only for etcd clusters. If you are using only one etcd server in your environment then this recommendation is not applicable.

By default, --peer-auto-tls argument is set to false.

Example

No example