Skip to content

Guide to the Secure Configuration of Red Hat OpenShift Container Platform 4

Rules, Groups, and Values defined within the XCCDF Benchmark

  • OpenShift - Risk Assessment Settings

    Contains evaluations for the cluster's risk assessment configuration settings.
    Group
  • Verify User Who Owns the Worker Certificate Authority File

    To properly set the owner of <code>/etc/kubernetes/kubelet-ca.crt</code>, run the command: <pre>$ sudo chown root /etc/kubernetes/kubelet-ca.crt <...
    Rule Medium Severity
  • Make sure the Container Security Operator is installed

    <p> Using the Red Hat Quay Container Security Operator, you can access vulnerability scan results from the OpenShift Container Platf...
    Rule Medium Severity
  • Ensure that Compliance Operator is scanning the cluster

    <a href="https://docs.openshift.com/container-platform/latest/security/compliance_operator/compliance-operator-understanding.html#compliance-operat...
    Rule Medium Severity
  • Ensure that Compliance Operator scans are running periodically

    <a href="https://docs.openshift.com/container-platform/latest/security/compliance_operator/compliance-operator-understanding.html#compliance-operat...
    Rule Medium Severity
  • Security Context Constraints (SCC)

    Similar to the way that RBAC resources control user access, administrators can use Security Context Constraints (SCCs) to control permissions for p...
    Group
  • Permitted SCCs with allowedCapabilities

    A regular expression that lists all SCCs that are permitted to set the allowedCapabilities attribute
    Value
  • Drop Container Capabilities

    Containers should not enable more capabilities than needed as this opens the door for malicious use. To disable the capabilities, the appropriate S...
    Rule Medium Severity
  • Limit Container Capabilities

    <p> Containers should not enable more capabilites than needed as this opens the door for malicious use. To enable only the required ...
    Rule Medium Severity
  • Limit Containers Ability to use the HostDir volume plugin

    Containers should be allowed to use the <code>hostPath</code> volume type unless necessary. To prevent containers from using the host filesystem th...
    Rule Medium Severity
  • Limit Containers Ability to bind to privileged ports

    Containers should be limited to bind to non-privileged ports directly on the hosts. To prevent containers from binding to privileged ports on the h...
    Rule Medium Severity
  • Limit Use of the CAP_NET_RAW

    Containers should not enable more capabilities than needed as this opens the door for malicious use. <code>CAP_NET_RAW</code> enables a container t...
    Rule Medium Severity
  • Limit Access to the Host Network Namespace

    Containers should not be allowed access to the host's network namespace. To prevent containers from getting access to a host's network namespace, t...
    Rule Medium Severity
  • Limit Containers Ability to Escalate Privileges

    Containers should be limited to only the privileges required to run and should not be allowed to escalate their privileges. To prevent containers f...
    Rule Medium Severity
  • Limit Privileged Container Use

    Containers should be limited to only the privileges required to run. To prevent containers from running as privileged containers, the appropriate S...
    Rule Medium Severity
  • Limit Access to the Host Process ID Namespace

    Containers should not be allowed access to the host's process ID namespace. To prevent containers from getting access to a host's process ID namesp...
    Rule Medium Severity
  • Limit Container Running As Root User

    Containers should run as a random non-privileged user. To prevent containers from running as root user, the appropriate Security Context Constraint...
    Rule Medium Severity
  • OpenShift - Kubernetes - Scheduler Settings

    Contains evaluations for kube-scheduler configuration settings.
    Group
  • Kube scheduler config filter

    Kube scheduler filter
    Value
  • Kube scheduler config file path

    Kube scheduler config file path
    Value
  • Ensure that the bind-address parameter is not used

    The Scheduler API service which runs on port 10251/TCP by default is used for health and metrics information and is available without authenticatio...
    Rule Medium Severity
  • Ensure that the port parameter is zero

    The Scheduler API service which runs on port 10251/TCP by default is used for health and metrics information and is available without authenticatio...
    Rule Medium Severity
  • Kubernetes Secrets Management

    Secrets let you store and manage sensitive information, such as passwords, OAuth tokens, and ssh keys. Such information might otherwise be put in a...
    Group
  • Verify User Who Owns The Worker Kubeconfig File

    To properly set the owner of /var/lib/kubelet/kubeconfig, run the command:
    $ sudo chown root /var/lib/kubelet/kubeconfig 
    Rule Medium Severity
  • Consider external secret storage

    Consider the use of an external secrets storage and management system, instead of using Kubernetes Secrets directly, if you have more complex secre...
    Rule Medium Severity
  • Do Not Use Environment Variables with Secrets

    Secrets should be mounted as data volumes instead of environment variables.
    Rule Medium Severity
  • Kubernetes - Worker Node Settings

    Contains evaluations for the worker node configuration settings.
    Group
  • Verify Group Who Owns The Kubelet Configuration File

    To properly set the group owner of <code>/etc/kubernetes/kubelet.conf</code>, run the command: <pre>$ sudo chgrp root /etc/kubernetes/kubelet.conf...
    Rule Medium Severity
  • Verify Group Who Owns The Worker Proxy Kubeconfig File

    To ensure the Kubernetes ConfigMap is mounted into the sdn daemonset pods with the correct ownership, make sure that the <code>sdn-config</code> Co...
    Rule Medium Severity
  • Verify Group Who Owns the Worker Certificate Authority File

    To properly set the group owner of <code>/etc/kubernetes/kubelet-ca.crt</code>, run the command: <pre>$ sudo chgrp root /etc/kubernetes/kubelet-ca...
    Rule Medium Severity
  • Verify Group Who Owns The Worker Kubeconfig File

    To properly set the group owner of <code>/var/lib/kubelet/kubeconfig</code>, run the command: <pre>$ sudo chgrp root /var/lib/kubelet/kubeconfig</...
    Rule Medium Severity
  • Verify Group Who Owns The OpenShift Node Service File

    ' To properly set the group owner of <code>/etc/systemd/system/kubelet.service</code>, run the command: <pre>$ sudo chgrp root /etc/systemd/sys...
    Rule Medium Severity
  • Verify User Who Owns The Kubelet Configuration File

    To properly set the owner of /var/lib/kubelet/config.json, run the command:
    $ sudo chown root /var/lib/kubelet/config.json 
    Rule Medium Severity
  • Verify User Who Owns The Kubelet Configuration File

    To properly set the owner of /etc/kubernetes/kubelet.conf, run the command:
    $ sudo chown root /etc/kubernetes/kubelet.conf 
    Rule Medium Severity
  • Verify User Who Owns The Worker Proxy Kubeconfig File

    To ensure the Kubernetes ConfigMap is mounted into the sdn daemonset pods with the correct ownership, make sure that the <code>sdn-config</code> Co...
    Rule Medium Severity
  • Verify Permissions on The Kubelet Configuration File

    To properly set the permissions of <code>/var/lib/kubelet/config.json</code>, run the command: <pre>$ sudo chmod 0600 /var/lib/kubelet/config.json...
    Rule Medium Severity
  • Verify Permissions on The Kubelet Configuration File

    To properly set the permissions of <code>/etc/kubernetes/kubelet.conf</code>, run the command: <pre>$ sudo chmod 0644 /etc/kubernetes/kubelet.conf...
    Rule Medium Severity
  • Verify Permissions on the Worker Proxy Kubeconfig File

    To ensure the Kubernetes ConfigMap is mounted into the sdn daemonset pods with the correct permissions, make sure that the <code>sdn-config</code> ...
    Rule Medium Severity
  • Verify Permissions on the Worker Certificate Authority File

    To properly set the permissions of <code>/etc/kubernetes/kubelet-ca.crt</code>, run the command: <pre>$ sudo chmod 0644 /etc/kubernetes/kubelet-ca...
    Rule Medium Severity
  • Verify Permissions on the Worker Kubeconfig File

    To properly set the permissions of <code>/var/lib/kubelet/kubeconfig</code>, run the command: <pre>$ sudo chmod 0600 /var/lib/kubelet/kubeconfig</...
    Rule Medium Severity
  • Verify Permissions on the OpenShift Node Service File

    To properly set the permissions of <code>/etc/systemd/system/kubelet.service</code>, run the command: <pre>$ sudo chmod 0644 /etc/systemd/system/k...
    Rule Medium Severity
  • OpenShift APIServer etcd encryption type

    OpenShift APIServer etcd encryption provider type to use for remediation. This variable is only applicable to remediations, and does not affect che...
    Value
  • kubelet - Enable Server Certificate Rotation

    To enable the kubelet to rotate server certificates, edit the kubelet configuration file <code>/etc/kubernetes/kubelet.conf</code> on the kubelet n...
    Rule Medium Severity
  • Verify Group Who Owns The etcd Member Pod Specification File

    To properly set the group owner of <code>/etc/kubernetes/manifests/etcd-pod.yaml</code>, run the command: <pre>$ sudo chgrp root /etc/kubernetes/m...
    Rule Medium Severity
  • Verify User Who Owns The Etcd Member Pod Specification File

    To properly set the owner of <code>/etc/kubernetes/manifests/etcd-pod.yaml</code>, run the command: <pre>$ sudo chown root /etc/kubernetes/manifes...
    Rule Medium Severity
  • Verify Permissions on the Etcd Member Pod Specification File

    To properly set the permissions of <code>/etc/kubernetes/manifests/etcd-pod.yaml</code>, run the command: <pre>$ sudo chmod 0600 /etc/kubernetes/m...
    Rule Medium 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