Multi-Cluster PKI + Istio-Rezept: Praktisches Beispiel für eine vertrauenswürdige und skalierbare PKI für Ihr Service Mesh
Dieser Artikel wurde gemeinsam verfasst von Cristofer Ten Eyck, Senior Solution Engineer bei Keyfactor und Jimmy Song, Developer Advocate bei Tetrate
In der sich entwickelnden Landschaft von Cloud-nativen Anwendungen ist die Sicherung von Service-Meshes über mehrere Cluster hinweg entscheidend für die Gewährleistung von Sicherheit und Compliance.
Istio, ein führendes open-source Service-Mesh, bietet Tools zur Sicherung der Kommunikation zwischen Microservices. Die Implementierung einer robusten und skalierbaren Public-Key-Infrastruktur (PKI) zur Verwaltung von Zertifikaten in dieser Umgebung bleibt jedoch eine große Herausforderung.
In diesem Blog befassen wir uns mit der Implementierung einer PKI-Lösung unter Verwendung der EJBCA open-source PKI für ein Istio-Service-Mesh, das mehrere Cluster umfasst. Wir konzentrieren uns auf die Einrichtung von EJBCA, die Konfiguration des externen Zertifikatsausstellers cert-manager EJBCA und die automatische Zertifikatserneuerung für Ihre Istio-Workloads. Dieser Leitfaden hilft Ihnen beim Aufbau einer vertrauenswürdigen und skalierbaren PKI, die sichere, konforme und widerstandsfähige Service Meshes ermöglicht.
Warum Multicluster? Multicluster-Bereitstellungen werden immer beliebter, da Unternehmen ihre Kubernetes-Infrastruktur erweitern. Istio-Setups mit mehreren Clustern bieten eine verbesserte Verfügbarkeit, Fehlertoleranz und Isolierung von Arbeitslasten über Cluster hinweg.
Verständnis der PKI und ihrer Rolle in Service Meshes
PKI ist ein Eckpfeiler der modernen digitalen Sicherheit. Sie umfasst die Verwaltung von Schlüsseln und Zertifikaten, um eine sichere Kommunikation zwischen Entitäten zu gewährleisten, seien es Benutzer, Anwendungen oder Dienste. Im Kontext eines Service-Meshes wie Istio ist eine effektive PKI für die Sicherung der Kommunikation zwischen Microservices unerlässlich, insbesondere in Multi-Cluster-Umgebungen.
EJBCA bietet eine open-source Lösung für die Verwaltung einer PKI im großen Maßstab. Im Vergleich zu anderen Optionen wie OpenSSL oder der integrierten PKI von Istio bietet EJBCA eine voll funktionsfähige PKI für Unternehmen, die sich für einfache bis hin zu komplexeren und vielseitigen Implementierungen eignet. EJBCADie Fähigkeiten der PKI gehen über das Ausstellen von mTLS-Zertifikaten hinaus und bieten Compliance-Funktionen, sichere Skalierbarkeit, Krypto-Flexibilität und die Integration in eine Vielzahl von Anwendungen.
Istio, EJBCA und cert-manager
Einrichten einer PKI für eine Multicluster-Istio-Umgebung mit EJBCA. Hier ist alles enthalten:
- 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).
- 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.
- 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.
Architektur-Setup mit Istio unter Verwendung von EJBCA als externe CA, eine Zusammenfassung auf höchster Ebene
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:
Die wichtigsten Schritte sind:
- Install and Configure Helm Repositories: Add necessary Helm repositories for Istio, cert-manager, and EJBCA.
- 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.
- 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.
- 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.
- 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.
- Automatic Certificate Renewal: The setup is configured so that cert-manager automatically renews certificates before they expire, with no disruption to the running applications.

Oben sehen Sie das Flussdiagramm, das den Prozess der Ausstellung und Erneuerung von mTLS-Zertifikaten in Istio darstellt. Es veranschaulicht den Fluss von der Istiod-Kontrollebene, die die Envoy-Konfiguration vorantreibt, bis zur endgültigen Ausstellung des Zertifikats durch EJBCA.
Bewährte PKI-Praktiken und Konformität
Der Aufbau einer sicheren PKI für Ihr Istio-Service-Mesh umfasst mehr als nur die Einrichtung einer PKI und die Ausstellung von Zertifikaten. Es erfordert die Einhaltung von Best Practices und Vorschriften, um sicher und zukunftssicher zu sein. Hier sind einige wichtige Punkte zu beachten:
- 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.
- 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.
- 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.
Sichere Zertifikatsverwaltung erreichen
Die Implementierung einer PKI für ein Istio Service Mesh in einer Multicluster-Umgebung kann entmutigend erscheinen, aber mit den richtigen Tools und Praktiken kann sie effizient und effektiv durchgeführt werden. EJBCA In Kombination mit cert-manager bietet die PKI von Istio eine Lösung für die Verwaltung von Zertifikaten im großen Maßstab, die sicherstellt, dass Ihre PKI für das Istio Service Mesh sowohl sicher als auch konform ist.
Wenn Sie die in diesem Leitfaden beschriebenen Schritte befolgen, werden Sie in der Lage sein, eine vertrauenswürdige PKI einzurichten, eine nahtlose und robuste Zertifikatsverwaltung zu erreichen und effektiv mit Ihrem InfoSec-Team zusammenzuarbeiten, um die Sicherheit Ihres Servicenetzes zu gewährleisten.
Weitere Ressourcen und detailliertere Informationen zu den in diesem Blog behandelten Themen finden Sie unter den unten aufgeführten Links und Referenzen.
Ressourcen
- Tutorial - Einsatz von Istio Service Mesh in einer Multi-Cluster-Kubernetes-Umgebung mit EJBCA als externem PKI-Anbieter
- Istio-Dokumentation
- EJBCA Gemeinschaftsausgabe
- cert-manager Dokumentation
- EU-Gesetz zur Cyber-Resilienz
- US-Exekutivanordnung zur Cybersicherheit
- Nahtlose Cross-Cluster-Konnektivität für Multicluster-Istio-Service-Mesh-Einsätze
Die Quelle abonnieren
Stay secure with Keyfactor's monthly newsletter, packed with expert insights and practical steps for quantum-readiness.