More Info:
Ensure that the etcd data directory has permissions of 700 or more restrictive.Risk Level
HighAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every control plane node, identify the etcd data directory:
Note the value passed to
--data-dir(for example/var/lib/etcdor/var/lib/etcd/default.etcd). -
If no
--data-diris visible from the process (for example, etcd not currently running), inspect the static pod manifest to find it: -
On the same control plane node, ensure the directory exists and has restrictive permissions (replace
/var/lib/etcdwith the directory you found): -
(Optional but recommended) Confirm the directory owner is the user running etcd (commonly
etcdorroot); adjust if needed, replacingetcdand the directory as appropriate: - Repeat steps 1–4 on every control plane node.
-
Verification (run on every control plane node):
Confirm the output shows
permissions=700(or a more restrictive value like600).
Using kubectl
Using kubectl
kubectl cannot modify filesystem permissions on the etcd data directory or edit host-level files like
/etc/kubernetes/manifests/etcd.yaml; this must be corrected directly on each control plane node via SSH. Refer to the Manual Steps section for the exact host-level commands to set the etcd data directory to mode 700 or more restrictive.Automation
Automation

