TMA-AKS-4.2.3
Minimize the admission of containers wishing to share the host IPC namespace
Description
Minimize the admission of pods that request spec.hostIPC=true so that only tightly controlled, explicitly approved platform workloads can share the host IPC namespace in AKS. As it relates to RBAC and service accounts, this means users, groups, and service accounts with pod or controller deployment rights should not broadly be able to create or update workloads that enable host IPC sharing, because AKS relies on RBAC to scope what identities can ... Requires kubectl with cluster-wide read access (KUBECONFIG); system namespaces are excluded and listed resources must be remediated or documented as exceptions.
How it is checked
Audit method: Shell command
out=$(kubectl get pods -A -o go-template='{{range .items}}{{.metadata.namespace}} {{.metadata.name}} {{.spec.hostIPC}}{{"\n"}}{{end}}') || exit 1
bad=$(printf '%s\n' "$out" | awk -v ex='^(kube-system|kube-public|kube-node-lease|gatekeeper-system|azure-arc)$' 'NF && $1 !~ ex && ($3=="true")')
if [ -z "$bad" ]; then echo compliant; else printf '%s\n' "$bad" | head -n 25; fi- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Add policies to each namespace in the cluster which has user workloads to restrict the admission of hostIPC containers. Pod Security Policies and Assignments can be found by searching for Policies in the Azure Portal. A detailed step-by-step guide can be found here: https://learn.microsoft.com/en-us/azure/governance/policy/concepts/policy-for-kubernetes
Properties
- Operating systems
- Any
- Tags
- akspoliciespod-security
- Reference
- CIS Azure Kubernetes Service (AKS) Benchmark v2.0.0 - 4.2.3 Minimize the admission of containers wishing to share the host IPC namespace
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target aks