Summary

Terminée

Le test d'intrusion de Contoso Retail a identifié trois lacunes de sécurité dans leur environnement de Azure Kubernetes Service (AKS) : les attributions de rôles permanentes sans expiration ni exigence d'approbation, un serveur d'API public sans restrictions d'adresse IP source et les charges de travail s'exécutant sans stratégies d'isolation des pods. Ce module a résolu chaque écart avec les contrôles qui fonctionnent sur quatre couches de sécurité distinctes.

Les contrôles d’identité ont fermé le premier écart. L’intégration de Microsoft Entra ID a été activée et les comptes locaux ont été désactivés, garantissant que tous les flux d’authentification du cluster passent par l’infrastructure de gouvernance des identités de Contoso Retail. Les liaisons de rôle ont été mappées à des groupes Microsoft Entra. Par conséquent, les modifications d’accès nécessitent uniquement des mises à jour d’appartenance aux groupes plutôt que des modifications apportées aux objets RBAC Kubernetes. Azure RBAC régit qui récupère les informations d’identification du cluster à partir de Azure ; Le RBAC Kubernetes régit ce que les identités authentifiées peuvent faire à l’intérieur du cluster.

Les contrôles réseau ont résolu le deuxième écart. Les clusters privés et les plages d’adresses IP autorisées limitent qui peuvent atteindre le serveur d’API au niveau de la couche réseau. Les politiques réseau de Kubernetes ont remplacé le modèle par défaut autorisant toutes les communications entre pods par des règles explicites d’entrée et de sortie — le trafic ne circule que là où les politiques l’autorisent. Une stratégie de sortie dédiée bloque l’accès des pods au service de métadonnées d’instance Azure, ce qui élimine l’un des chemins les plus fiables utilisés par les attaquants pour obtenir des informations d’identification au niveau du nœud.

L’identité de charge de travail a supprimé le stockage des identifiants dans l’ensemble du cluster. ID de charge de travail Microsoft Entra a remplacé les secrets de principal de service et les clés d’API statiques par des jetons fédérés de courte durée générés à la demande. Le pilote Key Vault Secrets Store CSI montait directement les secrets dans les pods sans les écrire dans etcd. L’intégration ACR a entièrement supprimé les secrets de pull d’images des spécifications des pods.

La correction de la troisième lacune a été imposée par les normes de sécurité des pods. La norme de sécurité des pods « Restricted » bloquait l’escalade de privilèges, exigeait l’exécution en tant qu’utilisateur non root et imposait un profil seccomp au niveau de l’espace de noms. Les paramètres de contexte de sécurité dans les spécifications de pod ont rendu ces contraintes explicites et auditables par conteneur. Les espaces de noms utilisateur et les profils AppArmor fournissaient une profondeur d’isolation d’hôte supplémentaire.

Chaque couche a traité une surface d’attaque distincte. Ensemble, ils ont fait passer la posture de sécurité AKS de Contoso Retail de paramètres par défaut permissifs à des contrôles de sécurité explicitement définis, alignés sur les responsabilités de l’ingénieur sécurité.

Learn more