Cyber Security Academy · Leçon

Sécurité des pods et politiques réseau

Isoler les charges de travail.

Leçon 3 sur 413 étapes

Sécurité des pods et politiques réseau est une leçon Cyber Security Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cyber Security Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cyber Security Academy comprend 4 leçons au total.

Isolation des charges de travail

Deux contrôles limitent ce qu'un pod compromis peut faire : la sécurité des pods restreint les privilèges d'un pod, et les politiques réseau limitent les pods qui peuvent communiquer entre eux. Ensemble, ils réduisent le rayon d'impact.

  • La sécurité des pods empêche les évasions vers le nœud.
  • Les politiques réseau empêchent les déplacements latéraux entre les pods.

Paramètres dangereux des pods

Plusieurs champs de la spécification d'un pod élargissent considérablement les risques s'ils sont autorisés.

  • privileged: true accorde un accès presque équivalent à celui de l'hôte.
  • hostPID, hostNetwork et hostIPC brisent l'isolation des espaces de noms.
  • Les volumes hostPath montent des répertoires du nœud.
  • Des capacités ajoutées comme SYS_ADMIN permettent une évasion.
  • Exécution en tant que superutilisateur (runAsUser: 0).

Admission de sécurité des pods

L'admission de sécurité des pods (PSA) a remplacé PodSecurityPolicy. Elle applique trois normes intégrées par espace de noms.

  • Privilégié : sans restriction (à éviter pour les charges de travail).
  • Base : bloque les escalades de privilèges connues.
  • Restreint : bonnes pratiques renforcées (sans superutilisateur, sans privilèges, capacités supprimées).
# Enforce the restricted standard on a namespace
kubectl label namespace prod \
  pod-security.kubernetes.io/enforce=restricted

Un securityContext renforcé

Définissez le principe du moindre privilège au niveau du pod et du conteneur à l'aide d'un securityContext.

  • Exécutez les processus avec un utilisateur autre que le superutilisateur et un système de fichiers racine en lecture seule.
  • Supprimez toutes les capacités Linux, puis ajoutez uniquement celles qui sont nécessaires.
  • Interdisez l'escalade de privilèges.
# securityContext fields (YAML)
# runAsNonRoot: true
# readOnlyRootFilesystem: true
# allowPrivilegeEscalation: false
# capabilities: drop: [ALL]
kubectl apply -f hardened-deploy.yaml

Au-delà des normes : moteurs de politiques

Pour appliquer des règles plus riches que celles de PSA, des contrôleurs d'admission imposent des politiques personnalisées.

  • OPA Gatekeeper évalue les contraintes Rego.
  • Kyverno utilise des politiques YAML et peut aussi bien modifier que valider.

Ces outils peuvent interdire les volumes hostPath, exiger des images signées ou imposer des étiquettes à l'échelle du cluster.

# Apply a Kyverno policy that disallows privileged pods
kubectl apply -f disallow-privileged.yaml

Réseau ouvert par défaut

Par défaut, tous les pods peuvent joindre tous les autres pods dans tous les espaces de noms. Il n'y a aucune segmentation tant que vous n'ajoutez pas de politiques réseau. Ce réseau plat explique pourquoi un seul pod compromis peut analyser et attaquer l'ensemble du cluster.

# From a pod, the flat network lets you reach any service
curl http://internal-db.prod.svc.cluster.local:5432

Principes de base des politiques réseau

Les politiques réseau sont des règles limitées à un espace de noms qui sélectionnent des pods et autorisent des flux entrants et sortants précis. Elles s'additionnent : l'application d'une politique à un pod le fait passer en refus par défaut pour la direction couverte.

  • Les sélecteurs identifient les pods à partir de leurs étiquettes.
  • Les règles autorisent le trafic depuis ou vers des pods, des espaces de noms ou des plages CIDR spécifiques.
  • Un CNI prenant en charge les politiques (Calico, Cilium) est nécessaire.

Refus par défaut, puis autorisations

Le modèle recommandé consiste à définir une base de refus par défaut pour chaque espace de noms, puis des règles d'autorisation explicites pour les flux nécessaires.

# Default-deny all ingress in a namespace (YAML)
# kind: NetworkPolicy spec: podSelector: {} policyTypes: [Ingress]
kubectl apply -f default-deny.yaml

# Then allow only frontend -> backend
kubectl apply -f allow-frontend.yaml

Blocage des sorties et des métadonnées

Les politiques de sortie sont tout aussi importantes que celles d'entrée.

  • Limitez les points de terminaison externes que les pods peuvent joindre (cela limite l'exfiltration et les communications de commande et de contrôle).
  • Bloquez l'adresse IP de métadonnées du cloud 169.254.169.254 depuis les pods afin d'empêcher le vol des identifiants du nœud.
  • Limitez le DNS et le trafic interne est-ouest.

Défense à l'exécution

La politique statique est complétée par la détection à l'exécution.

  • Falco signale les appels système suspects (interpréteur de commandes dans un conteneur, montages sensibles).
  • Les profils seccomp limitent les appels système qu'un conteneur peut effectuer.
  • AppArmor/SELinux ajoutent un contrôle d'accès obligatoire sur le nœud.
# Apply the runtime/default seccomp profile (securityContext)
# seccompProfile: type: RuntimeDefault
kubectl apply -f seccomp-deploy.yaml

Tester l'isolation

Lors de la validation du cloisonnement, tentez des connexions entre pods et des mécanismes d'évasion depuis un pod d'essai, en vérifiant que les politiques les bloquent. Faites-le dans un espace de noms contrôlé, puis supprimez les pods d'essai.

Signalez tout pod qui s'exécute avec des privilèges ou tout espace de noms dépourvu de refus par défaut, en indiquant la correction exacte du manifeste.

Vérification rapide

Confirmez vos connaissances sur l'isolation.

Récapitulatif

Vous avez appris à isoler les charges de travail.

  • Pod Security Admission (restreint) et securityContext empêchent les évasions.
  • Gatekeeper/Kyverno imposent des politiques d'admission personnalisées.
  • Le réseau est ouvert par défaut ; appliquez d'abord un refus par défaut, puis des autorisations explicites.
  • Les règles de sortie, le blocage des métadonnées et Falco renforcent la protection.

Ensuite : sécuriser la chaîne d'approvisionnement et les secrets.

Gratuit pour commencer

Apprends Cyber Security Academy avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
76
Leçons
303

Questions Fréquemment Posées

La leçon « Sécurité des pods et politiques réseau » est-elle gratuite ?

Oui — le texte complet de « Sécurité des pods et politiques réseau » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cyber Security Academy, passe à CoddyKit PRO. Le cours Cyber Security Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Sécurité des pods et politiques réseau » ?

Isoler les charges de travail. Tu pratiques Cyber Security Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cyber Security Academy ?

Aucune expérience préalable n'est requise. Cyber Security Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Sécurité des pods et politiques réseau » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cyber Security Academy ?

Oui. Chaque leçon Cyber Security Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Modèle de menace de Kubernetes
  2. RBAC et comptes de service
  3. Sécurité des pods et politiques réseau
  4. Sécuriser la chaîne d’approvisionnement et les secrets
← Retour à Cyber Security Academy