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 Kube APIServer TLS cert

    OpenShift Kube APIServer TLS cert
    Value
  • OpenShift Kube APIServer TLS private key

    OpenShift Kube APIServer TLS private key
    Value
  • OpenShift Kube APIServer kubelet certificate authority

    OpenShift Kube APIServer kubelet certificate authority
    Value
  • OpenShift Kube APIServer kubelet client cert

    OpenShift Kube APIServer kubelet client cert
    Value
  • Root of files obtained from OCP nodes

    When scanning OpenShift clusters, some settings are not exposed as files. In the case that they are exported from the cluster (typically as yaml fi...
    Value
  • OpenShift Kube APIServer kubelet client key

    OpenShift Kube APIServer kubelet client key
    Value
  • Introduction

    The purpose of this guidance is to provide security configuration recommendations and baselines for Red Hat OpenShift Container Platform 4. The gui...
    Group
  • General Principles

    The following general principles motivate much of the advice in this guide and should also influence any configuration decisions that are not expli...
    Group
  • Encrypt Transmitted Data Whenever Possible

    Data transmitted over a network, whether wired or wireless, is susceptible to passive monitoring. Whenever practical solutions for encrypting such ...
    Group
  • Least Privilege

    Grant the least privilege necessary for user accounts and software to perform tasks. For example, <code>sudo</code> can be implemented to limit aut...
    Group
  • Run Different Network Services on Separate Systems

    Whenever possible, a server should be dedicated to serving exactly one network service. This limits the number of other services that can be compro...
    Group
  • Configure Security Tools to Improve System Robustness

    Several tools exist which can be effectively used to improve a system's resistance to and detection of unknown attacks. These tools can improve rob...
    Group
  • How to Use This Guide

    Readers should heed the following points when using the guide.
    Group
  • Formatting Conventions

    Commands intended for shell execution, as well as configuration file text, are featured in a <code>monospace font</code>. <i>Italics</i> are used t...
    Group
  • Read Sections Completely and in Order

    Each section may build on information and recommendations discussed in prior sections. Each section should be read and understood completely; instr...
    Group
  • Reboot Required

    A system or service reboot is implicitly required after some actions in order to complete the reconfiguration of the system. In many cases, the cha...
    Group
  • Root Shell Environment Assumed

    Most of the actions listed in this document are written with the assumption that they will be executed by the root user running the <code>/bin/bash...
    Group
  • Test in Non-Production Environment

    This guidance should always be tested in a non-production environment before deployment. This test environment should simulate the setup in which t...
    Group
  • Kubernetes Settings

    Each section of this configuration guide includes information about the configuration of a Kubernetes cluster and a set of recommendations for hard...
    Group
  • HyperShift Cluster Name

    When this parameter is set, we will assume the cluster is a HyperShift cluster, and we will fetch the OCP version api resource for HyperShift cluster
    Value
  • HyperShift Cluster Namespace Prefix

    The prefix to use for HyperShift Hosted Clusters Namespace. This value will be used when a non-default namespace naming scheme is used. The default...
    Value
  • OpenShift APIServer etcd encryption filter

    OpenShift APIServer etcd encryption config check jq filter
    Value
  • OCP version api path

    When scanning OpenShift clusters, not all type of cluster has same api resource path for ocp version, ex. HyperShift OCP version api resource path ...
    Value
  • OCP version yaml path

    When scanning OpenShift clusters, not all type of cluster has same api resource path for ocp version, ex. HyperShift OCP version api resource path ...
    Value
  • System and Software Integrity

    System and software integrity can be gained by installing antivirus, increasing system encryption strength with FIPS, verifying installed software,...
    Group
  • Ensure that Cluster Version Operator is deployed

    Integrity of the OpenShift platform is handled to start by the cluster version operator. Cluster Version Operator will by default GPG verify the in...
    Rule Medium Severity
  • Ensure that Cluster Version Operator verifies integrity

    Integrity of the OpenShift platform is handled to start by the cluster version operator. Cluster Version Operator will by default GPG verify the in...
    Rule Medium Severity
  • Ensure that File Integrity Operator is scanning the cluster

    <a href="https://docs.openshift.com/container-platform/4.7/security/file_integrity_operator/file-integrity-operator-understanding.html">The File In...
    Rule Medium Severity
  • Ensure the Container Runtime rejects unsigned images by default

    <p> The OpenShift Platform allows for verifying the signature of a container image before pulling it. this is done via the policy.js...
    Rule Medium Severity
  • System Cryptographic Policies

    OpenShift has the capability to centrally configure cryptographic polices.
    Group
  • Ensure that the MachineSets provisioned by Azure have disk encryption enabled

    OpenShift has an option to provide the Disk Encryption Set [1] when deploying nodes on Azure. This enabled disk encryption and ensures that the Ope...
    Rule High Severity
  • Ensure that EBS volumes use by cluster nodes are encrypted

    OpenShift MachineSets can be configured to enable EBS encryption on EBS storage used by cluster nodes. By using EBS encryption, disk contents are ...
    Rule High Severity
  • OpenShift APIServer etcd encryption path

    OpenShift APIServer etcd encryption config check api path
    Value
  • Ensure that FIPS mode is enabled on all cluster nodes

    OpenShift has an installation-time flag that can enable FIPS mode for the cluster. The flag <pre>fips: true</pre> must be enabled at install time i...
    Rule High Severity
  • Ensure that the MachineSets provisioned by GCP have disk encryption enabled

    OpenShift has an option to provide the Disk Encryption Set [1] when deploying nodes on GCP. This enabled disk encryption and ensures that the OpenS...
    Rule High Severity
  • Ensure that LUKS is configured on worker nodes

    OpenShift has an installation-time flag that can enable LUKS (TPM2 or TANG) full disk encryption at installation. The object <pre>luks</pre> must b...
    Rule High Severity
  • Ensure that full disk encryption is configured on cluster nodes

    When full disk encryption is chosen as a way to protect card data at rest, OpenShift can provide several solutions depending on the hosting environ...
    Rule High Severity
  • Ensure that EBS volumes declared in storageclasses are encrypted

    OpenShift StorageClasses can be configured to enable EBS encryption on EBS volumes that are used later as persistent volumes. By using EBS encrypti...
    Rule High Severity
  • Kubernetes - Account and Access Control

    In traditional Unix security, if an attacker gains shell access to a certain login account, they can perform any action or access any file to which...
    Group
  • Restrict Automounting of Service Account Tokens

    Service accounts tokens should not be mounted in pods except where the workload running in the pod explicitly needs to communicate with the API ser...
    Rule Medium Severity
  • Ensure Usage of Unique Service Accounts

    Using the <code>default</code> service account prevents accurate application rights review and audit tracing. Instead of <code>default</code>, crea...
    Rule Medium Severity
  • OpenShift Kube API Server

    This section contains recommendations for kube-apiserver configuration.
    Group
  • API Server Request Timeout

    Enter API Server Request Timeout
    Value
  • API Server audit log max size

    API Server audit log max size
    Value
  • Bind Address of secure API endpoint

    Bind Address of secure API endpoint
    Value
  • OpenShift Kube APIServer client CA

    OpenShift Kube APIServer client CA
    Value
  • OpenShift Kube APIServer etcd CA

    OpenShift Kube APIServer etcd CA
    Value
  • OpenShift API Server config name

    OpenShift API Server config name
    Value
  • OpenShift APIServer etcd encryption filter

    OpenShift APIServer etcd encryption config check jq filter
    Value
  • OpenShift APIServer namespace

    OpenShift APIServer namespace
    Value

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