Kubernetes — RBAC, workloads et audit
Synthèse française et contrôlée du corpus « Kubernetes ». Ce chapitre explique kubernetes — rbac, workloads et audit dans le domaine « Conteneurs, Docker et Kubernetes », avec une méthode de laboratoire, des commandes à faible impact, les traces attendues et un plan de correction vérifiable.
En bref
- But : Synthèse française et contrôlée du corpus « Kubernetes ». Ce chapitre explique kubernetes — rbac, workloads et audit dans le domaine « Conteneurs, Docker et Kubernetes », avec une méthode de laboratoire, des commandes à faible impact, les traces attendues et un plan de correction vérifiable.
- Preuve attendue : un inventaire de permissions effectives et une correction IAM minimale
- Limite : le résultat est valable uniquement pour les versions, rôles, chemins et conditions effectivement testés.
Vue d’ensemble
« Vue d’ensemble » est contrôlé au niveau du runtime, des identités, des capacités, des volumes, du réseau et des secrets. Distinguez l’impact dans le conteneur de l’impact sur le nœud. Le contrôle est ici appliqué spécifiquement à « Kubernetes — RBAC, workloads et audit ».
Outils
« Outils » est contrôlé au niveau du runtime, des identités, des capacités, des volumes, du réseau et des secrets. Distinguez l’impact dans le conteneur de l’impact sur le nœud. Le contrôle est ici appliqué spécifiquement à « Kubernetes — RBAC, workloads et audit ».
Container Environment
« Container Environment » est contrôlé au niveau du runtime, des identités, des capacités, des volumes, du réseau et des secrets. Distinguez l’impact dans le conteneur de l’impact sur le nœud.
Service Account
« Service Account » est contrôlé au niveau du runtime, des identités, des capacités, des volumes, du réseau et des secrets. Distinguez l’impact dans le conteneur de l’impact sur le nœud.
Environment Variables
« Environment Variables » est contrôlé au niveau du runtime, des identités, des capacités, des volumes, du réseau et des secrets. Distinguez l’impact dans le conteneur de l’impact sur le nœud.
Simulating `kubectl` API Requests
« Simulating `kubectl` API Requests » est contrôlé au niveau du runtime, des identités, des capacités, des volumes, du réseau et des secrets. Distinguez l’impact dans le conteneur de l’impact sur le nœud.
Information Gathering
« Information Gathering » est contrôlé au niveau du runtime, des identités, des capacités, des volumes, du réseau et des secrets. Distinguez l’impact dans le conteneur de l’impact sur le nœud.
Commandes et exemples
Les exemples ci-dessous proviennent des éléments utiles de « Kubernetes — RBAC, workloads et audit ». Adaptez uniquement les valeurs du laboratoire et conservez la commande exacte avec sa sortie.
Exemples de laboratoire
# Contrôle défensif en laboratoire — référence 85eed45f
# Exemple de laboratoire — Kubernetes — RBAC, workloads et audit
kubectl apply -f https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/everything-allowed/pod/everything-allowed-exec-pod.yaml
kubectl apply -f https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/priv-and-hostpid/pod/priv-and-hostpid-exec-pod.yaml
kubectl apply -f https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/priv/pod/priv-exec-pod.yaml
kubectl apply -f https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/hostpath/pod/hostpath-exec-pod.yaml
kubectl apply -f https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/hostpid/pod/hostpid-exec-pod.yaml
kubectl apply -f https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/hostnetwork/pod/hostnetwork-exec-pod.yaml
kubectl apply -f https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/hostipc/pod/hostipc-exec-pod.yaml
kubectl apply -f https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/nothing-allowed/pod/nothing-allowed-exec-pod.yaml# Contrôle défensif en laboratoire — référence d037bb0b
# Exemple de laboratoire — Kubernetes — RBAC, workloads et audit
# Critical paths enumeration
kh.containers().criticalPaths().count()
kh.containers().dedup().by("name").criticalPaths().count()
kh.endpoints(EndpointExposure.ClusterIP).criticalPaths().count()
kh.endpoints(EndpointExposure.NodeIP).criticalPaths().count()
kh.endpoints(EndpointExposure.External).criticalPaths().count()
kh.services().criticalPaths().count()
# DNS services and port
kh.endpoints(EndpointExposure.External).criticalPaths().limit(local,1)
.dedup().valueMap("serviceDns","port")
.group().by("serviceDns").by("port")# Contrôle défensif en laboratoire — référence b4603f35
# Kubernetes — RBAC, workloads et audit
docker version
docker info --format '{{json .SecurityOptions}}'
docker ps --format 'table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}'
docker inspect <CONTENEUR_LAB># Contrôle défensif en laboratoire — référence fed5221e
# Kubernetes — RBAC, workloads et audit
kubectl config current-context
kubectl auth can-i --list
kubectl get namespaces,pods,serviceaccounts -A
kubectl get networkpolicies -ALire les résultats
Pour « Kubernetes — RBAC, workloads et audit », rapprochez la réponse API des politiques, conditions et journaux natifs. Une permission déclarée peut être limitée ou étendue par une autre couche de contrôle.
Références
- Internal All The Things — dépôt de référence
- https://github.com/BishopFox/badpods
- https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/everything-allowed/pod/everything-allowed-exec-pod.yaml
- https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/priv-and-hostpid/pod/priv-and-hostpid-exec-pod.yaml
- https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/priv/pod/priv-exec-pod.yaml
- https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/hostpath/pod/hostpath-exec-pod.yaml
- https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/hostpid/pod/hostpid-exec-pod.yaml
- https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/hostnetwork/pod/hostnetwork-exec-pod.yaml
- https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/hostipc/pod/hostipc-exec-pod.yaml
- https://raw.githubusercontent.com/BishopFox/badPods/main/manifests/nothing-allowed/pod/nothing-allowed-exec-pod.yaml
- https://github.com/serain/kubelet-anon-rce
À retenir
Pour maîtriser « Kubernetes — RBAC, workloads et audit », retenez trois idées : comprendre les identités, rôles, politiques, ressources, journaux du fournisseur et frontières de responsabilité, exécuter une méthode limitée et reproductible, puis transformer la sortie en preuve contextualisée. Le chapitre est terminé lorsque le résultat peut être confirmé, que ses limites sont explicites et que la correction peut être retestée sans réinterpréter toute la mission.
- Savoir expliquer le mécanisme propre à « Kubernetes — RBAC, workloads et audit » sans réciter une commande.
- Conserver au minimum tenant, compte ou projet, identité utilisée et type de session et permission effective.
- Éviter en priorité de raisonner uniquement sur la politique attachée et de ignorer les permissions héritées ou conditionnelles.
- Proposer une action corrective mesurable et un retest réalisable.