Keyfactor Days 2027: participa en la conferencia sobre seguridad y confianza que se celebrará en San Diego ¡Inscríbete ya!

Receta Multi-Cluster PKI + Istio: Ejemplo práctico para una PKI fiable y escalable para su malla de servicios

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

Este artículo ha sido redactado conjuntamente por Cristofer Ten Eyck, Senior Solution Engineer en Keyfactor y Jimmy Song, Developer Advocate en Tetrate.

En el cambiante panorama de las aplicaciones nativas de la nube, la seguridad de las mallas de servicios en varios clústeres es crucial para garantizar tanto la seguridad como el cumplimiento de las normativas.

Istio, una malla de servicios líder de open-source , proporciona herramientas para asegurar la comunicación entre microservicios. Sin embargo, implementar una Infraestructura de Clave Pública (PKI) robusta y escalable para gestionar certificados dentro de este entorno sigue siendo un reto importante. 

En este blog, profundizaremos en la implementación de una solución PKI utilizando EJBCA open-source PKI para una malla de servicios Istio que abarque múltiples clústeres. Nos centraremos en el proceso de configuración de EJBCA, la configuración del emisor externo de cert-manager EJBCA y la renovación automática de certificados para las cargas de trabajo de Istio. Esta guía le ayudará a construir una PKI de confianza y escalable, permitiendo mallas de servicio seguras, conformes y resistentes. 

¿Por qué multiclústeres? Las implementaciones multiclúster son cada vez más populares a medida que las organizaciones amplían su infraestructura de Kubernetes. Las configuraciones multiclúster de Istio proporcionan una mayor disponibilidad, tolerancia a fallos y aislamiento de las cargas de trabajo entre clústeres.

Comprender la PKI y su papel en las mallas de servicios 

La PKI es la piedra angular de la seguridad digital moderna. Implica la gestión de claves y certificados para garantizar una comunicación segura entre entidades, ya sean usuarios, aplicaciones o servicios. En el contexto de una malla de servicios como Istio, una PKI eficaz es esencial para asegurar las comunicaciones entre microservicios, especialmente en entornos multiclúster. 

EJBCA ofrece una solución open-source para gestionar PKI a escala. En comparación con otras opciones como OpenSSL o la PKI integrada de Istio, EJBCA proporciona una PKI completa y de nivel empresarial que se adapta bien a implantaciones sencillas o más complejas y polivalentes. EJBCALas capacidades de van más allá de la mera emisión de certificados mTLS, ofreciendo funciones de conformidad, escalabilidad segura, agilidad criptográfica e integración con una amplia gama de aplicaciones. 

Istio, EJBCA y cert-manager  

Configuración de una PKI para un entorno Istio multiclúster utilizando EJBCA. Esto es lo que se incluye:

  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.
Configuración de la arquitectura con Istio utilizando EJBCA como CA externa

Configuración de la arquitectura con Istio utilizando EJBCA como CA externa, un resumen de alto nivel 

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:

Los pasos clave incluyen: 

  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. 
diagrama de flujo que representa el proceso de emisión y renovación de certificados mTLS en Istio

Arriba se muestra el diagrama de flujo que representa el proceso de emisión y renovación de certificados mTLS en Istio. Ilustra el flujo desde el plano de control de Istio que envía la configuración de Envoy hasta la emisión final del certificado por parte de EJBCA. 

Mejores prácticas y cumplimiento de la PKI 

Construir una PKI segura para su malla de servicios Istio implica algo más que configurar cualquier PKI y empezar a emitir certificados. Requiere adherirse a las mejores prácticas y cumplir la normativa para mantenerse seguro y preparado para el futuro. He aquí algunos puntos clave a tener en cuenta: 

  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. 

Gestión segura de certificados

La implementación de una PKI para una malla de servicios Istio en un entorno multiclúster puede parecer desalentadora, pero con las herramientas y prácticas adecuadas, se puede lograr de manera eficiente y eficaz. EJBCA En combinación con cert-manager, Istio ofrece una solución para gestionar certificados a escala, garantizando que la PKI de su malla de servicios Istio sea segura y conforme. 

Siguiendo los pasos descritos en esta guía, podrá configurar una PKI de confianza, conseguir una gestión de certificados sólida y sin fisuras y colaborar eficazmente con su equipo de InfoSec para mantener la seguridad de su malla de servicios.  

Para obtener más recursos e información más detallada sobre los temas tratados en este blog, no deje de consultar los enlaces y referencias que se ofrecen a continuación. 

Recursos

Suscríbase a The Source

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

Continuar leyendo

PKI

Criptografía simétrica frente a criptografía asimétrica: ¿cuál es la diferencia y cuándo se debe utilizar cada una?

Leer más
SSL Stripping Attacks
Certificados SSL/TLS

¿Qué son los ataques de SSL Stripping?

Leer más
boy listening to tin can with strings attached
Gestión de identidades de máquinas

¿Qué es un ataque Man-in-the-Middle?

Leer más