5.3.2 Ensure that all Namespaces have Network Policies defined

Information

Use network policies to isolate traffic in your cluster network.

Rationale:

Running different applications on the same Kubernetes cluster creates a risk of one compromised application attacking a neighboring application. Network segmentation is important to ensure that containers can communicate only with those they are supposed to. A network policy is a specification of how selections of pods are allowed to communicate with each other and other network endpoints.

Network Policies are namespace scoped. When a network policy is introduced to a given namespace, all traffic not allowed by the policy is denied. However, if there are no network policies in a namespace all traffic will be allowed into and out of the pods in that namespace.

NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance.

Solution

Follow the documentation and create NetworkPolicy objects as you need them.

Impact:

Once network policies are in use within a given namespace, traffic not explicitly allowed by a network policy will be denied. As such it is important to ensure that, when introducing network policies, legitimate traffic is not blocked.

Default Value:

By default, network policies are not created.

References:

https://kubernetes.io/docs/concepts/services-networking/networkpolicies/

https://octetz.com/posts/k8s-network-policy-apis

https://kubernetes.io/docs/tasks/configure-pod-container/declare-network-policy/

See Also

https://workbench.cisecurity.org/files/2662

Item Details

Category: SYSTEM AND COMMUNICATIONS PROTECTION

References: 800-53|SC-7(21), CSCv6|14.1, CSCv7|14.1, CSCv7|14.2

Plugin: Unix

Control ID: 3c398c817e977e4cfd1e9128282966bf8cc3b5be3b02ec09c661bab3cef7ccaf