Security musings

Catégories

Tags

🔍 Licence d'Utilisation 🔍

Sauf mention contraire, le contenu de ce blog est sous licence CC BY-NC-ND 4.0.

© 2025 à 2042 Sébastien Gioria. Tous droits réservés.

⏱️
Temps de lecture estimé
~1 minute

Namespaces — Isolation Logique

Description & Rôle

Les Namespaces fournissent une isolation logique des ressources au sein d’un cluster. Ils permettent de partager un cluster physique entre plusieurs équipes ou applications avec isolation virtuelle.

Important : les Namespaces ne sont PAS une isolation sécuritaire réseau, c’est une isolation logique administrative.

Analyse STRIDE

Risque Description
S — Spoofing Pod d’un namespace accédant aux ressources d’un autre
T — Tampering Modification d’objets dans un autre namespace via RBAC faible
R — Repudiation Pas de logs par namespace
I — Information Disclosure Énumération des ressources d’autres namespaces
D — Denial of Service Une application consommant les ressources du cluster entier
E — Elevation of Privilege Utilisation du default ServiceAccount avec permissions excédentaires

Best-Practices Minimales

  • Namespaces distincts : par environnement (dev, staging, prod) ou par tenant
  • Network Policies obligatoires : deny-all par défaut, whitelist explicite
  • RBAC par namespace : RoleBindings restrictifs par namespace
  • Resource Quotas : limites de CPU/mémoire par namespace
  • LimitRanges : limites par pod/container
  • Pas de communication inter-namespace : sauf si explicitement autorisé
  • Audit par namespace : logs d’activité par namespace
  • Isolation réseau : Calico, Cilium, ou kube-router pour l’isolation L3/L4
  • Service mesh : Istio/Linkerd pour l’isolation L7