Última hora: Keyfactor adquiere InfoSec Global y CipherInsights | Soluciones integrales para descubrimiento, control y agilidad

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

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

PKI

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. Preparación medioambiental: Utilizamos una configuración Istio multi-clúster MicroK8s, que consiste en un clúster primario y un clúster remoto. Ambos clústeres están configurados para trabajar con EJBCA como Autoridad de Certificación (CA) raíz.
  2. cert-manager Integración: Mostramos la integración de cert-manager con EJBCA, incluyendo la configuración del emisor personalizado EJBCA . cert-manager se encargará de la emisión y renovación de certificados.
  3. Renovación automática de certificados: Un reto clave en la gestión de PKI es garantizar que los certificados se renueven automáticamente antes de que caduquen. cert-manager, con EJBCA, puede lograr una renovación de certificados transparente y sin fisuras en todas las aplicaciones de todos los clústeres.

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 

Esta sección describe los pasos para configurar Istio en clústeres Kubernetes utilizando EJBCA como una Autoridad de Certificación (CA) externa. La configuración implica la configuración de dos clústeres MicroK8s con MetalLB para el equilibrio de carga, la integración de EJBCA para la gestión de certificados y la instalación de componentes de Istio utilizando Helm. La guía completa se puede encontrar aquí:

Los pasos clave incluyen: 

  1. Instalar y configurar repositorios Helm: Añada los repositorios Helm necesarios para Istio, cert-manager y EJBCA.
  2. Despliegue cert-manager y EJBCA: Instale cert-manager utilizando Helm en los clústeres primario y remoto, seguido del despliegue de EJBCA con un emisor personalizado. Este paso también incluye la generación y el almacenamiento de los certificados necesarios como secretos de Kubernetes.
  3. Configure Istio con EJBCA: Crear un Emisor personalizado en Kubernetes que apunte a la instancia EJBCA para la emisión de certificados. A continuación, este emisor se integra en la configuración de Istio.
  4. Instalar componentes Istio: Despliegue el cert-manager-istio-csr para gestionar las solicitudes de firma de certificados de Istio, seguido de la instalación de los componentes base de Istio, Istio CNI (Container Network Interface), Istiod (plano de control de Istio) y la pasarela de entrada de Istio.
  5. Personalización y anulaciones: Aplique valores personalizados para adaptar el comportamiento de Istio, como ID de clúster específicos, dominios de confianza y configuraciones de DNS para la comunicación segura entre servicios.
  6. Renovación automática de certificados: La instalación está configurada para que cert-manager renueve automáticamente los certificados antes de que caduquen, sin interrumpir las aplicaciones en ejecución.

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. Cumplimiento de la normativa: Asegúrese de que la implantación de su PKI cumple los requisitos normativos, como la Ley de Ciberresiliencia de la UE y la Orden Ejecutiva de EE.UU. sobre la Mejora de la Ciberseguridad de la Nación. Esto incluye implantar una arquitectura resistente, mantener registros de auditoría y garantizar prácticas sólidas de gestión de claves.
  2. Criptoagilidad y preparación cuántica: A medida que evolucionan los estándares criptográficos, su PKI debe ser lo suficientemente ágil como para adaptarse a nuevos algoritmos y longitudes de clave. Con la posible llegada de la computación cuántica, estar preparado para ella es cada vez más importante.
  3. Colaboración con InfoSec: La colaboración efectiva con su equipo de Seguridad de la Información (InfoSec) es crucial para mantener la seguridad y el cumplimiento de su PKI. Esto incluye revisiones periódicas de las políticas de seguridad, formación continua y garantizar que los procesos de gestión de la PKI se ajustan a los objetivos de seguridad de la organización.

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