Keyfactor Days 2027 – Participez à la conférence « Trust Security » à San Diego Inscrivez-vous dès maintenant !

Multi-Cluster PKI + Istio Recipe : Exemple pratique d'un PKI fiable et évolutif pour votre maillage de services

Keyfactor Keyfactor Technical Team
Keyfactor Blog with Tetrate on multi-cluster PKI and Istio

Cet article est co-écrit par Cristofer Ten Eyck, Senior Solution Engineer chez Keyfactor et Jimmy Song, Developer Advocate chez Tetrate.

Dans le paysage évolutif des applications cloud-natives, la sécurisation des maillages de services à travers plusieurs clusters est cruciale pour garantir à la fois la sécurité et la conformité.

Istio, l'un des principaux maillages de services open-source , fournit des outils pour sécuriser la communication entre les microservices. Toutefois, la mise en œuvre d'une infrastructure à clé publique robuste et évolutive (PKI) pour gérer les certificats dans cet environnement reste un défi de taille. 

Dans ce blog, nous allons nous plonger dans la mise en œuvre d'une solution PKI à l'aide de EJBCA open-source PKI pour un maillage de services Istio couvrant plusieurs clusters. Nous nous concentrerons sur le processus de mise en place de EJBCA, en configurant le cert-manager EJBCA external issuer, et en assurant le renouvellement automatique des certificats pour vos charges de travail Istio. Ce guide vous aidera à construire un site PKI fiable et évolutif, permettant des maillages de services sécurisés, conformes et résilients. 

Pourquoi des clusters multiples ? Les déploiements multi-clusters sont de plus en plus populaires à mesure que les organisations étendent leur infrastructure Kubernetes. Les configurations Istio multi-clusters permettent d'améliorer la disponibilité, la tolérance aux pannes et l'isolation des charges de travail entre les clusters.

Comprendre PKI et son rôle dans les maillages de services 

PKI est la pierre angulaire de la sécurité numérique moderne. Elle implique la gestion des clés et des certificats pour garantir une communication sécurisée entre les entités, qu'il s'agisse d'utilisateurs, d'applications ou de services. Dans le contexte d'un maillage de services comme Istio, un site PKI efficace est essentiel pour sécuriser les communications entre les microservices, en particulier dans les environnements multi-clusters. 

Le site EJBCA offre une solution open-source pour gérer PKI à l'échelle. Comparé à d'autres options comme OpenSSL ou la solution intégrée d'Istio PKI, EJBCA fournit une PKI complète, de qualité professionnelle, qui convient parfaitement aux déploiements simples ou plus complexes et polyvalents. EJBCALes capacités d'Istio vont au-delà de la simple émission de certificats mTLS, offrant des fonctionnalités de conformité, une évolutivité sécurisée, une agilité cryptographique et une intégration avec une large gamme d'applications. 

Istio, EJBCA et cert-manager  

Mise en place d'un PKI pour un environnement Istio multi-cluster à l'aide de EJBCA. Voici ce qui est inclus :

  1. Environment Preparation: We use a MicroK8s multi-cluster Istio setup, consisting of a primary and a remote cluster. Both clusters are configured to work with EJBCA as the root Certificate Authority (CA). 
  2. cert-manager Integration: We showcase the integration of cert-manager with EJBCA, including the configuration of the EJBCA custom issuer. cert-manager will handle the issuance and renewal of certificates.  
  3. Automatic Certificate Renewal: A key challenge in PKI management is ensuring that certificates are renewed automatically before they expire. cert-manager, with EJBCA, can achieve seamless, application-transparent certificate renewal across all clusters.
Configuration de l'architecture avec Istio en utilisant EJBCA comme autorité de certification externe

Configuration de l'architecture avec Istio utilisant EJBCA comme autorité de certification externe, un résumé de haut niveau 

This section outlines the steps to set up Istio on Kubernetes clusters using EJBCA as an external Certificate Authority (CA). The setup involves configuring two MicroK8s clusters with MetalLB for load balancing, integrating EJBCA for certificate management, and installing Istio components using Helm. The complete guide can be found here:

Les étapes clés sont les suivantes : 

  1. Install and Configure Helm Repositories: Add necessary Helm repositories for Istio, cert-manager, and EJBCA. 
  2. Deploy cert-manager and EJBCA: Install cert-manager using Helm in the primary and remote clusters, followed by the deployment of the EJBCA with a custom issuer. This step also includes generating and storing necessary certificates as Kubernetes secrets. 
  3. Configure Istio with EJBCA: Create a custom Issuer in Kubernetes that points to the EJBCA instance for issuing certificates. This issuer is then integrated into the Istio configuration. 
  4. Install Istio Components: Deploy the cert-manager-istio-csr to handle Istio’s certificate signing requests, followed by the installation of Istio’s base components, Istio CNI (Container Network Interface), Istiod (Istio control plane), and the Istio ingress gateway. 
  5. Customization and Overrides: Apply custom values to tailor Istio’s behavior, such as specific cluster IDs, trust domains, and DNS configurations for secure communication between services. 
  6. Automatic Certificate Renewal: The setup is configured so that cert-manager automatically renews certificates before they expire, with no disruption to the running applications. 
diagramme de flux représentant le processus d'émission et de renouvellement du certificat mTLS dans Istio

L'organigramme ci-dessus représente le processus d'émission et de renouvellement du certificat mTLS dans Istio. Il illustre le flux depuis le plan de contrôle Istiod qui pousse la configuration Envoy jusqu'à l'émission finale du certificat par EJBCA. 

PKI Bonnes pratiques et conformité 

Construire un PKI sécurisé pour votre maillage de services Istio ne se limite pas à configurer un PKI et à commencer à émettre des certificats. Il faut adhérer aux meilleures pratiques et se conformer aux réglementations pour rester sécurisé et à l'épreuve du temps. Voici quelques points clés à prendre en compte : 

  1. Compliance with Regulations: Ensure your PKI implementation meets regulatory requirements such as the EU Cyber Resilience Act and the US Executive Order on Improving the Nation’s Cybersecurity. This includes implementing a resilient architecture, maintaining audit trails, and ensuring robust key management practices. 
  2. Crypto Agility and Quantum Readiness: As cryptographic standards evolve, your PKI must be agile enough to adapt to new algorithms and key lengths. With the potential advent of quantum computing, being quantum-ready is increasingly important. 
  3. Collaboration with InfoSec: Effective collaboration with your Information Security (InfoSec) team is crucial for maintaining the security and compliance of your PKI. This includes regular reviews of security policies, ongoing training, and ensuring that PKI management processes align with organizational security goals. 

Gestion sécurisée des certificats

La mise en œuvre d'un site PKI pour un maillage de services Istio dans un environnement multi-cluster peut sembler décourageante, mais avec les bons outils et les bonnes pratiques, elle peut être réalisée de manière efficace et efficiente. EJBCA La solution de gestion des certificats à l'échelle, combinée à cert-manager, garantit que votre service mesh Istio PKI est à la fois sécurisé et conforme. 

En suivant les étapes décrites dans ce guide, vous serez en mesure de mettre en place un site de confiance PKI, d'assurer une gestion transparente et solide des certificats et de collaborer efficacement avec votre équipe InfoSec pour maintenir la sécurité de votre maillage de services.  

Pour obtenir d'autres ressources et des informations plus détaillées sur les sujets abordés dans ce blog, n'hésitez pas à consulter les liens et les références fournis ci-dessous. 

Ressources

S'abonner à La Source

Stay secure with Keyfactor's monthly newsletter, packed with expert insights and practical steps for quantum-readiness.

Lire la suite

PKI

Cryptographie symétrique et cryptographie asymétrique : quelle est la différence et quand utiliser chacune d'elles ?

En savoir plus
PKI

Crypto-Agilité grand public et autres tendances émergentes en cryptographie : Partie 2

En savoir plus
PKI

5 raisons de moderniser votre infrastructure PKI

En savoir plus