Skip to content

CIS Red Hat OpenShift Container Platform 4 Benchmark

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 hardening the configuration. For each hardening recomm...
    Group
  • OpenShift etcd Settings

    Contains rules that check correct OpenShift etcd settings.
    Group
  • 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. The same is done for other points of communicati...
    Rule Medium Severity
  • Kubernetes Kubelet Settings

    The Kubernetes Kubelet is an agent that runs on each node in the cluster. It makes sure that containers are running in a pod. The kubelet takes a set of PodSpecs that are provided through various ...
    Group
  • Disable Anonymous Authentication to the Kubelet

    By default, anonymous access to the Kubelet server is enabled. This configuration check ensures that anonymous requests to the Kubelet server are disabled. Edit the Kubelet server configuration fil...
    Rule Medium Severity
  • Ensure authorization is set to Webhook

    Unauthenticated/unauthorized users should have no access to OpenShift nodes. The Kubelet should be set to only allow Webhook authorization. To ensure that the Kubelet requires authorization, valida...
    Rule Medium Severity
  • kubelet - Configure the Client CA Certificate

    By default, the kubelet is not configured with a CA certificate which can subject the kubelet to man-in-the-middle attacks. To configure a client CA certificate, edit the kubelet configuration fil...
    Rule Medium Severity
  • Kubelet - Ensure Event Creation Is Configured

    Security relevant information should be captured. The eventRecordQPS Kubelet option can be used to limit the rate at which events are gathered. Setting this too low could result in relevant events ...
    Rule Medium Severity
  • Ensure that the Kubelet only makes use of Strong Cryptographic Ciphers

    Ensure that the Kubelet is configured to only use strong cryptographic ciphers. To set the cipher suites for the kubelet, create new or modify existing <code>KubeletConfig</code> object along these...
    Rule Medium Severity
  • kubelet - Enable Certificate Rotation

    To enable the kubelet to rotate client certificates, edit the kubelet configuration file <code>/etc/kubernetes/kubelet.conf</code> on the kubelet node(s) and set the below parameter: <pre> ... rota...
    Rule Medium Severity
  • kubelet - Enable Client Certificate Rotation

    To enable the kubelet to rotate client certificates, edit the kubelet configuration file <code>/etc/kubernetes/kubelet.conf</code> on the kubelet node(s) and set the below parameter: <pre> featureG...
    Rule Medium Severity
  • kubelet - Allow Automatic Firewall Configuration

    The kubelet has the ability to automatically configure the firewall to allow the containers required ports and connections to networking resources and destinations parameters potentially creating a...
    Rule Medium Severity
  • 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 node(s) and set the below parameter: <pre> serverTL...
    Rule Medium Severity
  • kubelet - Do Not Disable Streaming Timeouts

    Timouts for streaming connections should not be disabled as they help to prevent denial-of-service attacks. To configure streaming connection timeouts To set the <code>streamingConnectionIdleTimeou...
    Rule Medium Severity
  • Ensure Eviction threshold Settings Are Set - evictionHard: imagefs.available

    <p>Two types of garbage collection are performed on an OpenShift Container Platform node:</p> <ul> <li>Container garbage collection: Removes terminated ...
    Rule Medium Severity
  • Ensure Eviction threshold Settings Are Set - evictionHard: memory.available

    <p>Two types of garbage collection are performed on an OpenShift Container Platform node:</p> <ul> <li>Container garbage collection: Removes terminated ...
    Rule Medium Severity
  • Ensure Eviction threshold Settings Are Set - evictionHard: nodefs.available

    <p>Two types of garbage collection are performed on an OpenShift Container Platform node:</p> <ul> <li>Container garbage collection: Removes terminated ...
    Rule Medium Severity
  • Ensure Eviction threshold Settings Are Set - evictionHard: nodefs.inodesFree

    <p>Two types of garbage collection are performed on an OpenShift Container Platform node:</p> <ul> <li>Container garbage collection: Removes terminated ...
    Rule Medium Severity
  • OpenShift - Master Node Settings

    Contains evaluations for the master node configuration settings.
    Group
  • Verify Group Who Owns The OpenShift Container Network Interface Files

    To properly set the group owner of /etc/cni/net.d/*, run the command:
    $ sudo chgrp root /etc/cni/net.d/*
    Rule Medium Severity
  • Verify Group Who Owns The OpenShift Controller Manager Kubeconfig File

    To properly set the group owner of <code>/etc/kubernetes/static-pod-resources/kube-controller-manager-pod-*/configmaps/controller-manager-kubeconfig/kubeconfig</code>, run the command: <pre>$ sudo...
    Rule Medium Severity
  • Verify Group Who Owns The Etcd Database Directory

    To properly set the group owner of /var/lib/etcd/member/, run the command:
    $ sudo chgrp root /var/lib/etcd/member/
    Rule Medium Severity
  • Verify Group Who Owns The Etcd Write-Ahead-Log Files

    To properly set the group owner of /var/lib/etcd/member/wal/*, run the command:
    $ sudo chgrp root /var/lib/etcd/member/wal/*
    Rule Medium Severity
  • Verify Group Who Owns The etcd Member Pod Specification File

    To properly set the group owner of /etc/kubernetes/manifests/etcd-pod.yaml, run the command:
    $ sudo chgrp root /etc/kubernetes/manifests/etcd-pod.yaml
    Rule Medium Severity
  • Verify Group Who Owns The Etcd PKI Certificate Files

    To properly set the group owner of /etc/kubernetes/static-pod-resources/*/*/*/*.crt, run the command:
    $ sudo chgrp root /etc/kubernetes/static-pod-resources/*/*/*/*.crt
    Rule Medium Severity
  • Verify Group Who Owns The OpenShift SDN Container Network Interface Plugin IP Address Allocations

    To properly set the group owner of /var/lib/cni/networks/openshift-sdn/.*, run the command:
    $ sudo chgrp root /var/lib/cni/networks/openshift-sdn/.*
    Rule Medium Severity
  • Verify Group Who Owns The Kubernetes API Server Pod Specification File

    To properly set the group owner of <code>/etc/kubernetes/static-pod-resources/kube-apiserver-pod-*/kube-apiserver-pod.yaml</code>, run the command: <pre>$ sudo chgrp root /etc/kubernetes/static-po...
    Rule Medium Severity
  • Verify Group Who Owns The Kubernetes Controller Manager Pod Specification File

    To properly set the group owner of <code>/etc/kubernetes/static-pod-resources/kube-controller-manager-pod-*/kube-controller-manager-pod.yaml</code>, run the command: <pre>$ sudo chgrp root /etc/ku...
    Rule Medium Severity
  • Verify Group Who Owns The Kubernetes Scheduler Pod Specification File

    To properly set the group owner of <code>/etc/kubernetes/static-pod-resources/kube-scheduler-pod-*/kube-scheduler-pod.yaml</code>, run the command: <pre>$ sudo chgrp root /etc/kubernetes/static-po...
    Rule Medium Severity
  • Verify Group Who Owns The OpenShift Admin Kubeconfig Files

    To properly set the group owner of <code>/etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/node-kubeconfigs/*.kubeconfig</code>, run the command: <pre>$ sudo chgrp root /etc/kubern...
    Rule Medium Severity
  • Verify Group Who Owns The OpenShift Multus Container Network Interface Plugin Files

    To properly set the group owner of /var/run/multus/cni/net.d/*, run the command:
    $ sudo chgrp root /var/run/multus/cni/net.d/*
    Rule Medium Severity
  • Verify Group Who Owns The OpenShift PKI Certificate Files

    To properly set the group owner of <code>/etc/kubernetes/static-pod-resources/*/*/*/tls.crt</code>, run the command: <pre>$ sudo chgrp root /etc/kubernetes/static-pod-resources/*/*/*/tls.crt</pre>...
    Rule Medium Severity
  • Verify Group Who Owns The OpenShift PKI Private Key Files

    To properly set the group owner of /etc/kubernetes/static-pod-resources/*/*/*/*.key, run the command:
    $ sudo chgrp root /etc/kubernetes/static-pod-resources/*/*/*/*.key
    Rule Medium Severity
  • Verify Group Who Owns The OpenShift SDN CNI Server Config

    To properly set the group owner of /var/run/openshift-sdn/cniserver/config.json, run the command:
    $ sudo chgrp root /var/run/openshift-sdn/cniserver/config.json
    Rule Medium Severity
  • Verify Group Who Owns The OVNKubernetes Socket

    To properly set the group owner of /run/ovn-kubernetes/cni/ovn-cni-server.sock, run the command:
    $ sudo chgrp root /run/ovn-kubernetes/cni/ovn-cni-server.sock
    Rule Medium Severity
  • Verify Group Who Owns The OVNKubernetes DB files

    To properly set the group owner of /var/lib/ovn/etc/*.db, run the command:
    $ sudo chgrp root /var/lib/ovn/etc/*.db
    Rule Medium Severity
  • Verify Group Who Owns The Open vSwitch Configuration Database

    Check if the group owner of /etc/openvswitch/conf.db is hugetlbfs on architectures other than s390x or openvswitch on s390x.
    Rule Medium Severity
  • Verify Group Who Owns The Open vSwitch Configuration Database Lock

    Check if the group owner of /etc/openvswitch/.conf.db.~lock~ is hugetlbfs on architectures other than s390x or openvswitch on s390x.
    Rule Medium Severity
  • Verify Group Who Owns The Open vSwitch Process ID File

    Ensure that the file
    /var/run/openvswitch/ovs-vswitchd.pid
    , is owned by the group
    openvswitch
    or
    hugetlbfs
    , depending on your settings and Open vSwitch version.
    Rule Medium Severity
  • Verify Group Who Owns The Open vSwitch Persistent System ID

    Check if the group owner of /etc/openvswitch/system-id.conf is hugetlbfs on architectures other than s390x or openvswitch on x390x.
    Rule Medium Severity
  • Verify Group Who Owns The Open vSwitch Daemon PID File

    Ensure that the file
    /run/openvswitch/ovs-vswitchd.pid
    , is owned by the group
    openvswitch
    or
    hugetlbfs
    , depending on your settings and Open vSwitch version.
    Rule Medium Severity
  • Verify Group Who Owns The Open vSwitch Database Server PID

    Ensure that the file
    /run/openvswitch/ovsdb-server.pid
    , is owned by the group
    openvswitch
    or
    hugetlbfs
    , depending on your settings and Open vSwitch version.
    Rule Medium Severity
  • Verify Group Who Owns The Kubernetes Scheduler Kubeconfig File

    To properly set the group owner of <code>/etc/kubernetes/static-pod-resources/kube-scheduler-pod-*/configmaps/scheduler-kubeconfig/kubeconfig</code>, run the command: <pre>$ sudo chgrp root /etc/k...
    Rule Medium Severity
  • Verify User Who Owns The OpenShift Container Network Interface Files

    To properly set the owner of /etc/cni/net.d/*, run the command:
    $ sudo chown root /etc/cni/net.d/* 
    Rule Medium Severity
  • Verify User Who Owns The OpenShift Controller Manager Kubeconfig File

    To properly set the owner of <code>/etc/kubernetes/static-pod-resources/kube-controller-manager-pod-*/configmaps/controller-manager-kubeconfig/kubeconfig</code>, run the command: <pre>$ sudo chown...
    Rule Medium Severity
  • Verify User Who Owns The Etcd Database Directory

    To properly set the owner of /var/lib/etcd/member/, run the command:
    $ sudo chown root /var/lib/etcd/member/ 
    Rule Medium Severity
  • Verify User Who Owns The Etcd Write-Ahead-Log Files

    To properly set the owner of /var/lib/etcd/member/wal/*, run the command:
    $ sudo chown root /var/lib/etcd/member/wal/* 
    Rule Medium Severity
  • Verify User Who Owns The Etcd Member Pod Specification File

    To properly set the owner of /etc/kubernetes/manifests/etcd-pod.yaml, run the command:
    $ sudo chown root /etc/kubernetes/manifests/etcd-pod.yaml 
    Rule Medium Severity
  • Verify User Who Owns The Etcd PKI Certificate Files

    To properly set the owner of /etc/kubernetes/static-pod-resources/*/*/*/*.crt, run the command:
    $ sudo chown root /etc/kubernetes/static-pod-resources/*/*/*/*.crt 
    Rule Medium Severity
  • Verify User Who Owns The OpenShift SDN Container Network Interface Plugin IP Address Allocations

    To properly set the owner of /var/lib/cni/networks/openshift-sdn/.*, run the command:
    $ sudo chown root /var/lib/cni/networks/openshift-sdn/.* 
    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