| name | cis-ocp-v170-1.2.30 |
| description | Ensure that the --etcd-cafile argument is set as appropriate (Manual) |
| category | cis-openshift |
| version | 1.7.0 |
| author | cyberstrike-official |
| tags | ["cis","openshift","kubernetes","redhat","control-plane","api-server"] |
| cis_id | 1.2.30 |
| cis_benchmark | CIS Red Hat OpenShift Container Platform Benchmark v1.7.0 |
| tech_stack | ["kubernetes","openshift","redhat"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
CIS Red Hat OpenShift Container Platform Benchmark v1.7.0 - Control 1.2.30
Profile Applicability
Description
etcd should be configured to make use of TLS encryption for client connections.
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 be protected by client authentication. This requires the API server to identify itself to the etcd server using a SSL Certificate Authority file.
Impact
TLS and client certificate authentication must be configured for etcd.
Audit Procedure
OpenShift uses X.509 certificates to provide secure communication to etcd. OpenShift does not use values assigned to the etcd-cafile argument. OpenShift generates the etcd-cafile and sets the arguments appropriately in the API server. OpenShift includes multiple certificate authorities (CAs) providing independent chains of trust, increasing the security posture of the cluster. The certificates generated by each CA are used to identify a particular OpenShift platform component to another OpenShift platform component. Communication with etcd is secured by the etcd serving CA.
Run the following command:
oc get configmap config -n openshift-kube-apiserver -ojson | \
jq -r '.data["config.yaml"]' | \
jq -r '.apiServerArguments["etcd-cafile"]'
Verify that the following is returned:
/etc/kubernetes/static-pod-resources/configmaps/etcd-serving-ca/ca-bundle.crt
Remediation
None.
Default Value
By default, OpenShift uses X.509 certificates to provide secure communication to etcd. OpenShift does not use values assigned to etcd-cafile. OpenShift generates the etcd-cafile and sets the arguments appropriately in the API server. Communication with etcd is secured by the etcd serving CA.
References
- https://docs.openshift.com/container-platform/latest/security/certificate_types_descriptions/etcd-certificates.html