Skip to content

DISA STIG for Red Hat OpenShift Container Platform 4 - Platform level

Rules and Groups employed by this XCCDF Profile

  • 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
  • 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
  • System Cryptographic Policies

    OpenShift has the capability to centrally configure cryptographic polices.
    Group
  • 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
  • OpenShift Kube API Server

    This section contains recommendations for kube-apiserver configuration.
    Group
  • 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>...
    Rule Medium Severity
  • Ensure APIServer is configured with secure tlsSecurityProfile

    <p> The configuration <code>tlsSecurityProfile</code> specifies TLS configurations to be used while establishing connections with th...
    Rule Medium 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
  • 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
  • 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 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
  • 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
  • Kubernetes - General Security Practices

    Contains evaluations for general security practices for operating a Kubernetes environment.
    Group
  • Enable Classification Banner on OpenShift Console

    A classification banner can be configured by creating a Console Notification CR on OpenShift
    Rule Medium Severity
  • Ensure that the kubeadmin secret has been removed

    The kubeadmin user is meant to be a temporary user used for bootstrapping purposes. It is preferable to assign system administrators whose users ar...
    Rule Medium Severity
  • Ensure that the OpenShift OAuth login template is set

    A legal notice can be configured via a customized login template. <br> This is achievable via the OAuth object by creating a custom login page, st...
    Rule Medium Severity
  • Ensure that the OpenShift OAuth logout URL is set

    The user can be redirected to a configured URL upon logout <br> This is achievable via the OAuth object by setting the <code>logoutRedirect</code>...
    Rule Medium Severity
  • Ensure that the OpenShift OAuth provider selection is set

    Custom login pages can be helpful to show users a branded page that they trust and expect before being redirected to the authentication provider. <...
    Rule Medium Severity
  • Ensure that the OpenShift MOTD is set

    To configure OpenShift's MOTD, create a <b>ConfigMap</b> called <code>motd</code> in the <code>openshift</code> namespace. The object should look ...
    Rule Medium Severity
  • Ensure that project templates autocreate Resource Quotas

    <p> Configure a template for newly created projects to use default resource quotas and make sure this template is referenced from th...
    Rule Medium Severity
  • Ensure workloads use resource requests and limits per namespace

    There are two ways to enable resource requests and limits. To create either: A multi-project quota, defined by a ClusterResourceQuota object, all...
    Rule Medium Severity
  • This is a helper rule to fetch the required api resource for detecting HyperShift OCP version

    no description
    Rule Medium Severity
  • This is a helper rule to fetch the required api resource for detecting OCP version

    no description
    Rule Medium Severity
  • OpenShift - Logging Settings

    Contains evaluations for the cluster's logging configuration settings.
    Group
  • Ensure that Audit Log Errors Emit Alerts

    <p> OpenShift audit works at the API server level, logging all requests coming to the server. However, if API server instance is unable to write er...
    Rule High Severity
  • Ensure that Audit Log Forwarding Uses TLS

    <p> OpenShift audit works at the API server level, logging all requests coming to the server. Audit is on by default and the best pr...
    Rule Medium Severity
  • Ensure that the cluster's audit profile is properly set

    <p> OpenShift can audit the details of requests made to the API server through the standard Kubernetes audit capabilities. </p> ...
    Rule Medium Severity
  • Ensure that OpenShift Logging Operator is scanning the cluster

    OpenShift Logging Operator provides ability to aggregate all the logs from the OpenShift Container Platform cluster, such as node system audit logs...
    Rule Medium Severity
  • Kubernetes - Network Configuration and Firewalls

    Most systems must be connected to a network of some sort, and this brings with it the substantial risk of network attack. This section discusses th...
    Group
  • Ensure that the CNI in use supports Network Policies

    There are a variety of CNI plugins available for Kubernetes. If the CNI in use does not support Network Policies it may not be possible to effectiv...
    Rule High Severity
  • Ensure that application Namespaces have Network Policies defined.

    Use network policies to isolate traffic in your cluster network.
    Rule High Severity
  • Ensure IngressController is configured to use secure tlsSecurityProfile

    <p> The configuration <code>tlsSecurityProfile</code> specifies TLS configurations to be used while establishing connections with th...
    Rule Medium Severity
  • Ensure that project templates autocreate Network Policies

    Configure a template for newly created projects to use default network policies and make sure this template is referenced from the default project ...
    Rule Medium Severity
  • Ensure that all Routes has rate limit enabled

    OpenShift has an option to set the rate limit for Routes [1] when creating new Routes. All routes outside the openshift namespaces and the kube nam...
    Rule Medium Severity
  • Role-based Access Control

    Role-based access control (RBAC) objects determine whether a user is allowed to perform a given action within a project. Cluster administrators ca...
    Group
  • Ensure that the RBAC setup follows the principle of least privilege

    Role-based access control (RBAC) objects determine whether a user is allowed to perform a given action within a project. If users or groups exist ...
    Rule High Severity
  • Ensure that the ClusterLogging and ClusterLoggingForwarder resources are protected from unauthorized deletion

    The ClusterLogging and ClusterLoggingForwarder Custom Resources provide a way to configure the logging forwarding subsystem and delete access to i...
    Rule Medium Severity
  • Ensure that the ClusterLogging and ClusterLoggingForwarder resources are protected from unauthorized modification

    The ClusterLogging and ClusterLoggingForwarder Custom Resources provide a way to configure the logging forwarding subsystem and modification acces...
    Rule Medium Severity
  • Ensure that the ClusterLogging and ClusterLoggingForwarder resources are protected from unauthorized access

    The ClusterLogging and ClusterLoggingForwarder Custom Resources provide a way to configure the logging forwarding subsystem and view access to it ...
    Rule Medium Severity
  • Kubernetes - Registry Security Practices

    Contains evaluations for Kubernetes registry security practices, and cluster-wide registry configuration.
    Group
  • Configure ImagePruner so that images that are no longer needed are automatically removed

    <p> Images from the internal registry that are no longer required by the system due to age, status, or exceed limits are automatical...
    Rule Medium Severity
  • All configured ImageStreams are configured to periodically check for updates

    <p> The configuration <code>imagestream.spec.tags.importPolicy.scheduled</code> determines whether the imagestream is configured to ...
    Rule Medium Severity
  • Allowed registries are configured

    The configuration <code>registrySources.allowedRegistries</code> determines the permitted registries that the OpenShift container runtime can acces...
    Rule Medium Severity
  • Allowed registries for import are configured

    The configuration <code>allowedRegistriesForImport</code> limits the container image registries from which normal users may import images. This is ...
    Rule Medium Severity
  • Check configured allowed registries for import uses secure protocol

    The configuration <code>allowedRegistriesForImport</code> limits the container image registries from which normal users may import images. This is ...
    Rule Medium Severity
  • Check if any insecure registry sources is configured

    The configuration <code>registrySources.insecureRegistries</code> determines the insecure registries that the OpenShift container runtime can acces...
    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