Views:
Profile applicability: Level 1
Kubernetes provides a default namespace, where objects are placed if no namespace is specified for them. Placing objects in this namespace makes application of RBAC and other controls more difficult.
Resources in a Kubernetes cluster should be segregated by namespace to allow for security controls to be applied at that level and to make it easier to manage resources.
Note
Note
Unless a namespace is specific on object creation, the default namespace will be used.

Audit

Option 1
Run this command to list objects in default namespace:
kubectl get $(kubectl api-resources --verbs=list --namespaced=true -o name |
paste -sd, -) --ignore-not-found -n default
The only entries there should be system managed resources such as the kubernetes service.
Option 2
kubectl get pods -n default
Returning No resources found in default namespace.

Remediation

Ensure that namespaces are created to allow for appropriate segregation of Kubernetes resources and that all new resources are created in a specific namespace.