Skip to main content

More Info:

The —peer-auto-tls argument must not be set to true, as it makes etcd use automatically generated self-signed certificates for peer connections. This bypasses proper certificate authentication between etcd nodes.

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. On every etcd node, open the manifest for editing:
  1. In the spec.containers[].command (or args) section for the etcd container, locate any --peer-auto-tls entry. Either delete that argument line entirely or change it to:
Save and exit the editor.
  1. Be aware: editing /etc/kubernetes/manifests/etcd.yaml causes the kubelet to restart the etcd static pod on that node. Allow a few moments for the etcd container to restart and stabilize.
  2. On every etcd node, verify etcd was restarted and that --peer-auto-tls is not set to true:
Confirm that:
  • there is no --peer-auto-tls=true in the process arguments, and
  • if --peer-auto-tls appears, it is --peer-auto-tls=false (or the flag is absent).
kubectl cannot modify the etcd static pod manifest or its process flags. This finding must be fixed by editing /etc/kubernetes/manifests/etcd.yaml directly on every etcd (control plane) node; see the Manual Steps section for the exact host-level changes and verification.