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.

Kubernetes Network Policy

devsecops

Définition

Les Kubernetes Network Policies (politiques réseau Kubernetes) sont des ressources Kubernetes permettant de définir les règles de communication réseau entre les Pods du cluster, implémentant une segmentation réseau fine (micro-segmentation) comparable aux ACLs d'un pare-feu traditionnel mais au niveau des Pods et des namespaces. Sans Network Policies, les Pods Kubernetes peuvent par défaut communiquer librement les uns avec les autres — configuration dite "flat networking" représentant un risque de latéralisation en cas de compromission d'un Pod. Une Network Policy Kubernetes définit, pour les Pods correspondant à ses sélecteurs (podSelector, namespaceSelector), les communications entrantes (ingress) et sortantes (egress) autorisées. Si une Network Policy s'applique à un Pod, tout trafic non explicitement autorisé est refusé (deny by default pour les types de trafic couverts). Une bonne pratique fondamentale est de déployer une politique "deny-all" par défaut dans chaque namespace, puis d'ajouter explicitement uniquement les communications autorisées. Les Network Policies sont implémentées au niveau du CNI (Container Network Interface) Kubernetes : le CNI plugin doit supporter les Network Policies pour qu'elles soient appliquées (Calico, Cilium, Weave Net supportent les Network Policies, le CNI par défaut de la plupart des distributions Kubernetes les implémente). Certains CNI comme Cilium offrent des politiques réseau étendues (CiliumNetworkPolicy) permettant des règles basées sur des protocoles de couche 7 (FQDN, HTTP paths) en plus des règles IP/port classiques. L'application des Network Policies en production nécessite une phase d'audit préalable : avant de déployer des politiques restrictives, une période d'observation (via les logs CNI ou des outils comme Hubble de Cilium) identifie les flux réseau réels entre Pods. Cette observation évite de bloquer accidentellement des communications légitimes lors du déploiement des politiques.

Politique deny-all par défaut

La Network Policy de base la plus importante : une politique deny-all dans chaque namespace (podSelector: {} pour sélectionner tous les Pods, policyTypes: [Ingress, Egress] sans règles ingress/egress = deny-all). Cette politique seule bloque toute communication réseau entre Pods du namespace, auxquels s'ajoutent des politiques spécifiques autorisant explicitement les flux nécessaires : le Pod api peut recevoir du trafic du Pod frontend sur le port 8080, mais pas des autres Pods. Ce modèle "whitelist" garantit que toute nouvelle communication non prévue est bloquée par défaut.

CiliumNetworkPolicy pour le filtrage L7

Cilium étend les Network Policies Kubernetes avec le filtrage couche 7 via eBPF : CiliumNetworkPolicy peut autoriser uniquement les requêtes HTTP GET /api/public/* depuis le service frontend, rejetant les PUT/DELETE ou les requêtes vers /api/admin même si elles proviennent du Pod autorisé au niveau IP/port. Cette granularité L7 réduit la surface d'attaque même en cas de compromission d'un Pod autorisé à communiquer avec un autre service (un service compromis ne peut exécuter que les opérations HTTP explicitement autorisées).

Audit et visualisation des Network Policies

L'audit des Network Policies existantes est facilité par des outils : network-policy-viewer (visualise les politiques comme un graphe de communication), kubectl get networkpolicy -A (liste toutes les policies du cluster), Hubble (Cilium) qui affiche en temps réel les connexions autorisées et rejetées par les politiques. Pour les clusters sans Network Policies, l'outil netassert (InfraCloud) teste que les communications attendues sont possibles et que les communications non autorisées sont bloquées — peut être intégré dans les tests CI de conformité de l'environnement.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis