C-0156 - Ensure that the --peer-cert-file and --peer-key-file arguments are set as appropriate

Framework

cis-v1.23-t1.0.1

Severity

High

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 encrypted in transit and also amongst peers in the etcd clusters.

Related resources

Pod

What does this control test

etcd should be configured to make use of TLS encryption for peer connections.

How to check it manually

Run the following command on the etcd server node:

ps -ef | grep etcd

Verify that the --peer-cert-file and --peer-key-file arguments are set as appropriate.

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

Follow the etcd service documentation and configure peer TLS encryption as appropriate for your etcd cluster.

Then, edit the etcd pod specification file /etc/kubernetes/manifests/etcd.yaml on the master node and set the below parameters.

--peer-client-file=</path/to/peer-cert-file>
--peer-key-file=</path/to/peer-key-file>

Impact Statement

etcd cluster peers would need to set up TLS for their communication.

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 communication over TLS is not configured.

Example

No example