Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Privileged Container

cloud

Définition

Un conteneur privilégié (Privileged Container) est un conteneur Docker/Kubernetes s'exécutant avec les capabilities Linux complètes du kernel de l'hôte, équivalentes à celles du processus root de l'hôte. Cette configuration est le paramètre le plus dangereux des conteneurs : un conteneur privilégié peut potentiellement compromettre le nœud hôte et, par extension, tout le cluster Kubernetes. Techniquement, un conteneur privilégié est lancé avec le flag --privileged (Docker) ou securityContext.privileged: true (Kubernetes). Cela lui confère : toutes les Linux capabilities (CAP_SYS_ADMIN, CAP_NET_ADMIN, CAP_SYS_PTRACE, etc.), accès aux devices de l'hôte via /dev, capacité de monter des systèmes de fichiers, et accès au réseau de l'hôte. Ces permissions permettent de s'échapper du namespace et de compromettre l'hôte. Les techniques d'évasion depuis un conteneur privilégié sont bien documentées : montage du système de fichiers de l'hôte via cgroups v1 (technique utilisée par les outils d't](https://github.com/cdk-team/CDK comme CDK), injection de code dans les processus de l'hôte via CAP_SYS_PTRACE, création de nouveaux namespaces pour accéder à l'espace de nommage du réseau de l'hôte, et modification du scheduling cgroups pour accéder aux VMs voisines dans certaines configurations cloud. Les cas d'usage légitimes des conteneurs privilégiés sont rares mais existent : certains agents de monitoring réseau bas niveau (eBPF collectors comme Falco), les CNI plugins (Calico, Cilium) nécessitant l'accès aux interfaces réseau de l'hôte, et certains outils d'administration système. Dans ces cas, préférez des capabilities Linux précises (CAP_SYS_PTRACE uniquement si nécessaire) plutôt que le mode privilégié complet. Les Pod Security Standards Kubernetes (restricted profile) et les politiques Kyverno/Gatekeeper/OPA peuvent détecter et bloquer automatiquement les conteneurs privilégiés avant leur déploiement.

Alternatives aux conteneurs privilégiés

Plutôt que le mode --privileged, accordez uniquement les capabilities Linux nécessaires : CAP_NET_ADMIN pour la configuration réseau, CAP_SYS_PTRACE pour le debugging, CAP_CHOWN pour modifier les propriétaires de fichiers. Utilisez securityContext.capabilities.add avec une liste minimale. Activez seccompProfile: RuntimeDefault (ou un profil seccomp personnalisé) pour restreindre les syscalls autorisés même avec les capabilities accordées.

Détection des conteneurs privilégiés

Falco détecte les conteneurs privilégiés au démarrage via la règle Launch Privileged Container. En pré-admission, configurez une règle Kyverno (disallow-privileged-containers) ou OPA/Gatekeeper (K8sPSPPrivilegedContainer) pour bloquer les pods privilégiés. AWS Inspector, Defender for Containers, et SCC GCP identifient les workloads privilégiés dans vos clusters cloud. Intégrez ces détections dans votre SIEM pour une alerte immédiate.

Container Escape depuis un conteneur privilégié

La technique classique via cgroups v1 (CVE-2019-5736 runc, et la technique "cgroups release_agent") permet à un attaquant de sortir du conteneur privilégié vers l'hôte. Ces techniques sont démontrées par des outils comme CDK (Container Defense Kit/Container Escape Toolkit) et deepce. La mise à jour régulière du runtime de conteneurs (containerd, CRI-O) et l'utilisation de runtimeClass gVisor ou Kata Containers pour les workloads à haut risque réduisent considérablement ces risques.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis