Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Defined notes for BSI SYS.1.6.A15 #12528

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
documentation_complete: true

title: 'Limiting Network Bandwidth in Pods'

description: |-
Network bandwidth, SHOULD be appropriately reserved and limited.

ocil: |-
Network bandwidth is limited at the pod level and can be determined separately according
to incoming and outgoing network bandwidth.
For more information about limiting network bandwidth on the pod level please refer to the Red Hat documentation:
{{{ weblink(link="https://docs.openshift.com/container-platform/4.17/nodes/pods/nodes-pods-configuring.html#nodes-pods-configuring-bandwidth_nodes-pods-configuring") }}}

Out of the documetation use the example for the network bandwidth configuration of a pod:
<pre>
kind: Pod
apiVersion: v1
metadata:
name: hello-openshift
annotations:
kubernetes.io/ingress-bandwidth: 2M
kubernetes.io/egress-bandwidth: 1M
spec:
containers:
- image: openshift/hello-openshift
name: hello-openshift
</pre>

severity: unknown

identifiers:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add an identifier
./utils/rule_dir_json.py followed by python utils/fix_rules.py --product products/ocp4/product.yml add-cce --cce-pool redhat configure_network_bandwidth

cce@ocp4: CCE-87610-2

ocil_clause: 'Limiting Pod network bandwidth on OCP 4'

rationale: |-
Extend pod configuration with network bandwidth annotations to prevent
a bad actor or a malfunction in the pod to consume all the bandwidth in the cluster.
A network bandwidth limitation on the pod level can mitigate the bearing onto the cluster.
32 changes: 27 additions & 5 deletions controls/bsi_sys_1_6.yml
Original file line number Diff line number Diff line change
Expand Up @@ -401,13 +401,35 @@ controls:
levels:
- standard
description: >-
Resources on the host system such as CPU, volatile and persistent memory, and network
bandwidth SHOULD be appropriately reserved and limited for each container. How the
(1) Resources on the host system such as CPU, volatile and persistent memory, and network
bandwidth SHOULD be appropriately reserved and limited for each container. (2) How the
system should react if these limits are exceeded SHOULD be defined and documented.
notes: >-
ToDo
status: manual
#rules:
Section 1: OpenShift supports the configuration of quotas for a project (client).
Applications can have their resources appropriately limited using limits/requests.
Network bandwidth is limited at the pod level and can be determined separately according
to incoming and outgoing network bandwidth. In addition, outgoing traffic (egress) can be
marked at the namespace level with differentiated services code point (DSCP) classifications
in order to assign quality of service classes to the outgoing packets in the physical network.
Section 2: This requirement must be implemented organizationally.
Note: The behavior of OpenShift completely replicates the standard behavior of Kubernetes.
If CPU limits are exceeded, the process is slowed down. If volatile memory is exceeded,
the process is stopped and restarted by the scheduler. The persistent memory management
is responsible for exceeding the persistent memory - OpenShift will not enforce or limit
anything here. Compliance with the limited network bandwidth is enforced by dropping
packets that exceed the limit.
status: automated
rules:
# Section 1
- project_config_and_template_resource_quota
- project_template_resource_quota
- resource_requests_limits_in_daemonset
- resource_requests_limits_in_deployment
- resource_requests_limits_in_statefulset
- resource_requests_quota
- resource_requests_quota_cluster
- resource_requests_quota_per_project
- configure_network_bandwidth

- id: SYS.1.6.A16
title: Administrative Remote Access to Containers
Expand Down
1 change: 0 additions & 1 deletion shared/references/cce-redhat-avail.txt
Original file line number Diff line number Diff line change
Expand Up @@ -640,7 +640,6 @@ CCE-87595-5
CCE-87597-1
CCE-87600-3
CCE-87603-7
CCE-87610-2
CCE-87611-0
CCE-87612-8
CCE-87613-6
Expand Down
Loading