Comment sécuriser les échanges dans un cluster Kubernetes ?
Avec les orchestrateurs de conteneurs, associés à une transformation globale vers des architectures Microservices, il est nécessaire de repenser les mesures de sécurité existantes au sein de nos systèmes d’information. En effet, les échanges inter-applicatifs se démultiplient alors que les équipements de filtrage et de contrôle d’accès deviennent inopérants.
Les mécanismes de sécurité natifs de Kubernetes
Quelles sont les limites de sécurité de Kubernetes ?
Comment les outils de Services Mesh permettent-ils d’assurer la sécurité dans les clusters ?
- LinkerD, la seule solution Incubating de la CNCF, c’est à dire en cours de standardisation
- Istio, la solution la plus utilisée actuellement, elle permet un meilleur contrôle de sa politique de sécurité.
- Consul, solution Hashicorp compatible avec des services en dehors d’un cluster Kubernetes, qui fonctionne de paire avec les autres solutions Hashicorp telles que Terraform et Vault.
Istio, l’atout sécurité qui a manqué à l’écosystème Kubernetes
Glossaire:
1. A2A : Acronyme d’Application to Application. A2A caractérise une communication se déroulant entre deux applications.
2. Pods : Les Pods sont les plus petites unités informatiques déployables qui peuvent être créées et gérées dans Kubernetes.
3. Network Policies (En français, les règles de réseau) : Les politiques réseau sont des ressources Kubernetes qui contrôlent le trafic entre les Pods et/ou les points d’extrémité du réseau. Elles utilisent des étiquettes pour sélectionner les Pods et spécifient le trafic qui est dirigé vers ces Pods à l’aide de règles. Les règles de réseaux permettent de limiter les connexions entre les Pods, réduisant ainsi les risque de sécurité.
4. Namespace : Un namespace est un moyen de séparer logiquement un cluster physique en plusieurs clusters virtuels.
5. Service Mesh : Un Service Mesh est un moyen de contrôler la façon dont différents éléments d’une application partagent des données les uns avec les autres. C’est une couche d’infrastructure dédiée, créée directement dans l’application. Pour en savoir plus sur les services mesh, lire Service Mesh, pour une intégration optimale des Microservices.
6. Sidecar : Le sidecar est placé en front de chaque Microservice et s’impose comme un point de passage obligé pour l’ensemble des appels entrants et sortants. (Pour en savoir plus sur les sidecars, lire Le sidecar : la simplification des Services Mesh)