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

Pods — Unité d’Exécution Base

Description & Rôle

Un Pod est l’unité la plus petite déployable dans Kubernetes. Il encapsule un ou plusieurs conteneurs partageant un namespace réseau (même IP) et pouvant partager des volumes. Les pods sont éphémères et généralement managés par des controllers (Deployment, StatefulSet, etc.).

CVEs Connus

Analyse STRIDE

Risque Description
S — Spoofing Pod usurpant l’identité d’un autre via ServiceAccount
T — Tampering Modification du contenu du pod ou interception du trafic intra-pod
R — Repudiation Absence de logs d’activité pod
I — Information Disclosure Fuite de secrets montés en variables d’environnement
D — Denial of Service Pod mal configuré consommant les ressources du node
E — Elevation of Privilege Container en mode privilégié (privileged: true)

Best-Practices Minimales

  • SecurityContext strict : runAsNonRoot: true, readOnlyRootFilesystem: true
  • Pas de privilèges : privileged: false, allowPrivilegeEscalation: false
  • Capabilities minimales : drop: ["ALL"], ajouter uniquement si nécessaire
  • Resource limits : requests et limits pour CPU/mémoire
  • ServiceAccount dédicataire : moins privilégié possible
  • Image scanning : vérifier les images avant déploiement (vulnérabilités, malware)
  • Healthchecks : livenessProbe, readinessProbe, startupProbe
  • Logs centralisés : envoyer les logs vers un système centralisé
  • Network policies : isoler le trafic pod-to-pod
  • Pas d’images latest : utiliser des tags de version explicites