More Info:
Verifies that the etcd data directory has permissions of 700 or more restrictive. The etcd datastore holds all cluster state including secrets and must be tightly protected.Risk Level
MediumAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every control plane node, identify the etcd data directory path:
Note the value of the
--data-dirargument (for example/var/lib/etcdor/var/lib/etcd/default.etcd). If no--data-diris shown, use/var/lib/etcd/default.etcd. -
On the same control plane node, confirm the directory exists (replace the path if different):
or, if identified differently:
-
On the same control plane node, set the directory permissions to 700 (replace with the actual data directory if different):
or:
-
On the same control plane node, ensure the directory is owned by the etcd user and group (adjust user/group if your deployment uses a different account):
or:
- Repeat steps 1–4 on every control plane node in the cluster.
-
Verification (on every control plane node): re-run the benchmark’s audit logic to confirm permissions are 700 or more restrictive:
Ensure the output shows
permissions=700(or a more restrictive value such as600).
Using kubectl
Using kubectl
kubectl cannot change file system permissions on control plane nodes, including the etcd data directory at
/var/lib/etcd. This finding must be remediated directly on every control plane node via host-level configuration; see the Manual Steps section for how to apply and verify the fix.Automation
Automation

