Bewährte Methoden - AWS Certificate Manager

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Bewährte Methoden

Bewährte Methoden sind Empfehlungen, die Ihnen helfen können, AWS Certificate Manager (AWS Certificate Manager) effektiver zu nutzen. Die folgenden bewährten Methoden basieren auf praktischen Erfahrungen aktueller ACM-Kunden.

Trennung auf Kontoebene

Verwenden Sie die Trennung auf Kontoebene in Ihren Richtlinien, um zu kontrollieren, wer auf Kontoebene auf Zertifikate zugreifen kann. Bewahren Sie Ihre Produktionszertifikate in separaten Konten auf als Ihre Test- und Entwicklungszertifikate. Wenn Sie die Trennung auf Kontoebene nicht verwenden können, können Sie den Zugriff auf bestimmte Rollen einschränken, indem Sie in Ihren Richtlinien kms:CreateGrant Aktionen verweigern. Dadurch wird eingeschränkt, welche Rollen in einem Konto Zertifikate auf hoher Ebene signieren können. Informationen zu Zuschüssen, einschließlich der Terminologie von Zuschüssen, finden Sie AWS KMS im AWS Key Management Service Entwicklerhandbuch unter Zuschüsse.

Wenn Sie eine detailliertere Steuerung wünschen, als die Verwendung kms:CreateGrant von nach Konto zu beschränken, können Sie sich mithilfe der KMS: EncryptionContext -Bedingungsschlüssel kms:CreateGrant auf bestimmte Zertifikate beschränken. Geben Sie arn:aws:acm als Schlüssel den Wert des ARN an, der eingeschränkt werden soll. Die folgende Beispielrichtlinie verhindert die Verwendung eines bestimmten Zertifikats, erlaubt aber andere.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Deny", "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:acm:arn": "arn:aws:acm:us-east-1:111122223333:certificate/b26def74-1234-4321-9876-951d4c07b197" } } } ] }

AWS CloudFormation

Mit können AWS CloudFormation Sie eine Vorlage erstellen, die die AWS Ressourcen beschreibt, die Sie verwenden möchten. AWS CloudFormation stellt diese Ressourcen dann für Sie bereit und konfiguriert sie. AWS CloudFormation kann Ressourcen bereitstellen, die von ACM unterstützt werden, wie Elastic Load Balancing CloudFront, Amazon und Amazon API Gateway. Weitere Informationen finden Sie unter Dienste, die integriert sind mit AWS Certificate Manager.

Wenn Sie AWS CloudFormation mehrere Testumgebungen schnell erstellen und löschen, empfehlen wir, nicht für jede Umgebung ein separates ACM-Zertifikat zu erstellen. Dadurch wird Ihr Zertifikatkontingent schnell ausgeschöpft. Weitere Informationen finden Sie unter Kontingente. Erstellen Sie stattdessen ein Platzhalter-Zertifikat für alle Domainnamen, die Sie für das Testen verwenden. Wenn Sie beispielsweise wiederholt ACM-Zertifikate für Domainnamen erstellen, die sich nur durch eine Versionsnummer unterscheiden, z. B. <version>.service.example.com, erstellen Sie stattdessen ein einzelnes Platzhalterzertifikat für <*>.service.example.com. Fügen Sie das Platzhalterzertifikat in die Vorlage ein, mit AWS CloudFormation der Sie Ihre Testumgebung erstellen.

Zertifikat-Pinning

Zertifikat-Pinning, auch bekannt als SSL-Pinning, ist ein Prozess, den Sie in Ihrer Anwendung verwenden können, um einen Remote-Host zu validieren, indem Sie diesen Host direkt seinem X.509-Zertifikat oder öffentlichen Schlüssel und nicht mit einer Zertifikatshierarchie zuordnen. Die Anwendung verwendet deshalb Pinning, um die Validierung der SSL-/TLS-Zertifikatkette zu umgehen. Beim typischen SSL-Validierungsprozess werden Signaturen in der Zertifikatkette, vom Zertifikat der Stammzertifizierungsstelle (CA) bis zu den untergeordneten CA-Zertifikaten, falls vorhanden, überprüft. Außerdem überprüft er das Zertifikat für den Remote-Host unten in der Hierarchie. Ihre Anwendung kann stattdessen an das Zertifikat für den Remote-Host pinnen, um zu vermitteln, dass nur das Zertifikat und nicht das Stammzertifikat oder ein anderes in der Kette vertrauenswürdig ist. Sie können Ihrer Anwendung während der Entwicklung das Zertifikat oder den öffentlichen Schlüssel des Remote-Hosts hinzufügen. Alternativ kann die Anwendung das Zertifikat oder den Schlüssel hinzufügen, wenn sie zum ersten Mal eine Verbindung mit dem Host einrichtet.

Warnung

Wir empfehlen, dass Ihre Anwendung nicht ein ACM-Zertifikat pinnt. ACM führt Verwaltete Verlängerung von ACM Zertifikaten zum automatischen Erneuern Ihrer von Amazon ausgestellten SSL-/TLS-Zertifikate aus, bevor sie ablaufen. Zur Erneuerung eines Zertifikats generiert ACM ein neues öffentlich-privates Schlüsselpaar. Wenn Ihre Anwendung das ACM-Zertifikat anheftet und das Zertifikat erfolgreich mit einem neuen öffentlichen Schlüssel erneuert wird, kann die Anwendung möglicherweise keine Verbindung zu Ihrer Domain herstellen.

Wenn Sie sich entscheiden, ein Zertifikat zu pinnen, hindern die folgenden Optionen Ihre Anwendung nicht daran, eine Verbindung zu Ihrer Domain herzustellen:

  • Importieren Sie Ihr Zertifikat in ACM und pinnen Sie dann Ihre Anwendung an das importierte Zertifikat. ACM versucht nicht, importierte Zertifikate automatisch zu erneuern.

  • Wenn Sie ein öffentliches Zertifikat verwenden, heften Sie Ihre Anwendung an alle verfügbaren Amazon-Stammzertifikate an. Wenn Sie ein privates Zertifikat verwenden, heften Sie Ihre Anwendung an das Stammzertifikat der Zertifizierungsstelle an.

Domainvalidierung

Bevor die Amazon Certificate Authority (CA) ein Zertifikat für Ihre Site ausstellen kann, muss AWS Certificate Manager (ACM) verifizieren, dass Sie Eigentümer aller Domains sind oder diese kontrollieren, die Sie in Ihrer Anfrage angegeben haben. Sie können die Verifizierung per E-Mail oder DNS durchführen. Weitere Informationen finden Sie unter DNSValidierung und E-Mail-Validierung.

Hinzufügen oder Löschen von Domainnamen

Sie können keine Domainnamen zu einem vorhandenen ACM-Zertifikat hinzufügen oder daraus entfernen. Stattdessen müssen Sie ein neues Zertifikat mit der überarbeiteten Liste der Domainnamen anfordern. Beispiel: Wenn Ihr Zertifikat fünf Domainnamen hat und Sie vier weitere hinzufügen möchten, müssen Sie ein neues Zertifikat mit allen neun Domainnamen anfordern. Wie bei jedem neuen Zertifikat müssen Sie den Besitz aller Domainnamen in der Anforderung validieren, einschließlich der Namen, die Sie zuvor für das ursprüngliche Zertifikat validiert haben.

Wenn Sie eine E-Mail-Validierung verwenden, erhalten Sie für jede Domain bis zu 8 Validierungs-E-Mails, wobei mindestens eine innerhalb von 72 Stunden bearbeitet werden muss. Wenn Sie beispielsweise ein Zertifikat mit fünf Domainnamen anfordern, erhalten Sie bis zu 40 Validierungsnachrichten, wobei mindestens fünf innerhalb von 72 Stunden bearbeitet werden müssen. Da die Anzahl der Domainnamen in der Zertifikatsanforderung steigt, steigt auch der Arbeitsaufwand für die Validierung des Besitzes der Domain per E-Mail.

Wenn Sie stattdessen die DNS-Validierung verwenden, müssen Sie einen neuen DNS-Datensatz für den FQDN, den Sie validieren möchten, in die Datenbank schreiben. ACM sendet Ihnen den zu erstellenden Datensatz sowie später Abfragen für die Datenbank, um festzustellen, ob der Datensatz hinzugefügt wurde. Das Hinzufügen des Datensatzes garantiert, dass Sie die Domain besitzen oder kontrollieren. Wenn Sie im obigen Beispiel ein Zertifikat mit fünf Domainnamen anfordern, müssen Sie fünf DNS-Datensätze erstellen. Wir empfehlen Ihnen, nach Möglichkeit die DNS-Validierung zu verwenden.

Abmelden von der Protokollierung für Zertifikatstransparenz

Wichtig

Unabhängig davon, welche Maßnahmen Sie ergreifen, um die Protokollierung der Zertifikattransparenz zu deaktivieren, kann Ihr Zertifikat weiterhin von jedem Client oder jeder Person protokolliert werden, die Zugriff auf den öffentlichen oder privaten Endpunkt haben, an den Sie das Zertifikat binden. Das Zertifikat enthält jedoch keinen signierten Zertifikatzeitstempel (SCT). Nur die ausstellende Zertifizierungsstelle kann einen SCT in ein Zertifikat einbetten.

Seit dem 30. April 2018 hat Google Chrome das Vertrauen in öffentliche SSL-/TLS-Zertifikate eingestellt, die nicht in einem Zertifikatstransparenzprotokoll gespeichert sind. Daher begann die Amazon CA ab dem 24. April 2018 mit der Veröffentlichung aller neuen Zertifikate und Verlängerungen in mindestens zwei öffentlichen Protokollen. Ein einmal protokolliertes Zertifikat kann nicht mehr entfernt werden. Weitere Informationen finden Sie unter Protokollierung der Zertifikatstransparenz.

Die Protokollierung wird automatisch durchgeführt, wenn Sie ein Zertifikat anfordern oder wenn ein Zertifikat erneuert wird, aber Sie können sich dafür entscheiden, sie zu deaktivieren. Häufige Gründe dafür sind die Sorge um die Sicherheit und der Schutz der Privatsphäre. Beispielsweise gibt die Protokollierung interner Host-Domainnamen potenziellen Angreifern Informationen über interne Netzwerke, die ansonsten nicht öffentlich wären. Darüber hinaus könnte die Protokollierung die Namen neuer oder unveröffentlichter Produkte und Websites durchsickern lassen.

Um die Transparenzprotokollierung zu deaktivieren, wenn Sie ein Zertifikat anfordern, verwenden Sie den options Parameter des AWS CLI Befehls request-certificate oder den RequestCertificateAPI-Vorgang. Wenn Ihr Zertifikat vor dem 24. April 2018 ausgestellt wurde und Sie sicherstellen möchten, dass es bei der Verlängerung nicht protokolliert wird, können Sie den update-certificate-optionsBefehl oder den UpdateCertificateOptionsAPI-Vorgang verwenden, um sich abzumelden.

Einschränkungen
  • Sie können die -Protokollierung nicht aktivieren oder deaktivieren.

  • Sie können den Protokollierungsstatus nicht ändern, nachdem ein Zertifikat seinen Verlängerungszeitraum eingegeben hat, normalerweise 60 Tage vor Ablauf des Zertifikats. Wenn eine Statusänderung fehlschlägt, wird keine Fehlermeldung generiert.

Ein einmal protokolliertes Zertifikat kann nicht mehr aus dem Protokoll entfernt werden. Ein Abmelden in diesem Zustand hat keine Wirkung. Wenn Sie sich bei der Anforderung eines Zertifikats von der Protokollierung abmelden und dann später wieder anmelden, wird Ihr Zertifikat erst dann protokolliert, wenn es erneuert wird. Wenn Sie möchten, dass das Zertifikat sofort protokolliert wird, empfehlen wir Ihnen, ein neues auszustellen.

Das folgende Beispiel zeigt Ihnen, wie Sie die Zertifikatstransparenz mit dem Befehl request-certificate deaktivieren, wenn Sie ein neues Zertifikat anfordern.

aws acm request-certificate \ --domain-name www.example.com \ --validation-method DNS \ --options CertificateTransparencyLoggingPreference=DISABLED \

Der vorhergehende Befehl gibt den ARN Ihres neuen Zertifikats aus.

{ "CertificateArn": "arn:aws:acm:region:account:certificate/certificate_ID" }

Wenn Sie bereits über ein Zertifikat verfügen und nicht möchten, dass es bei der Verlängerung protokolliert wird, verwenden Sie den update-certificate-optionsBefehl. Dieser Befehl gibt keinen Wert zurück.

aws acm update-certificate-options \ --certificate-arn arn:aws:acm:region:account:\ certificate/certificate_ID \ --options CertificateTransparencyLoggingPreference=DISABLED

Einschalten AWS CloudTrail

Schalten Sie die CloudTrail Protokollierung ein, bevor Sie ACM verwenden. CloudTrail ermöglicht es Ihnen, Ihre AWS Bereitstellungen zu überwachen, indem Sie einen Verlauf der AWS API-Aufrufe für Ihr Konto abrufen, einschließlich API-Aufrufen, die über die AWS Management Console, die AWS SDKs, Amazon Web Services und übergeordnete Amazon AWS Command Line Interface Web Services getätigt wurden. Sie können auch feststellen, welche Benutzer und Konten die ACM-APIs aufgerufen haben, die Quell-IP-Adresse, von der diese Aufrufe stammen, sowie den Zeitpunkt der Aufrufe. Sie können sie mithilfe der API CloudTrail in Anwendungen integrieren, die Erstellung von Trails für Ihr Unternehmen automatisieren, den Status Ihrer Trails überprüfen und kontrollieren, wie Administratoren die Anmeldung ein- und ausschalten CloudTrail . Weitere Informationen finden Sie unter Erstellen eines Trails. Beispiel-Trails für ACM Aktionen finden Sie unter Wird mit verwendet CloudTrail AWS Certificate Manager.