PCI-DSS v4.0.0 Control Baseline for Red Hat OpenShift Container Platform 4
Rules and Groups employed by this XCCDF Profile
-
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 cluster roles are defined in the cluster
<p> RBAC is a critical feature in terms of security for Kubernetes and OpenShift. It enables administrators to segment the privilege...Rule Medium Severity -
Profiling is protected by RBAC
Ensure that the cluster-debugger cluster role includes the /debug/pprof resource URL. This demonstrates that profiling is protected by RBAC, with a...Rule Medium Severity -
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 cluster-admin role is only used where required
The RBAC role cluster-admin provides wide-ranging powers over the environment and should be used only where and when needed.Rule Medium Severity -
Limit Access to Kubernetes Secrets
The Kubernetes API stores secrets, which may be service account tokens for the Kubernetes API or credentials used by workloads in the cluster. Acce...Rule Medium Severity -
Minimize Access to Pod Creation
The ability to create pods in a namespace can provide a number of opportunities for privilege escalation. Where applicable, remove <code>create</co...Rule Medium Severity -
Ensure roles are defined in the cluster
<p> RBAC is a critical feature in terms of security for Kubernetes and OpenShift. It enables administrators to segment the privilege...Rule Medium Severity -
Minimize Wildcard Usage in Cluster and Local Roles
Kubernetes Cluster and Local Roles provide access to resources based on sets of objects and actions that can be taken on those objects. It is possi...Rule Medium Severity -
Kubernetes - Registry Security Practices
Contains evaluations for Kubernetes registry security practices, and cluster-wide registry configuration.Group -
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 -
OpenShift - Risk Assessment Settings
Contains evaluations for the cluster's risk assessment configuration settings.Group -
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 -
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 -
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 Access to the Host IPC Namespace
Containers should not be allowed access to the host's Interprocess Communication (IPC) namespace. To prevent containers from getting access to a ho...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 -
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 -
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 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 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 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 -
OpenShift - Confinement
Contains evaluations to configure and assess the confinement of the cluster's applications and workloads.Group -
Make sure the Security Profiles Operator is installed
Security Profiles Operator provides a way to define secure computing (seccomp) profiles and SELinux profiles as custom resources that are syncrhoni...Rule Medium Severity -
Ensure that Advanced Cluster Security (ACS) Sensor is deployed
Red Hat Advanced Cluster Security (ACS) for Kubernetes provides comprehensive security for containerized environments. It offers deep visibility in...Rule Medium Severity -
Ensure that API server audit logging is enabled
OpenShift has the ability to audit API server requests. Audit provides a security-relevant chronological set of records documenting the sequence of...Rule Medium Severity -
Verify that the scheduler API service is protected by RBAC
Do not bind the scheduler service to non-loopback insecure addresses.Rule Medium Severity -
Verify that the scheduler API service is protected by RBAC
Do not bind the scheduler service to non-loopback insecure addresses.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.