Information
Enable client authentication on 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 not be available to unauthenticated clients. You should enable the client authentication via valid certificates to secure the access to the etcd service.
Solution
Edit the etcd envrironment file (for example, `/etc/etcd/etcd.conf`) on the etcd server node and set the `ETCD_CLIENT_CERT_AUTH` parameter to `'true'`: `ETCD_CLIENT_CERT_AUTH='true'`
Edit the etcd startup file (for example, `/etc/systemd/system/multi-user.target.wants/etcd.service`) and configure the startup parameter for `--client-cert-auth` and set it to `'${ETCD_CLIENT_CERT_AUTH}'`: `ExecStart=/bin/bash -c 'GOMAXPROCS=$(nproc) /usr/bin/etcd --name='${ETCD_NAME}' --data-dir='${ETCD_DATA_DIR}' --listen-client-urls='${ETCD_LISTEN_CLIENT_URLS}' --client-cert-auth='${ETCD_CLIENT_CERT_AUTH}''`
Based on your system, reload the daemon and restart the `etcd` service. For example, `systemctl daemon-reload systemctl restart etcd.service`
Impact:
All clients attempting to access the etcd server will require a valid client certificate.