Planung einer Zertifikatssperrliste (CRL) - AWS Private Certificate Authority

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.

Planung einer Zertifikatssperrliste (CRL)

Bevor Sie im Rahmen der Erstellung einer Zertifizierungsstelle eine CRL konfigurieren können, sind möglicherweise einige Einrichtungsschritte erforderlich. In diesem Abschnitt werden die Voraussetzungen und Optionen erläutert, mit denen Sie vertraut sein sollten, bevor Sie eine Zertifizierungsstelle mit angehängter CRL erstellen.

Informationen zur Verwendung des Online Certificate Status Protocol (OCSP) als Alternative oder Ergänzung zu einer CRL finden Sie unter und. Optionen zum Widerruf von Zertifikaten Konfiguration einer benutzerdefinierten URL für OCSP AWS Private CA

CRL-Struktur

Jede CRL ist eine DER-codierte Datei. Verwenden Sie einen Befehl, der dem folgenden ähnelt, um die Datei herunterzuladen und mit OpenSSL anzuzeigen:

openssl crl -inform DER -in path-to-crl-file -text -noout

Zertifikatsperrlisten haben das folgende Format:

Certificate Revocation List (CRL): Version 2 (0x1) Signature Algorithm: sha256WithRSAEncryption Issuer: /C=US/ST=WA/L=Seattle/O=Example Company CA/OU=Corporate/CN=www.example.com Last Update: Feb 26 19:28:25 2018 GMT Next Update: Feb 26 20:28:25 2019 GMT CRL extensions: X509v3 Authority Key Identifier: keyid:AA:6E:C1:8A:EC:2F:8F:21:BC:BE:80:3D:C5:65:93:79:99:E7:71:65 X509v3 CRL Number: 1519676905984 Revoked Certificates: Serial Number: E8CBD2BEDB122329F97706BCFEC990F8 Revocation Date: Feb 26 20:00:36 2018 GMT CRL entry extensions: X509v3 CRL Reason Code: Key Compromise Serial Number: F7D7A3FD88B82C6776483467BBF0B38C Revocation Date: Jan 30 21:21:31 2018 GMT CRL entry extensions: X509v3 CRL Reason Code: Key Compromise Signature Algorithm: sha256WithRSAEncryption 82:9a:40:76:86:a5:f5:4e:1e:43:e2:ea:83:ac:89:07:49:bf: c2:fd:45:7d:15:d0:76:fe:64:ce:7b:3d:bb:4c:a0:6c:4b:4f: 9e:1d:27:f8:69:5e:d1:93:5b:95:da:78:50:6d:a8:59:bb:6f: 49:9b:04:fa:38:f2:fc:4c:0d:97:ac:02:51:26:7d:3e:fe:a6: c6:83:34:b4:84:0b:5d:b1:c4:25:2f:66:0a:2e:30:f6:52:88: e8:d2:05:78:84:09:01:e8:9d:c2:9e:b5:83:bd:8a:3a:e4:94: 62:ed:92:e0:be:ea:d2:59:5b:c7:c3:61:35:dc:a9:98:9d:80: 1c:2a:f7:23:9b:fe:ad:6f:16:7e:22:09:9a:79:8f:44:69:89: 2a:78:ae:92:a4:32:46:8d:76:ee:68:25:63:5c:bd:41:a5:5a: 57:18:d7:71:35:85:5c:cd:20:28:c6:d5:59:88:47:c9:36:44: 53:55:28:4d:6b:f8:6a:00:eb:b4:62:de:15:56:c8:9c:45:d7: 83:83:07:21:84:b4:eb:0b:23:f2:61:dd:95:03:02:df:0d:0f: 97:32:e0:9d:38:de:7c:15:e4:36:66:7a:18:da:ce:a3:34:94: 58:a6:5d:5c:04:90:35:f1:8b:55:a9:3c:dd:72:a2:d7:5f:73: 5a:2c:88:85
Anmerkung

Die CRL wird erst in Amazon S3 hinterlegt, nachdem ein Zertifikat ausgestellt wurde, das darauf verweist. Zuvor war nur eine acm-pca-permission-test-key Datei im Amazon S3 S3-Bucket sichtbar.

Zugriffsrichtlinien für CRLs in Amazon S3

Wenn Sie eine CRL erstellen möchten, müssen Sie einen Amazon S3 S3-Bucket vorbereiten, in dem sie gespeichert werden kann. AWS Private CA hinterlegt die CRL automatisch in dem von Ihnen Amazon S3 S3-Bucket und aktualisiert sie regelmäßig. Weitere Informationen finden Sie unter Bucket erstellen.

Ihr S3-Bucket muss durch eine beigefügte IAM-Berechtigungsrichtlinie gesichert sein. Autorisierte Benutzer und Dienstprinzipale benötigen die Put Erlaubnis, Objekte im Bucket platzieren AWS Private CA zu dürfen, und die Get Erlaubnis, sie abzurufen. Während des Konsolenvorgangs zum Erstellen einer CA können Sie festlegen, dass ein neuer Bucket AWS Private CA erstellt und eine Standardberechtigungsrichtlinie angewendet wird.

Anmerkung

Die Konfiguration der IAM-Richtlinie hängt von den AWS-Regionen beteiligten Personen ab. Regionen lassen sich in zwei Kategorien einteilen:

  • Standardmäßig aktivierte Regionen — Regionen, die standardmäßig für alle aktiviert sind. AWS-Konten

  • Standardmäßig deaktivierte Regionen — Regionen, die standardmäßig deaktiviert sind, aber vom Kunden manuell aktiviert werden können.

Weitere Informationen und eine Liste der standardmäßig deaktivierten Regionen finden Sie unter Verwalten. AWS-Regionen Eine Erläuterung von Service Principals im Kontext von IAM finden Sie unter AWS Service Principals in Opt-in-Regionen.

Wenn Sie CRLs als Methode zum Widerruf von Zertifikaten konfigurieren, AWS Private CA wird eine CRL erstellt und in einem S3-Bucket veröffentlicht. Für den S3-Bucket ist eine IAM-Richtlinie erforderlich, die es dem AWS Private CA Dienstprinzipal ermöglicht, in den Bucket zu schreiben. Der Name des Service Principal variiert je nach den verwendeten Regionen, und es werden nicht alle Möglichkeiten unterstützt.

PCA S3 Dienstauftraggeber

Beide in derselben Region

acm-pca.amazonaws.com

Aktiviert

Enabled

acm-pca.amazonaws.com

Disabled Aktiviert

acm-pca.Region.amazonaws.com

Enabled Disabled

Nicht unterstützt

Die Standardrichtlinie gilt SourceArn nicht für die CA. Wir empfehlen, dass Sie die unten dargestellte, weniger freizügige Richtlinie manuell anwenden, die den Zugriff sowohl auf ein bestimmtes AWS Konto als auch auf eine bestimmte private Zertifizierungsstelle einschränkt. Weitere Informationen finden Sie unter Hinzufügen einer Bucket-Richtlinie mithilfe der Amazon S3 S3-Konsole.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "s3:PutObject", "s3:PutObjectAcl", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ], "Condition":{ "StringEquals":{ "aws:SourceAccount":"account", "aws:SourceArn":"arn:partition:acm-pca:region:account:certificate-authority/CA_ID" } } } ] }

Wenn Sie sich dafür entscheiden, die Standardrichtlinie zuzulassen, können Sie sie später jederzeit ändern.

Aktivieren von S3 Block Public Access (BPA) mit CloudFront

Neue Amazon S3 S3-Buckets werden standardmäßig mit aktivierter Funktion Block Public Access (BPA) konfiguriert. BPA gehört zu den bewährten Sicherheitsmethoden von Amazon S3 und ist eine Reihe von Zugriffskontrollen, mit denen Kunden den Zugriff auf Objekte in ihren S3-Buckets und auf die Buckets insgesamt optimieren können. Wenn BPA aktiv und korrekt konfiguriert ist, haben nur autorisierte und authentifizierte AWS Benutzer Zugriff auf einen Bucket und seinen Inhalt.

AWS empfiehlt die Verwendung von BPA für alle S3-Buckets, um zu verhindern, dass vertrauliche Informationen potenziellen Gegnern zugänglich gemacht werden. Zusätzliche Planung ist jedoch erforderlich, wenn Ihre PKI-Clients CRLs über das öffentliche Internet abrufen (d. h., wenn Sie nicht bei einem Konto angemeldet sind). AWS In diesem Abschnitt wird beschrieben, wie Sie eine private PKI-Lösung mithilfe von Amazon CloudFront, einem Content Delivery Network (CDN), konfigurieren, um CRLs bereitzustellen, ohne dass ein authentifizierter Client-Zugriff auf einen S3-Bucket erforderlich ist.

Anmerkung

Bei der Nutzung CloudFront fallen zusätzliche Kosten für Ihr Konto an. AWS Weitere Informationen finden Sie unter CloudFront Amazon-Preise.

Wenn Sie Ihre CRL in einem S3-Bucket mit aktiviertem BPA speichern und diese nicht verwenden, müssen Sie eine weitere CDN-Lösung entwickeln CloudFront, um sicherzustellen, dass Ihr PKI-Client Zugriff auf Ihre CRL hat.

Amazon S3 mit BPA einrichten

Erstellen Sie in S3 wie gewohnt einen neuen Bucket für Ihre CRL und aktivieren Sie dann BPA darin.

So konfigurieren Sie einen Amazon S3 S3-Bucket, der den öffentlichen Zugriff auf Ihre CRL blockiert
  1. Erstellen Sie einen neuen S3-Bucket wie unter Bucket erstellen beschrieben. Wählen Sie während des Vorgangs die Option Allen öffentlichen Zugriff blockieren aus.

    Weitere Informationen finden Sie unter Sperren des öffentlichen Zugriffs auf Ihren Amazon S3 S3-Speicher.

  2. Wenn der Bucket erstellt wurde, wählen Sie seinen Namen aus der Liste aus, navigieren Sie zur Registerkarte „Berechtigungen“, wählen Sie im Bereich „Objekteigentümer“ die Option „Bearbeiten“ und wählen Sie „Bevorzugter Bucket-Besitzer“ aus.

  3. Fügen Sie dem Bucket ebenfalls auf der Registerkarte „Berechtigungen“ eine IAM-Richtlinie hinzu, wie unter beschriebenZugriffsrichtlinien für CRLs in Amazon S3 .

CloudFront Für BPA einrichten

Erstellen Sie eine CloudFront Distribution, die Zugriff auf Ihren privaten S3-Bucket hat und CRLs für nicht authentifizierte Clients bereitstellen kann.

Um eine CloudFront Distribution für die CRL zu konfigurieren
  1. Erstellen Sie eine neue CloudFront Distribution, indem Sie das Verfahren unter Creating a Distribution im Amazon CloudFront Developer Guide verwenden.

    Wenden Sie beim Abschluss des Verfahrens die folgenden Einstellungen an:

    • Wählen Sie unter Origin Domain Name Ihren S3-Bucket aus.

    • Wählen Sie Ja für „Bucket-Zugriff einschränken“.

    • Wähle „Neue Identität erstellen“ für Origin Access Identity.

    • Wähle unter Leseberechtigungen für Bucket gewähren die Option Ja, Bucket-Richtlinie aktualisieren aus.

      Anmerkung

      In diesem Verfahren wird Ihre Bucket-Richtlinie so CloudFront geändert, dass sie auf Bucket-Objekte zugreifen kann. Erwägen Sie, diese Richtlinie so zu bearbeiten, dass nur auf Objekte im crl Ordner zugegriffen werden kann.

  2. Suchen Sie nach der Initialisierung der Distribution ihren Domänennamen in der CloudFront Konsole und speichern Sie ihn für den nächsten Vorgang.

    Anmerkung

    Wenn Ihr S3-Bucket in einer anderen Region als us-east-1 neu erstellt wurde, erhalten Sie möglicherweise einen temporären HTTP 307-Umleitungsfehler, wenn Sie über auf Ihre veröffentlichte Anwendung zugreifen. CloudFront Es kann mehrere Stunden dauern, bis die Adresse des Buckets weitergegeben wird.

Richten Sie Ihre CA für BPA ein

Fügen Sie bei der Konfiguration Ihrer neuen CA den Alias zu Ihrer CloudFront Distribution hinzu.

Um Ihre CA mit einem CNAME zu konfigurieren für CloudFront
  • Erstellen Sie Ihre CA mitVerfahren zum Erstellen einer CA (CLI) .

    Wenn Sie das Verfahren ausführen, revoke_config.txt sollte die Sperrdatei die folgenden Zeilen enthalten, um ein nichtöffentliches CRL-Objekt anzugeben und eine URL zum Verteilungsendpunkt in bereitzustellen: CloudFront

    "S3ObjectAcl":"BUCKET_OWNER_FULL_CONTROL", "CustomCname":"abcdef012345.cloudfront.net"

    Wenn Sie anschließend Zertifikate mit dieser Zertifizierungsstelle ausstellen, enthalten sie einen Block wie den folgenden:

    X509v3 CRL Distribution Points: Full Name: URI:http://abcdef012345.cloudfront.net/crl/01234567-89ab-cdef-0123-456789abcdef.crl
Anmerkung

Wenn Sie über ältere Zertifikate verfügen, die von dieser Zertifizierungsstelle ausgestellt wurden, können diese nicht auf die CRL zugreifen.

Verschlüsseln Ihrer CRLs

Sie können optional die Verschlüsselung für den Amazon S3 S3-Bucket konfigurieren, der Ihre CRLs enthält. AWS Private CA unterstützt zwei Verschlüsselungsmodi für Assets in Amazon S3:

  • Automatische serverseitige Verschlüsselung mit von Amazon S3 verwalteten AES-256-Schlüsseln.

  • Vom Kunden verwaltete Verschlüsselung unter Verwendung AWS Key Management Service und Konfiguration nach Ihren Spezifikationen AWS KMS key .

Anmerkung

AWS Private CA unterstützt nicht die Verwendung von Standard-KMS-Schlüsseln, die automatisch von S3 generiert werden.

In den folgenden Verfahren wird die Einrichtung der einzelnen Verschlüsselungsoptionen beschrieben.

So konfigurieren Sie die automatische Verschlüsselung

Führen Sie die folgenden Schritte aus, um die serverseitige S3-Verschlüsselung zu aktivieren.

  1. Öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie in der Buckets-Tabelle den Bucket aus, der Ihre AWS Private CA Ressourcen aufnehmen soll.

  3. Wählen Sie auf der Seite für Ihren Bucket die Registerkarte Properties (Eigenschaften) aus.

  4. Wählen Sie die Karte Default encryption (Standardverschlüsselung aus.

  5. Wählen Sie Enable (Aktivieren) aus.

  6. Wählen Sie Amazon S3 S3-Schlüssel (SSE-S3).

  7. Wählen Sie Save Changes.

So konfigurieren Sie die benutzerdefinierte Verschlüsselung

Führen Sie die folgenden Schritte aus, um die Verschlüsselung mit einem benutzerdefinierten Schlüssel zu aktivieren.

  1. Öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie in der Tabelle Buckets den Bucket aus, der Ihre AWS Private CA Assets aufnehmen soll.

  3. Wählen Sie auf der Seite für Ihren Bucket die Registerkarte Properties (Eigenschaften) aus.

  4. Wählen Sie die Karte Default encryption (Standardverschlüsselung aus.

  5. Wählen Sie Enable (Aktivieren) aus.

  6. Wählen Sie AWS Key Management Service den Schlüssel (SSE-KMS).

  7. Wählen Sie entweder Aus Ihren AWS KMS Schlüsseln auswählen oder AWS KMS key ARN eingeben.

  8. Wählen Sie Save Changes.

  9. (Optional) Wenn Sie noch keinen KMS-Schlüssel haben, erstellen Sie einen mit dem folgenden Befehl AWS CLI create-key:

    $ aws kms create-key

    Die Ausgabe enthält die Schlüssel-ID und den Amazon-Ressourcennamen (ARN) des KMS-Schlüssels. Im Folgenden finden Sie ein Beispiel für eine Ausgabe:

    { "KeyMetadata": { "KeyId": "01234567-89ab-cdef-0123-456789abcdef", "Description": "", "Enabled": true, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:123456789012:key/01234567-89ab-cdef-0123-456789abcdef", "AWSAccountId": "123456789012" } }
  10. Mit den folgenden Schritten erteilen Sie dem AWS Private CA Dienstprinzipal die Erlaubnis, den KMS-Schlüssel zu verwenden. Standardmäßig sind alle KMS-Schlüssel privat. Nur der Besitzer der Ressource kann einen KMS-Schlüssel zum Verschlüsseln und Entschlüsseln von Daten verwenden. Der Ressourceninhaber kann jedoch anderen Benutzern und Ressourcen Zugriffsberechtigungen für den KMS-Schlüssel erteilen. Der Dienstprinzipal muss sich in derselben Region befinden, in der der KMS-Schlüssel gespeichert ist.

    1. Speichern Sie zunächst die Standardrichtlinie für Ihren KMS-Schlüssel policy.json mit dem folgenden get-key-policyBefehl:

      $ aws kms get-key-policy --key-id key-id --policy-name default --output text > ./policy.json
    2. Öffnen Sie die Datei policy.json in einem Text-Editor. Wählen Sie eine der folgenden Richtlinienerklärungen aus und fügen Sie sie der vorhandenen Richtlinie hinzu.

      Wenn Ihr Amazon S3 S3-Bucket-Key aktiviert ist, verwenden Sie die folgende Anweisung:

      { "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":"arn:aws:s3:::bucket-name" } } }

      Wenn Ihr Amazon S3 S3-Bucket-Key deaktiviert ist, verwenden Sie die folgende Anweisung:

      { "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::bucket-name/acm-pca-permission-test-key", "arn:aws:s3:::bucket-name/acm-pca-permission-test-key-private", "arn:aws:s3:::bucket-name/audit-report/*", "arn:aws:s3:::bucket-name/crl/*" ] } } }
    3. Wenden Sie abschließend die aktualisierte Richtlinie mit dem folgenden put-key-policyBefehl an:

      $ aws kms put-key-policy --key-id key_id --policy-name default --policy file://policy.json

Ermitteln des CRL Distribution Point (CDP) -URI

Wenn Sie den S3-Bucket als CDP für Ihre CA verwenden, kann der CDP-URI in einem der folgenden Formate vorliegen.

  • http://DOC-EXAMPLE-BUCKET.s3.region-code.amazonaws.com/crl/CA-ID.crl

  • http://s3.region-code.amazonaws.com/DOC-EXAMPLE-BUCKET/crl/CA-ID.crl

Wenn Sie Ihre CA mit einem benutzerdefinierten CNAME konfiguriert haben, enthält die CDP-URI den CNAME, zum Beispiel http://alternative.example.com/crl/CA-ID.crl