PCI-DSS v3.2.1 Control Baseline for Red Hat OpenShift Container Platform 4
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 -
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...Rule Medium Severity -
Kubernetes - General Security Practices
Contains evaluations for general security practices for operating a Kubernetes environment.Group -
Ensure TLS v1.2 is minimum for Openshift master and worker nodes
Ensure that the Kubelet is configured to only use strong cryptographic ciphers. To set the cipher suites for the kubelet, create new or modify exis...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 ...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 d...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 ensu...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 ...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. Set...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 exis...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 n...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 n...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 ...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 n...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 timeo...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...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...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...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...Rule Medium Severity -
OpenShift - Logging Settings
Contains evaluations for the cluster's logging configuration settings.Group -
The Kubernetes Audit Logs Directory Must Have Mode 0700
To properly set the permissions of/var/log/kube-apiserver/
, run the command:$ sudo chmod 0700 /var/log/kube-apiserver/
Rule Medium Severity -
The OAuth Audit Logs Directory Must Have Mode 0700
To properly set the permissions of/var/log/oauth-apiserver/
, run the command:$ sudo chmod 0700 /var/log/oauth-apiserver/
Rule Medium Severity -
The OpenShift Audit Logs Directory Must Have Mode 0700
To properly set the permissions of <code>/var/log/openshift-apiserver/</code>, run the command: <pre>$ sudo chmod 0700 /var/log/openshift-apiserve...Rule Medium Severity -
Kubernetes Audit Logs Must Be Owned By Root
All audit logs must be owned by root user and group. By default, the path for the Kubernetes audit log is <pre>/var/log/kube-apiserver/</pre>. To ...Rule Medium Severity -
OAuth Audit Logs Must Be Owned By Root
All audit logs must be owned by root user and group. By default, the path for the OAuth audit log is <pre>/var/log/oauth-apiserver/</pre>. To prop...Rule Medium Severity -
OpenShift Audit Logs Must Be Owned By Root
All audit logs must be owned by root user and group. By default, the path for the OpenShift audit log is <pre>/var/log/openshift-apiserver/</pre>. ...Rule Medium Severity -
Kubernetes Audit Logs Must Have Mode 0600
To properly set the permissions of/var/log/kube-apiserver/.*
, run the command:$ sudo chmod 0600 /var/log/kube-apiserver/.*
Rule Medium Severity -
OAuth Audit Logs Must Have Mode 0600
To properly set the permissions of <code>/var/log/oauth-apiserver/.*</code>, run the command: <pre>$ sudo chmod 0600 /var/log/oauth-apiserver/.*</...Rule Medium Severity -
OpenShift Audit Logs Must Have Mode 0600
To properly set the permissions of <code>/var/log/openshift-apiserver/.*</code>, run the command: <pre>$ sudo chmod 0600 /var/log/openshift-apiser...Rule Medium Severity -
Ensure /var/log/kube-apiserver Located On Separate Partition
Kubernetes API server audit logs are stored in the <code>/var/log/kube-apiserver</code> directory. <p> Partitioning Red Hat CoreOS is a Day 1 opera...Rule Medium Severity -
Ensure /var/log/oauth-apiserver Located On Separate Partition
OpenShift OAuth server audit logs are stored in the <code>/var/log/oauth-apiserver</code> directory. <p> Partitioning Red Hat CoreOS is a Day 1 ope...Rule Medium Severity -
Ensure /var/log/openshift-apiserver Located On Separate Partition
Openshift API server audit logs are stored in the <code>/var/log/openshift-apiserver</code> directory. <p> Partitioning Red Hat CoreOS is a Day 1 o...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-kubeconf...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 <code>/etc/kubernetes/manifests/etcd-pod.yaml</code>, run the command: <pre>$ sudo chgrp root /etc/kubernetes/m...Rule Medium Severity -
Verify Group Who Owns The Etcd PKI Certificate Files
To properly set the group owner of <code>/etc/kubernetes/static-pod-resources/*/*/*/*.crt</code>, run the command: <pre>$ sudo chgrp root /etc/kub...Rule Medium Severity -
Verify Group Who Owns The OpenShift SDN Container Network Interface Plugin IP Address Allocations
To properly set the group owner of <code>/var/lib/cni/networks/openshift-sdn/.*</code>, run the command: <pre>$ sudo chgrp root /var/lib/cni/netwo...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...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...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...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>, r...Rule Medium Severity -
Verify Group Who Owns The OpenShift Multus Container Network Interface Plugin Files
To properly set the group owner of <code>/var/run/multus/cni/net.d/*</code>, run the command: <pre>$ 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/k...Rule Medium Severity -
Verify Group Who Owns The OpenShift PKI Private Key Files
To properly set the group owner of <code>/etc/kubernetes/static-pod-resources/*/*/*/*.key</code>, run the command: <pre>$ sudo chgrp root /etc/kub...Rule Medium Severity -
Verify Group Who Owns The OpenShift SDN CNI Server Config
To properly set the group owner of <code>/var/run/openshift-sdn/cniserver/config.json</code>, run the command: <pre>$ sudo chgrp root /var/run/ope...Rule Medium Severity -
Verify Group Who Owns The OVNKubernetes Socket
To properly set the group owner of <code>/run/ovn-kubernetes/cni/ovn-cni-server.sock</code>, run the command: <pre>$ sudo chgrp root /run/ovn-kube...Rule Medium Severity
Node 2
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.