SEC09-BP01 Implementieren einer sicheren Schlüssel- und Zertifikatverwaltung - Säule der Sicherheit

SEC09-BP01 Implementieren einer sicheren Schlüssel- und Zertifikatverwaltung

Transport Layer Security (TLS)-Zertifikate werden verwendet, um die Netzwerkkommunikation zu schützen und die Identität von Websites, Ressourcen und Workloads über das Internet sowie in privaten Netzwerken zu bestimmen.

Gewünschtes Ergebnis: Ein sicheres Zertifikatverwaltungssystem, das Zertifikate in einer Public-Key-Infrastruktur (PKI) bereitstellen, speichern und verlängern kann. Ein sicherer Schlüssel- und Zertifikatverwaltungsmechanismus verhindert die Offenlegung von Zertifikatdaten mit privaten Schlüsseln und erneuert das Zertifikat automatisch in regelmäßigen Abständen. Er lässt sich auch in andere Services integrieren, um eine sichere Netzwerkkommunikation und Identität für Computerressourcen innerhalb Ihrer Workload zu gewährleisten. Schlüsseldaten sollten niemals für menschliche Identitäten zugänglich sein.

Typische Anti-Muster:

  • Während der Bereitstellung oder Verlängerung von Zertifikaten werden manuelle Schritte ausgeführt.

  • Beim Entwerfen einer privaten Zertifizierungsstelle (Certificate Authority, CA) wird die Hierarchie der Zertifizierungsstelle nicht ausreichend beachtet.

  • Für öffentliche Ressourcen werden selbstsignierte Zertifikate verwendet.

Vorteile der Nutzung dieser bewährten Methode:

  • Die Zertifikatverwaltung wird durch automatisierte Bereitstellung und Verlängerung vereinfacht.

  • Die Verschlüsselung von Daten während der Übertragung mit TLS-Zertifikaten wird gefördert.

  • Sicherheit und Überprüfbarkeit der von der Zertifizierungsstelle ausgeführten Zertifikataktionen werden gesteigert.

  • Verwaltungsaufgaben werden auf verschiedenen Ebenen der CA-Hierarchie strukturiert.

Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Hoch

Implementierungsleitfaden

Moderne Workloads nutzen verschlüsselte Netzwerkkommunikation mithilfe von PKI-Protokollen wie TLS in großem Umfang. Die Verwaltung von PKI-Zertifikaten kann komplex sein. Eine automatisierte Bereitstellung und Verlängerung von Zertifikaten kann jedoch zu einer reibungsloseren Zertifikatverwaltung beitragen.

AWS bietet zwei Services zur Verwaltung universeller PKI-Zertifikate: AWS Certificate Manager und AWS Private Certificate Authority (AWS Private CA). ACM ist der primäre Service, den Kunden für die Bereitstellung und Verwaltung von Zertifikaten sowohl für öffentliche als auch für private AWS-Workloads verwenden. ACM stellt mithilfe von AWS Private CA private Zertifikate aus und kann in viele andere verwaltete AWS-Services integriert werden, um sichere TLS-Zertifikate für Workloads bereitzustellen. ACM kann auch über Amazon Trust Services öffentlich vertrauenswürdige Zertifikate ausstellen. Öffentliche AVM-Zertifikate können für öffentlich zugängliche Workloads verwendet werden, da moderne Browser und Betriebssysteme diesen Zertifikaten standardmäßig vertrauen.

AWS Private CA ermöglicht es Ihnen, Ihre eigene Stamm- oder untergeordnete Zertifizierungsstelle einzurichten und TLS-Zertifikate über eine API auszustellen. Sie können diese Art von Zertifikaten in Szenarien verwenden, in denen Sie die Vertrauenskette auf der Clientseite der TLS-Verbindung steuern und verwalten. Zusätzlich zu TLS-Anwendungsfällen kann AWS Private CA für die Ausstellung von Zertifikaten für Kubernetes-Pods, Matter-Geräteproduktbescheinigungen, Codesignaturen und andere Anwendungsfälle verwendet werden, und zwar mit einer benutzerdefinierten Vorlage. Sie können auch IAM Roles Anywhere verwenden, um temporäre IAM-Anmeldeinformationen für On-Premises-Workloads bereitzustellen, für die von Ihrer privaten CA signierte X.509-Zertifikate ausgestellt wurden.

Zusätzlich zu ACM und AWS Private CA bietet AWS IoT Core spezielle Unterstützung für die Bereitstellung und Verwaltung von PKI-Zertifikaten für IoT-Geräte. AWS IoT Core bietet spezielle Mechanismen für das groß angelegte Onboarding von IoT-Geräten in Ihre Public-Key-Infrastruktur.

Einige AWS-Services, wie Amazon API Gateway und Elastic Load Balancing, bieten eigene Funktionen für die Verwendung von Zertifikaten zum Schutz von Anwendungsverbindungen. Sowohl API Gateway als auch Application Load Balancer (ALB) unterstützen beispielsweise Mutual TLS (mTLS) über Client-Zertifikate, die Sie über die AWS Management Console, die CLI oder APIs erstellen und exportieren.

Überlegungen zur Einrichtung einer privaten CA-Hierarchie

Wenn Sie eine private Zertifizierungsstelle einrichten müssen, ist es wichtig, dass Sie besonders darauf achten, die CA-Hierarchie im Voraus richtig zu entwerfen. Es hat sich bewährt, beim Erstellen einer privaten CA-Hierarchie jede Ebene der Hierarchie in separaten AWS-Konten bereitzustellen. Dieser gezielte Schritt reduziert die Oberfläche für jede Ebene in der CA-Hierarchie, wodurch es einfacher wird, Anomalien in CloudTrail-Protokolldaten zu erkennen und den Umfang des Zugriffs oder die Auswirkungen eines unbefugten Zugriffs auf eines der Konten zu reduzieren. Die Stammzertifizierungsstelle sollte sich in einem eigenen separaten Konto befinden und nur zur Ausstellung eines oder mehrerer Zertifikate für eine Zwischenzertifizierungsstelle verwendet werden.

Erstellen Sie dann eine oder mehrere Zwischenzertifizierungsstellen in Konten, die vom Konto der Stammzertifizierungsstelle getrennt sind, um Zertifikate für Endbenutzer, Geräte oder andere Workloads auszustellen. Stellen Sie abschließend Zertifikate von Ihrer Stammzertifizierungsstelle an die Zwischenzertifizierungsstellen aus, die wiederum Zertifikate für die Endbenutzer oder Geräte ausstellen. Weitere Informationen zur Planung Ihrer CA-Bereitstellung und zum Entwerfen einer CA-Hierarchie, einschließlich Planung von Ausfallsicherheit, regionsübergreifender Replikation, gemeinsamer Nutzung von Zertifizierungsstellen in Ihrer Organisation und mehr, finden Sie unter Planen Ihrer AWS Private CA-Bereitstellung.

Implementierungsschritte

  1. Ermitteln Sie die relevanten AWS-Services, die für Ihren Anwendungsfall erforderlich sind:

    • In vielen Anwendungsfällen kann die bestehende Public-Key-Infrastruktur von AWS mithilfe von AWS Certificate Manager genutzt werden. ACM kann zur Bereitstellung von TLS-Zertifikaten für Webserver, Load Balancer oder für andere Zwecke für öffentlich vertrauenswürdige Zertifikate verwendet werden.

    • Ziehen Sie die Verwendung von AWS Private CA in Betracht, wenn Sie Ihre eigene private Zertifizierungsstellenhierarchie einrichten müssen oder Zugriff auf exportierbare Zertifikate benötigen. Mit ACM können dann viele Arten von Endentitätszertifikaten unter Verwendung der AWS Private CA ausgegeben werden.

    • Für Anwendungsfälle, in denen in großem Umfang Zertifikate für eingebettete IoT-Geräte (Internet of Things, Internet der Dinge) bereitgestellt werden müssen, empfiehlt sich gegebenenfalls die Verwendung von AWS IoT Core.

    • Ziehen Sie die Verwendung nativer mTLS-Funktionen in Services wie Amazon API Gateway oder Application Load Balancer in Betracht.

  2. Implementieren Sie nach Möglichkeit eine automatisierte Zertifikatverlängerung:

  3. Richten Sie Protokollierung und Audit Trails ein:

    • Aktivieren Sie CloudTrail-Protokolle, um Zugriffe auf die Konten zu verfolgen, die Zertifizierungsstellen enthalten. Erwägen Sie, die Integritätsprüfung der Protokolldatei in CloudTrail zu konfigurieren, um die Authentizität der Protokolldaten zu überprüfen.

    • Generieren und überprüfen Sie regelmäßig Auditberichte, in denen die Zertifikate aufgeführt werden, die Ihre private CA ausgestellt oder widerrufen hat. Diese Berichte können in einen S3-Bucket exportiert werden.

    • Wenn Sie eine private CA bereitstellen, müssen Sie auch einen S3-Bucket einrichten, um die CRL (Certificate Revocation List, Zertifikatsperrliste) zu speichern. Anleitungen zur Konfiguration dieses S3-Buckets basierend auf den Anforderungen Ihrer Workload finden Sie unter Planung einer Zertifikatsperrliste (CRL).

Ressourcen

Zugehörige bewährte Methoden:

Zugehörige Dokumente:

Zugehörige Videos:

Zugehörige Beispiele:

Zugehörige Tools: