Create administrative boundaries between resources using namespaces (Manual)
Scanned 9/3/2026
Install to Claude Code
npx -y skills add CyberStrikeus/CyberStrike --skill cis-ocp-v160-5.7.1 --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cis Ocp V160 5.7.1?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/cyberstrikeus-cis-ocp-v160-5-7-1)More formats (shields.io, HTML) on the badges page.
---
name: cis-ocp-v160-5.7.1
description: "Create administrative boundaries between resources using namespaces (Manual)"
category: cis-openshift
version: "1.6.0"
author: cyberstrike-official
tags: [cis, openshift, kubernetes, redhat, policies, general-policies]
cis_id: "5.7.1"
cis_benchmark: "CIS Red Hat OpenShift Container Platform Benchmark v1.6.0"
tech_stack: [kubernetes, openshift, redhat]
cwe_ids: []
chains_with: []
prerequisites: []
severity_boost: {}
---
# CIS Red Hat OpenShift Container Platform Benchmark v1.6.0 - Control 5.7.1
## Profile Applicability
- **Level:** 1
## Description
Use namespaces to isolate your Kubernetes objects.
## Rationale
Limiting the scope of user permissions can reduce the impact of mistakes or malicious activities. A Kubernetes namespace allows you to partition created resources into logically named groups. Resources created in one namespace can be hidden from other namespaces. By default, each resource created by a user in Kubernetes cluster runs in a default namespace, called `default`. You can create additional namespaces and attach resources and users to them. You can use Kubernetes Authorization plugins to create policies that segregate access to namespace resources between different users.
## Impact
You need to switch between namespaces for administration.
## Audit Procedure
OpenShift Projects wrap Kubernetes namespaces and are used by default in OpenShift 4.
Run the following command to obtain a list of all non-default OpenShift and Kubernetes namespaces in the cluster.
```bash
oc get namespaces -o json | jq '.items[] |
select(.metadata.name|test("(?!default|kube-.|openshift.)^.*")) |
.metadata.name'
```
Ensure that these namespaces are the ones you need and are adequately administered as per your requirements.
## Remediation
Follow the documentation and create namespaces for objects in your deployment as you need them.
## Default Value
By default, Kubernetes starts with two initial namespaces:
1. `default` - The default namespace for objects with no other namespace
2. `kube-system` - The namespace for objects created by the Kubernetes system
3. `openshift` -
4. `openshift-*` - The namespace for objects created by OpenShift
## References
1. https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
2. https://kubernetes.io/blog/2016/08/security-best-practices-kubernetes-deployment/
## CIS Controls
| Controls Version | Control | IG 1 | IG 2 | IG 3 |
| ---------------- | ---------------------------------------------- | ---- | ---- | ---- |
| v8 | 4.4 Implement and Manage a Firewall on Servers | \* | \* | \* |
| v7 | 9.5 Implement Application Firewalls | | | \* |
## MITRE ATT&CK Mappings
| Techniques / Sub-techniques | Tactics | Mitigations |
| --------------------------- | -------------- | ----------- |
| T1106, T1609 | TA0002, TA0008 | M1038 |
## Profile
**Level 1** (Manual)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!