BSI IT-Grundschutz (Basic Protection) Building Block SYS.1.6 and APP.4.4
Rules and Groups employed by this XCCDF Profile
-
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 pods. These permissions include actions that a pod,...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 Security Context Constraints (SCCs) should set all ...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 capabilities, the appropriate Security Context Con...Rule Medium Severity -
Limit Containers Ability to use the HostDir volume plugin
Containers should be allowed to use the <code>hostPath</code> volume type unless necessary. To prevent containers from using the host filesystem the appropriate Security Context Constraints (SCCs) ...Rule Medium Severity -
Limit Containers Ability to bind to privileged ports
Containers should be limited to bind to non-privileged ports directly on the hosts. To prevent containers from binding to privileged ports on the host the appropriate Security Context Constraints (...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 host's IPC namespace, the appropriate Security Conte...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 to launch a network attack on another container or ...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, the appropriate Security Context Constraints (SCCs)...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 from escalating privileges, the appropriate Securit...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 Security Context Constraints (SCCs) should set <cod...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 namespace, the appropriate Security Context Constraints ...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 Constraints (SCCs) should set <code>.runAsUser.type</code> t...Rule Medium Severity -
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 Pod specification or in an image.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 secret management needs. Ensure the solution requires a...Rule Medium Severity -
Do Not Use Environment Variables with Secrets
Secrets should be mounted as data volumes instead of environment variables.Rule Medium Severity -
Ensure no ClusterRoleBindings set for default Service Account
Using the <code>default</code> service account prevents accurate application rights review and audit tracing. Instead of <code>default</code>, create a new and unique service account and associate ...Rule Medium Severity -
Ensure no RoleBindings set for default Service Account
Using the <code>default</code> service account prevents accurate application rights review and audit tracing. Instead of <code>default</code>, create a new and unique service account and associate ...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 syncrhonized to every node in a given namespace. Using sec...Rule Medium Severity -
Configure Recurring Backups For etcd
<p> Back up your clusters etcd data regularly and store in a secure location ideally outside the OpenShift Container Platform environment. Do not take an etcd backup before the first...Rule Medium Severity -
A Backup Solution Has To Be Installed
Backup and Restore are fundamental practices when it comes to disaster recovery. By utilizing a Backup Software you are able to backup (and restore) data, which is lost, if your cluster crashes bey...Rule Medium Severity -
Each Namespace should only host one application
Use namespaces to isolate your Kubernetes objects.Rule Medium Severity -
Create Network Boundaries between Functional Different Nodes
Use different Networks for Control Plane, Worker and Individual Application Services.Rule Medium Severity -
Create Boundaries between Resources using Nodes or Clusters
Use Nodes or Clusters to isolate Workloads with high protection requirements. Run the following command and review the pods and how they are deployed on Nodes. <pre>$ oc get pod -o=custom-columns=...Rule Medium Severity -
Ensure that the LifecycleAndUtilization Profile for the Kube Descheduler Operator is Enabled
If there is an increased risk of external influences and a very high need for protection, pods should be stopped and restarted regularly. No pod should run for more than 24 hours. The availability ...Rule Medium Severity -
Ensure that the Kube Descheduler operator is deployed
If there is an increased risk of external influences and a very high need for protection, pods should be stopped and restarted regularly. No pod should run for more than 24 hours. The availability ...Rule Medium Severity -
Set Pod Lifetime for the Deschedulers
If there is an increased risk of external influences and a very high need for protection, pods should be stopped and restarted regularly. No pod should run for more than 24 hours. The availability ...Rule Medium Severity -
Ensure that all workloads have liveness and readiness probes
Configuring Kubernetes liveness and readiness probes is essential for ensuring the security and reliability of a system. These probes actively monitor container health and readiness, facilitating a...Rule Medium Severity -
Enable AutoApplyRemediation for at least One ScanSetting
<a href="https://docs.openshift.com/container-platform/latest/security/compliance_operator/compliance-operator-understanding.html#compliance-operator-understanding">The Compliance Operator</a> scan...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.