| name | cis-k8s-v200-2.2 |
| description | Ensure that the --client-cert-auth argument is set to true (Automated) |
| category | cis-k8s |
| version | 2.0.0 |
| author | cyberstrike-official |
| tags | ["cis","kubernetes","etcd"] |
| cis_id | 2.2 |
| cis_benchmark | CIS Kubernetes Benchmark v2.0.0 |
| tech_stack | ["kubernetes"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
CIS Kubernetes Benchmark v2.0.0 - Control 2.2
Profile Applicability
Description
Enable client authentication on etcd service.
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
All clients attempting to access the etcd server will require a valid client certificate.
Audit Procedure
Run the following command on the etcd server node:
ps -ef | grep etcd
Verify that the --client-cert-auth argument is set to true.
Remediation
Edit the etcd pod specification file /etc/kubernetes/manifests/etcd.yaml on the master node and set the below parameter.
--client-cert-auth="true"
Default Value
By default, the etcd service can be queried by unauthenticated clients.
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#client-cert-auth
CIS Controls
| Controls Version | Control | IG 1 | IG 2 | IG 3 |
|---|
| v8 | 3.11 Encrypt Sensitive Data at Rest Encrypt sensitive data at rest on servers, applications, and databases containing sensitive data. Storage-layer encryption, also known as server-side encryption, meets the minimum requirement of this Safeguard. Additional encryption methods may include application-layer encryption, also known as client-side encryption, where access to the data storage device(s) does not permit access to the plain-text data. | | ● | ● |
| v7 | 14.8 Encrypt Sensitive Information at Rest Encrypt all sensitive information at rest using a tool that requires a secondary authentication mechanism not integrated into the operating system, in order to access the information. |