OpenParable
Skip to content
← Back to skills

Cis Aks V180 4.6.1

DevOps & Security
cis-aks-v180-4.6.1

Cis Aks V180 4.6.1 is an Agent Skill for devops & security published in the CyberStrikeus/CyberStrike repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Create administrative boundaries between resources using namespaces (Manual)

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/CyberStrikeus/CyberStrike/blob/HEAD/.cyberstrike/skill/CIS_benchmarks/Server_Software/Kubernetes/CIS_Azure_Kubernetes_Service_AKS_Benchmark_v1.8.0/cis-aks-v180-4.6.1/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/cis-aks-v180-4-6-1, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

4.6.1 Create administrative boundaries between resources using namespaces (Manual)

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 an Azure AKS 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

Run the below command and review the namespaces created in the cluster.

kubectl get namespaces

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

When you create an AKS cluster, the following namespaces are available:

NAMESPACEDescription
defaultWhere pods and deployments are created by default when none is provided. In smaller environments, you can deploy applications directly into the default namespace without creating additional logical separations. When you interact with the Kubernetes API, such as with kubectl get pods, the default namespace is used when none is specified.
kube-systemWhere core resources exist, such as network features like DNS and proxy, or the Kubernetes dashboard. You typically don't deploy your own applications into this namespace.
kube-publicTypically not used, but can be used for resources to be visible across the whole cluster, and can be viewed by any user.

References

  1. https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
  2. http://blog.kubernetes.io/2016/08/security-best-practices-kubernetes-deployment.html
  3. https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-governance-strategy#gs-1-define-asset-management-and-data-protection-strategy
  4. https://docs.microsoft.com/en-us/azure/aks/concepts-clusters-workloads

CIS Controls

Controls VersionControlIG 1IG 2IG 3
v84.6 Securely Manage Enterprise Assets and Softwarexxx
v714 Controlled Access Based on the Need to Know