Guide to the Secure Configuration of Red Hat OpenShift Container Platform 4
Rules, Groups, and Values defined within the XCCDF Benchmark
-
Ensure APIServer is not configured with Old tlsSecurityProfile
The configuration <code>tlsSecurityProfile</code> specifies TLS configurations to be used while establishing connections with the externally expose...Rule Medium Severity -
Disable Token-based Authentication
To ensure OpenShift does not accept token-based authentication, follow the OpenShift documentation and configure alternate mechanisms for authentic...Rule High Severity -
Ensure that Audit Log Forwarding Is Enabled
OpenShift audit works at the API server level, logging all requests coming to the server. Audit is on by default and the best practice is to ship a...Rule Medium Severity -
Ensure that Audit Log Webhook Is Configured
Audit is on by default and the best practice is to ship audit logs off an cluster for retention. HyperShift is able to do this with the a audit web...Rule Medium Severity -
Authentication
In cloud workloads, there are many ways to create and configure to multiple authentication services. Some of these authentication methods by not be...Group -
OAuth Clients Token Inactivity Timeout
Enter OAuth Clients Token Inactivity Timeout in SecondsValue -
Configure An Identity Provider
<p> For users to interact with OpenShift Container Platform, they must first authenticate to the cluster. The authentication layer i...Rule Medium Severity -
Configure OAuth server so that tokens expire after a set period of inactivity
<p> You can configure OAuth tokens to expire after a set period of inactivity. By default, no token inactivity timeout is set. </p> ...Rule Medium Severity -
Configure OAuth tokens to expire after a set period of inactivity
<p> You can configure OAuth tokens to expire after a set period of inactivity. By default, no token inactivity timeout is set. </p> ...Rule Medium Severity -
Configure OAuth tokens to expire after a set period of inactivity
<p> You can configure OAuth tokens to have have a custom duration. By default, the tokens are valid for 24 hours (86400 seconds). </...Rule Medium Severity -
Configure OAuth server so that tokens have a maximum age set
<p> You can configure OAuth tokens to have have a custom duration. By default, the tokens are valid for 24 hours (86400 seconds). </...Rule Medium Severity -
Kube controller manager config check - secure port
Kube controller manager config check - secure portValue -
Kube controller manager config check - service account CA
Kube controller manager config check - service account CAValue -
Kube controller manager config check - service account private key
Kube controller manager config check - service account private keyValue -
Kube controller manager config check - use service account
Kube controller manager config check - use service accountValue -
Configure which node to scan based on role
Configure which node to scan based on roleValue -
Configure OAuth clients so that tokens expire after a set period of inactivity
<p> You can configure OAuth tokens to expire after a set period of inactivity. By default, no token inactivity timeout is set. </p> ...Rule Medium Severity -
Configure OAuth clients so that tokens have a maximum age set
<p> You can configure OAuth tokens to have have a custom duration. By default, the tokens are valid for 24 hours (86400 seconds). </...Rule Medium Severity -
Do Not Use htpasswd-based IdP
<p> For users to interact with OpenShift Container Platform, they must first authenticate to the cluster. The authentication layer i...Rule Medium Severity -
Only Use LDAP-based IdPs with TLS
<p> For users to interact with OpenShift Container Platform, they must first authenticate to the cluster. The authentication layer i...Rule High Severity -
OpenShift Controller Settings
This section contains recommendations for the kube-controller-manager configurationGroup -
Kube controller manager config data name
Kube controller manager config data nameValue -
Kube controller manager config filepath
Kube controller manager config filepathValue -
Kube controller manager config check - port should not be zero
Kube controller manager config check - port should not be zeroValue -
Kube controller manager config check - rotate kubelet server certs
Kube controller manager config check - rotate kubelet server certsValue -
OpenShift - Logging Settings
Contains evaluations for the cluster's logging configuration settings.Group -
Ensure Controller insecure port argument is unset
To ensure the Controller Manager service is bound to secure loopback address and a secure port, set the <code>RotateKubeletServerCertificate</code>...Rule Low Severity -
Ensure that the RotateKubeletServerCertificate argument is set
To enforce kubelet server certificate rotation on the Controller Manager, set the <code>RotateKubeletServerCertificate</code> option to <code>true<...Rule Medium Severity -
Ensure Controller secure-port argument is set
To ensure the Controller Manager service is bound to secure loopback address using a secure port, set the <code>RotateKubeletServerCertificate</cod...Rule Low Severity -
Configure the Service Account Certificate Authority Key for the Controller Manager
To ensure the API Server utilizes its own key pair, set the <code>masterCA</code> parameter to the public key file for service accounts in the <cod...Rule Medium Severity -
Configure the Service Account Private Key for the Controller Manager
To ensure the API Server utilizes its own key pair, set the <code>privateKeyFile</code> parameter to the public key file for service accounts in th...Rule Medium Severity -
Ensure that use-service-account-credentials is enabled
To ensure individual service account credentials are used, set the <code>use-service-account-credentials</code> option to <code>true</code> in the ...Rule Medium Severity -
OpenShift etcd Settings
Contains rules that check correct OpenShift etcd settings.Group -
Etcd config filter
Etcd config filterValue -
Etcd config file path
Etcd config file pathValue -
Disable etcd Self-Signed Certificates
To ensure the <code>etcd</code> service is not using self-signed certificates, run the following command: <pre>$ oc get cm/etcd-pod -n openshift-et...Rule Medium Severity -
Ensure That The etcd Client Certificate Is Correctly Set
To ensure the etcd service is serving TLS to clients, make sure the <code>etcd-pod*</code> ConfigMaps in the <code>openshift-etcd</code> namespace ...Rule Medium Severity -
Ensure ETCD has correct cipher suite
Check the current cipher suite used in ETCD.Rule Medium Severity -
Enable The Client Certificate Authentication
To ensure the <code>etcd</code> service is serving TLS to clients, make sure the <code>etcd-pod*</code> <code>ConfigMaps</code> in the <code>opensh...Rule Medium Severity -
Ensure That The etcd Key File Is Correctly Set
To ensure the etcd service is serving TLS to clients, make sure the <code>etcd-pod*</code> ConfigMaps in the <code>openshift-etcd</code> namespace ...Rule Medium Severity -
Disable etcd Peer Self-Signed Certificates
To ensure the <code>etcd</code> service is not using self-signed certificates, run the following command: <pre>$ oc get cm/etcd-pod -n openshift-et...Rule Medium Severity -
Ensure That The etcd Peer Client Certificate Is Correctly Set
To ensure the etcd service is serving TLS to peers, make sure the <code>etcd-pod*</code> ConfigMaps in the <code>openshift-etcd</code> namespace co...Rule Medium Severity -
Enable The Peer Client Certificate Authentication
To ensure the <code>etcd</code> service is serving TLS to clients, make sure the <code>etcd-pod*</code> <code>ConfigMaps</code> in the <code>opensh...Rule Medium Severity -
Ensure That The etcd Peer Key File Is Correctly Set
To ensure the etcd service is serving TLS to peers, make sure the <code>etcd-pod*</code> ConfigMaps in the <code>openshift-etcd</code> namespace co...Rule Medium Severity -
Configure A Unique CA Certificate for etcd
A unique CA certificate should be created for <code>etcd</code>. OpenShift by default creates separate PKIs for etcd and the Kubernetes API server...Rule Medium Severity -
Kubernetes - General Security Practices
Contains evaluations for general security practices for operating a Kubernetes environment.Group -
Ensure the alert receiver is configured
In OpenShift Container Platform, an alert is fired when the conditions defined in an alerting rule are true. An alert provides a notification that ...Rule Medium Severity -
Streaming Connection Timeout Options
Time until connection timeouts. Use (s) for seconds, (m) for minutes, and (h) for hours.Value -
Ensure that a OpenShift OAuth login template or a classification banner is set
A legal notice must be configured. <br> This is achievable via the OAuth object by creating a custom login page, storing it in a Kubernetes Secret...Rule Medium Severity -
Enable Classification Banner on OpenShift Console
A classification banner can be configured by creating a Console Notification CRD on OpenShiftRule Medium Severity
Node 2
The content of the drawer really is up to you. It could have form fields, definition lists, text lists, labels, charts, progress bars, etc. Spacing recommendation is 24px margins. You can put tabs in here, and can also make the drawer scrollable.