Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Sécurité réseau

Dernière mise à jour :Sep 08, 2026

Restreignez le trafic des pods à l'aide de politiques réseau et chiffrez les données en transit pour sécuriser les clusters ACK.

Politiques réseau et groupes de sécurité

Les politiques réseau et les groupes de sécurité opèrent à différents niveaux. Combinez-les pour mettre en place une défense en profondeur.

Mécanisme Portée Cas d'utilisation idéal
Politiques réseau Trafic inter-pods (trafic est-ouest) et trafic entre les pods et les services externes Restreindre la communication entre les microservices, les namespaces ou des pods spécifiques
Groupes de sécurité Trafic au niveau des nœuds et du VPC entre les nœuds, les autres ressources VPC et les adresses IP externes Contrôler l'accès au cluster et depuis le cluster au niveau de l'infrastructure

Utilisez les groupes de sécurité pour restreindre l'accès au niveau de l'infrastructure et les politiques réseau pour appliquer une isolation fine au niveau des pods au sein du cluster.

Restreindre le trafic inter-pods avec des politiques réseau

Par défaut, tous les pods d'un cluster Kubernetes peuvent communiquer librement, ce qui présente des risques de sécurité. Les politiques réseau restreignent le trafic entre les pods (trafic est-ouest) ainsi que le trafic entre les pods et les services externes.

Les politiques réseau utilisent des sélecteurs de pods et des libellés pour identifier les pods sources et destinations. Chaque politique peut filtrer par adresse IP, port, protocole ou toute combinaison de ces éléments.

Avec le plug-in réseau Terway, utilisez des politiques réseau pour contrôler le trafic au niveau de l'adresse IP ou du port. Consultez également les recettes de politiques réseau Kubernetes.

Important

Seuls les clusters Terway prennent en charge les politiques réseau Kubernetes. Pour les clusters comptant plus de 100 nœuds, le proxy de politique peut augmenter la charge sur le plan de contrôle. Consultez la rubrique Améliorer les performances de la fonctionnalité NetworkPolicy pour un grand cluster ACK en mode Terway.

Approche recommandée : refus par défaut, puis autorisation

Appliquez le principe du moindre privilège : refusez tout le trafic par défaut, puis ajoutez des règles pour n'autoriser que le trafic nécessaire à chaque charge de travail.

  1. Créez une politique de refus par défaut -- Bloquez tout le trafic entrant et sortant dans le namespace.

  2. Autorisez les requêtes DNS -- Les pods ont besoin de la résolution DNS pour fonctionner.

  3. Autorisez le trafic spécifique -- N'ouvrez que les chemins requis par chaque charge de travail.

Étape 1 : Créer une politique de refus par défaut

Créez une politique réseau pour refuser tout le trafic entrant et sortant dans un namespace, ou utilisez Calico pour une politique globale.

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny
  namespace: default
spec:
  podSelector: {}
  policyTypes:
  - Ingress
  - Egress

Étape 2 : Autoriser les requêtes DNS

Avec une politique de refus par défaut, les pods ne peuvent pas résoudre les noms DNS. Créez une politique pour autoriser les requêtes DNS vers CoreDNS.

  1. Ajoutez un libellé au namespace kube-system :

       kubectl label namespace kube-system name=kube-system
  2. Créez une politique réseau pour autoriser le trafic sortant vers CoreDNS sur le port UDP 53 :

       apiVersion: networking.k8s.io/v1
       kind: NetworkPolicy
       metadata:
         name: allow-dns-access
         namespace: default
       spec:
         podSelector:
           matchLabels: {}
         policyTypes:
         - Egress
         egress:
         - to:
           - namespaceSelector:
               matchLabels:
                 name: kube-system
           ports:
           - protocol: UDP
             port: 53
Important

Consultez la documentation sur les politiques réseau.

Étape 3 : Autoriser le trafic provenant de pods spécifiques

Une fois les politiques de refus et DNS en place, n'autorisez le trafic qu'en provenance des pods autorisés. Cas d'utilisation courants :

  • Autoriser uniquement certains microservices à accéder à une application.

  • Autoriser uniquement certaines applications à accéder à une base de données.

Cet exemple crée un pod et restreint le trafic entrant aux pods portant le libellé app: bookstore.

  1. Créez un pod avec les libellés app=bookstore et role=api :

       kubectl run apiserver --image=nginx --labels="app=bookstore,role=api" --expose --port=80
  2. Appliquez une politique réseau qui n'autorise le trafic entrant qu'en provenance des pods portant le libellé app: bookstore :

       kind: NetworkPolicy
       apiVersion: networking.k8s.io/v1
       metadata:
         name: api-allow
       spec:
         podSelector:
           matchLabels:
             app: bookstore
             role: api
         ingress:
         - from:
             - podSelector:
                 matchLabels:
                   app: bookstore
  3. Vérifiez que les pods ne portant pas le libellé app=bookstore se voient refuser l'accès :

       kubectl run test-$RANDOM --rm -i -t --image=alpine -- sh
       / # wget -qO- --timeout=2 http://apiserver
       wget: download timed out
  4. Vérifiez que les pods portant le libellé app=bookstore peuvent accéder au serveur :

       kubectl run test-$RANDOM --rm -i -t --image=alpine --labels="app=bookstore,role=frontend" -- sh
       / # wget -qO- --timeout=2 http://apiserver
       <!DOCTYPE html>
       <html><head>

Ajouter des règles personnalisées entre les pods d'un namespace

Après avoir autorisé la communication entre les pods au sein d'un namespace, utilisez les recettes de politiques réseau Kubernetes pour ajouter des règles personnalisées offrant un contrôle plus granulaire.

Contrôler le trafic au niveau des nœuds avec des groupes de sécurité

ACK utilise des groupes de sécurité pour gérer le trafic entre les nœuds maîtres et les nœuds de travail, ainsi qu'entre les nœuds de travail, les autres ressources VPC et les adresses IP externes.

ACK crée automatiquement un groupe de sécurité pour la communication entre les nœuds lors de la création d'un cluster. Pour appliquer le principe du moindre privilège, ajoutez les règles entrantes et sortantes recommandées.

Consultez les rubriques Configurer des groupes de sécurité dans différents scénarios et Configurer un groupe de sécurité.

Surveiller et analyser le trafic avec les journaux de flux

Les journaux de flux VPC enregistrent le trafic entrant et sortant des interfaces réseau élastiques (ENI). Utilisez les journaux de flux pour :

  • Vérifier les règles de liste de contrôle d'accès (ACL)

  • Surveiller le trafic réseau

  • Dépanner les problèmes réseau

  • Identifier le trafic anormal entre les ressources (y compris les pods) dans un VPC

Consultez la rubrique Présentation des journaux de flux.

Chiffrer les données en transit

  • Service Mesh (ASM)

    Service Mesh (ASM) chiffre les données entre les services. ASM prend en charge :

    • L'authentification Mutual Transport Layer Security (mTLS) entre les services

    • Le service Envoy Secret Discovery Service (SDS) pour HTTPS et le chargement dynamique des certificats sur les passerelles de service

    • La gestion du trafic pour les applications dans les instances ASM, intégrée au Application High Availability Service (AHAS)

    • Le suivi distribué intégré à Tracing Analysis pour le mappage des traces, le comptage des appels, la topologie et l'analyse des dépendances

  • TLS for Ingress

    Activez HTTPS pour les services exposés via Ingress. Utilisez un Secret pour configurer TLS.