| name | cis-k8s-v1111-2.4 |
| description | Ensure that the --auto-tls argument is not set to true (Automated) |
| category | cis-k8s |
| version | 1.11.1 |
| author | cyberstrike-official |
| tags | ["cis","kubernetes","etcd","encryption","tls","certificates","peer-authentication"] |
| cis_id | 2.4 |
| cis_benchmark | CIS Kubernetes Benchmark v1.11.1 |
| tech_stack | ["kubernetes"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
2.4 Ensure that the --auto-tls argument is not set to true (Automated)
Profile Applicability
Description
Do not use self-signed certificates for TLS.
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.
Impact
Clients will not be able to use self-signed certificates for TLS.
Audit
Run the following command on the etcd server node:
ps -ef | grep etcd
Verify that if the --auto-tls argument exists, it is not set to true.
Remediation
Edit the etcd pod specification file /etc/kubernetes/manifests/etcd.yaml on the master node and either remove the --auto-tls parameter or set it to false.
--auto-tls=false
Default Value
By default, --auto-tls is set to false.
References
- https://coreos.com/etcd/docs/latest/op-guide/security.html
- https://kubernetes.io/docs/admin/etcd/
- https://coreos.com/etcd/docs/latest/op-guide/configuration.html#auto-tls
CIS Controls
| Controls Version | Control | IG 1 | IG 2 | IG 3 |
|---|
| v8 | 3.11 Encrypt Sensitive Data at Rest | | x | x |
| v7 | 14.4 Encrypt All Sensitive Information in Transit | | x | x |