Skip to content

NIST 800-53 Moderate-Impact Baseline for Red Hat OpenShift - Platform level

Rules and Groups employed by this XCCDF Profile

  • Configure the Kubernetes API Server Maximum Retained Audit Logs

    To configure how many rotations of audit logs are retained, edit the <code>openshift-kube-apiserver</code> configmap and set the <code>audit-log-maxbackup</code> parameter to <code>10</code> or to ...
    Rule Low Severity
  • Configure Kubernetes API Server Maximum Audit Log Size

    To rotate audit logs upon reaching a maximum size, edit the <code>openshift-kube-apiserver</code> configmap and set the <code>audit-log-maxsize</code> parameter to an appropriate size in MB. For ex...
    Rule Medium Severity
  • Configure the Audit Log Path

    To enable auditing on the Kubernetes API Server, the audit log path must be set. Edit the <code>openshift-kube-apiserver</code> configmap and set the <code>audit-log-path</code> to a suitable path ...
    Rule High Severity
  • The authorization-mode cannot be AlwaysAllow

    Do not always authorize all requests.
    Rule Medium Severity
  • Ensure authorization-mode Node is configured

    Restrict kubelet nodes to reading only objects associated with them.
    Rule Medium Severity
  • Ensure authorization-mode RBAC is configured

    To ensure OpenShift restricts different identities to a defined set of operations they are allowed to perform, check that the API server's <code>authorization-mode</code> configuration option list ...
    Rule Medium Severity
  • Disable basic-auth-file for the API Server

    Basic Authentication should not be used for any reason. If needed, edit API Edit the <code>openshift-kube-apiserver</code> configmap and remove the <code>basic-auth-file</code> parameter: <pre> "ap...
    Rule Medium Severity
  • Ensure that the bindAddress is set to a relevant secure port

    The bindAddress is set by default to 0.0.0.0:6443, and listening with TLS enabled.
    Rule Low Severity
  • Configure the Client Certificate Authority for the API Server

    Certificates must be provided to fully setup TLS client certificate authentication. To ensure the API Server utilizes its own TLS certificates, the <code>clientCA</code> must be configured. Verify ...
    Rule Medium Severity
  • Configure the Encryption Provider Cipher

    <p> When you enable etcd encryption, the following OpenShift API server and Kubernetes API server resources are encrypted: <ul> <li>Secrets</li> <li>ConfigMaps</li> <li>Routes</li> <...
    Rule Medium Severity
  • Configure the etcd Certificate Authority for the API Server

    To ensure etcd is configured to make use of TLS encryption for client connections, follow the OpenShift documentation and setup the TLS connection between the API Server and etcd. Then, verify that...
    Rule Medium Severity
  • Configure the etcd Certificate for the API Server

    To ensure etcd is configured to make use of TLS encryption for client communications, follow the OpenShift documentation and setup the TLS connection between the API Server and etcd. Then, verify t...
    Rule Medium Severity
  • Configure the etcd Certificate Key for the API Server

    To ensure etcd is configured to make use of TLS encryption for client communications, follow the OpenShift documentation and setup the TLS connection between the API Server and etcd. Then, verify t...
    Rule Medium Severity
  • Ensure that the --kubelet-https argument is set to true

    The kube-apiserver ensures https to the kubelet by default. The apiserver flag "--kubelet-https" is deprecated and should be either set to "true" or omitted from the argument list.
    Rule Medium Severity
  • Disable Use of the Insecure Bind Address

    OpenShift should not bind to non-loopback insecure addresses. Edit the <code>openshift-kube-apiserver</code> configmap and remove the <code>insecure-bind-address</code> if it exists: <pre> "apiServ...
    Rule Medium Severity
  • Configure the kubelet Certificate Authority for the API Server

    To ensure OpenShift verifies kubelet certificates before establishing connections, follow the OpenShift documentation and setup the TLS connection between the API Server and kubelets. Edit the <co...
    Rule High Severity
  • Configure the kubelet Certificate File for the API Server

    To enable certificate based kubelet authentication, edit the <code>config</code> configmap in the <code>openshift-kube-apiserver</code> namespace and set the below parameter in the <code>config.yam...
    Rule High Severity
  • Configure the kubelet Certificate File for the API Server

    To enable certificate based kubelet authentication, edit the <code>config</code> configmap in the <code>openshift-kube-apiserver</code> namespace and set the below parameter in the <code>config.yam...
    Rule High Severity
  • Configure the kubelet Certificate Key for the API Server

    To enable certificate based kubelet authentication, edit the <code>config</code> configmap in the <code>openshift-kube-apiserver</code> namespace and set the below parameter in the <code>config.yam...
    Rule High Severity
  • Configure the kubelet Certificate Key for the API Server

    To enable certificate based kubelet authentication, edit the <code>config</code> configmap in the <code>openshift-kube-apiserver</code> namespace and set the below parameter in the <code>config.yam...
    Rule High Severity

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.

Capacity
Modules