Skip to main content

More Info:

The —peer-client-cert-auth argument must be set to true so etcd requires valid certificates for peer connections. If disabled, an unauthorized node can join the cluster and access all etcd data.

Risk Level

Critical

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every etcd (control plane) node, back up the existing manifest:
  1. Edit the etcd static pod manifest to set --peer-client-cert-auth=true:
If the flag is missing, open the file in an editor and add it under the command: list, for example:
Add (or ensure) a line like:
  1. Save the file and exit the editor (if used). The kubelet will automatically restart the etcd static pod when /etc/kubernetes/manifests/etcd.yaml changes. Be aware this briefly restarts the etcd container on this node.
  2. Wait for the etcd pod to restart and become ready on this node:
(or docker ps | grep etcd if using Docker as the container runtime).
  1. Verify on this node that etcd is now running with --peer-client-cert-auth=true:
Confirm the etcd process includes --peer-client-cert-auth=true and does not include --peer-client-cert-auth=false. Repeat all steps on every etcd node.
This configuration is not exposed through Kubernetes API objects, so kubectl cannot change it. The required fix must be made directly on every etcd node by editing /etc/kubernetes/manifests/etcd.yaml; see the Manual Steps section for the exact host-level remediation.