| name | cis-ocp-v170-2.3 |
| description | Ensure --auto-tls not set to true (Manual) |
| category | cis-openshift |
| version | 1.7.0 |
| author | cyberstrike-official |
| tags | ["cis","openshift","kubernetes","redhat","etcd"] |
| cis_id | 2.3 |
| 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 2.3
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 Procedure
OpenShift configures etcd with secure communication. OpenShift installs etcd as static pods on control plane nodes, and mounts the configuration files from /etc/etcd/ on the host. The etcd.conf file includes auto-tls configurations as referenced in /etc/etcd/etcd.conf.
OpenShift 4 includes multiple CAs providing independent chains of trust, which ensure that a platform CA will never accidentally sign a certificate that can be used for the wrong purpose, increasing the security posture of the cluster. These internal self-signing CAs enable automation because the key is known to the cluster. The certificates generated by each CA are used to identify a particular OpenShift platform component to another OpenShift platform component. The OpenShift CAs are managed by the cluster and are only used within the cluster.
- Each cluster CA can only issue certificates for its own purpose within its own cluster.
- CAs for one OpenShift cluster cannot influence CAs for a different OpenShift cluster, thus avoiding cross-cluster interference.
- Cluster CAs cannot be influenced by an external CA that the cluster does not control.
Run the following command to verify if auto-TLS is enabled:
for i in $(oc get pods -oname -n openshift-etcd)
do
oc exec -n openshift-etcd -c etcd $i -- \
ps -o command= -C etcd | grep -- '--auto-tls=true 2>&1>/dev/null' ; \
echo $?
done
Verify that 1 is returned for each etcd member.
Remediation
This setting is managed by the cluster etcd operator. No remediation required.
Default Value