View a markdown version of this page

Zeigt mTLS-Header für Cache-Richtlinien an und leitet sie an den Ursprung weiter - Amazon CloudFront

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.

Zeigt mTLS-Header für Cache-Richtlinien an und leitet sie an den Ursprung weiter

Wenn Sie die gegenseitige TLS-Authentifizierung verwenden, CloudFront können Informationen aus Client-Zertifikaten extrahiert und als HTTP-Header an Ihre Ursprünge weitergeleitet werden. Auf diese Weise können Ihre Ursprungsserver auf Zertifikatsdetails zugreifen, ohne eine Logik zur Zertifikatsvalidierung implementieren zu müssen.

Die folgenden Header stehen für die Erstellung von Cache-Verhalten zur Verfügung:

Header-Name Description Beispielwert Unterstützte Modi
CloudFront-Viewer-Cert-Serial-Number Hexadezimale Darstellung der Seriennummer des Zertifikats 4a:3f:5c:92:d1:e 8:7 b:6c Erforderlich, optional, Passthrough
CloudFront-Viewer-Cert-Issuer RFC2253-Zeichenkettendarstellung des eindeutigen Namens (DN) des Ausstellers cn=rootcamtls.com, OU=RootCA, O=MTLS, L=Seattle, ST=Washington, C=US Erforderlich, optional, Passthrough
CloudFront-Viewer-Cert-Subject RFC2253-Zeichenkettendarstellung des eindeutigen Namens (DN) des Subjekts cn=client_.com, OU=Kunde-3, O=MTLS, ST=Washington, C=US Erforderlich, optional, Passthrough
CloudFront-Viewer-Cert-Present Entweder 1 (vorhanden) oder 0 (nicht vorhanden) gibt an, ob das Zertifikat vorhanden ist. Dieser Wert ist im Modus Erforderlich immer 1. 1 Erforderlich, optional, Passthrough
CloudFront-Viewer-Cert-Sha256 Der SHA256-Hash des Client-Zertifikats 01fbf94fef5569753420c349f49adbfd80af5275377816e3ab1fb371b29cb586 Erforderlich, optional, Passthrough

Für Quellanfragen werden zusätzlich zu den oben genannten Headern, die für Cache-Verhalten zur Verfügung gestellt werden, zwei zusätzliche Header bereitgestellt. Aufgrund der potenziellen Header-Größe ist der CloudFront-Viewer-Cert-Pem Header keinen Edge-Funktionen (Lambda @Edge oder CloudFront Functions) ausgesetzt und wird nur an den Ursprung weitergeleitet.

Header-Name Description Beispielwert Unterstützte Modi
CloudFront-Viewer-Cert-Validity ISO8601-Format des NotBefore- und NotAfter-Datums CloudFront-Viewer-Cert-Validity: =2023-09-21; =2024-09-20 NotBefore T01:50:17Z NotAfter T01:50:17Z Erforderlich, optional, Passthrough
CloudFront-Viewer-Cert-Pem URL-encoded PEM-Format des Leaf-Zertifikats CloudFront-Viewer-Cert-Pem: -----BEGIN%20CERTIFICATE-----%0AMIIG<... reduziert... : NmrUlw -----ANFANG%20ZERTIFIKAT-----%0AMIIG %0A-----END%20ZERTIFIKAT-----%0A Erforderlich, optional
Client-Cert Leaf-Zertifikat Client-Cert: :MIIG<... reduziert... : NmrUlw :MIIG: Pass-Through
Client-Cert-Chain Non-leaf Zertifikatskette Client-Cert-Chain: :MIIG<... reduziert... : NmrUlw :MIIG: Pass-Through

Header-Weiterleitung konfigurieren

Konsole

Fügt im Überprüfungsmodus CloudFront automatisch die CloudFront-Viewer-Cert -*-Header zu allen Viewer-Anfragen hinzu. Um diese Header an deinen Ursprung weiterzuleiten:

  1. Wählen Sie auf der Hauptseite mit den Listenverteilungen Ihre Distribution mit aktivierten Viewer-MTLs aus und wechseln Sie zum Tab Verhalten

  2. Wählen Sie das Cache-Verhalten aus und wählen Sie Bearbeiten

  3. Wählen Sie im Abschnitt Origin-Anforderungsrichtlinie die Option Richtlinie erstellen oder wählen Sie eine vorhandene Richtlinie aus

  4. Stellen Sie sicher, dass die folgenden Header in der ursprünglichen Anforderungsrichtlinie enthalten sind:

    • CloudFront-Viewer-Cert-Serial-Number

    • CloudFront-Viewer-Cert-Issuer

    • CloudFront-Viewer-Cert-Subject

    • CloudFront-Viewer-Cert-Present

    • Cloudfront-Viewer-Cert-Sha256

    • CloudFront-Viewer-Cert-Validity

    • CloudFront-Viewer-Cert-Pem

  5. Wählen Sie Erstellen (für neue Richtlinien) oder Änderungen speichern (für bestehende Richtlinien)

  6. Wählen Sie die Richtlinie aus, die Ihrem Cache-Verhalten entspricht, und speichern Sie die Änderungen

Verwenden AWS CLI

Das folgende Beispiel zeigt, wie Sie eine Quellanforderungsrichtlinie erstellen, die mTLS-Header für den Verifizierungsmodus enthält:

aws cloudfront create-origin-request-policy \ --origin-request-policy-config '{ "Name": "MTLSHeadersPolicy", "HeadersConfig": { "HeaderBehavior": "whitelist", "Headers": { "Quantity": 5, "Items": [ "CloudFront-Viewer-Cert-Serial-Number", "CloudFront-Viewer-Cert-Issuer", "CloudFront-Viewer-Cert-Subject", "CloudFront-Viewer-Cert-Validity", "CloudFront-Viewer-Cert-Pem" ] } }, "CookiesConfig": { "CookieBehavior": "none" }, "QueryStringsConfig": { "QueryStringBehavior": "none" } }'

Überlegungen zur Header-Verarbeitung

Beachten Sie bei der Arbeit mit Zertifikats-Headern die folgenden bewährten Methoden:

  • Header-Validierung: Überprüfen Sie als zusätzliche Sicherheitsmaßnahme die Header-Werte des Zertifikats an Ihrem Ursprung

  • Größenbeschränkungen für Header: Die Header des PEM-Zertifikats können groß sein. Stellen Sie sicher, dass Ihr Ursprungsserver sie verarbeiten kann

  • Überlegungen zum Cache: Die Verwendung von Zertifikats-Headern in Ihrem Cache-Schlüssel erhöht die Cache-Fragmentierung

  • Cross-origin Anfragen: Wenn Ihre Anwendung CORS verwendet, müssen Sie sie möglicherweise so konfigurieren, dass sie die Zertifikatsheader zulässt

Nächste Schritte

Nachdem Sie die Header-Weiterleitung konfiguriert haben, können Sie die Zertifikatssperrüberprüfung mithilfe der CloudFront Verbindungsfunktionen und implementieren. KeyValueStore Einzelheiten zur Implementierung von Sperrüberprüfungen finden Sie unterWiderruf von Zertifikaten.