| name | cis-ocp-v160-1.2.32 |
| description | Ensure that the API Server only makes use of Strong Cryptographic Ciphers (Manual) |
| category | cis-openshift |
| version | 1.6.0 |
| author | cyberstrike-official |
| tags | ["cis","openshift","kubernetes","redhat","control-plane","api-server","tls-cipher-suites"] |
| cis_id | 1.2.32 |
| cis_benchmark | CIS Red Hat OpenShift Container Platform Benchmark v1.6.0 |
| tech_stack | ["kubernetes","openshift","redhat"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
CIS Red Hat OpenShift Container Platform Benchmark v1.6.0 - Control 1.2.32
Profile Applicability
Description
Ensure that the API server is configured to only use strong cryptographic ciphers.
Rationale
TLS ciphers have had a number of known vulnerabilities and weaknesses, which can reduce the protection provided by them. By default Kubernetes supports a number of TLS ciphersuites including some that have security concerns, weakening the protection provided.
Impact
API server clients that cannot support the custom cryptographic ciphers will not be able to make connections to the API server.
Audit Procedure
Ciphers for the API servers, authentication operator, and ingress controller can be configured using the tlsSecurityProfile parameter. The ingress controller provides external access to the API server. There are four TLS security profile types:
- Old
- Intermediate
- Modern
- Custom
Only the Old, Intermediate and Custom profiles are supported at this time. Custom provides the ability to specify individual TLS security profile parameters. Follow the steps in the documentation to configure the cipher suite for Ingress and the API server.
Run the following command to obtain the TLS cipher suites used by the authentication operator:
oc get cm -n openshift-authentication v4-0-config-system-cliconfig -o jsonpath='{.data.v4\-0\-config\-system\-cliconfig}' | jq .servingInfo
Run the following command to obtain the TLS cipher suites used by the Kubernetes API server operator:
oc get kubeapiservers.operator.openshift.io cluster -o json |jq .spec.observedConfig.servingInfo
Run the following command to obtain the TLS cipher suites used by the OpenShift API server operator:
oc get openshiftapiservers.operator.openshift.io cluster -o json |jq .spec.observedConfig.servingInfo
Run the following command to obtain the TLS cipher suites used by the OpenShift ingress operator:
oc get -n openshift-ingress-operator ingresscontroller/default -o json | jq .status.tlsProfile
Make sure that tlsSecurityProfile is not set to Old and if set to Custom, make sure that the minTLSVersion is not set to VersionTLS10 or VersionTLS11.
Verify the is at least .