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.
Beobachtbarkeit mithilfe von Verbindungsprotokollen
CloudFront Verbindungsprotokolle bieten einen detaillierten Einblick in gegenseitige TLS-Authentifizierungsereignisse, sodass Sie die Zertifikatsvalidierung überwachen, Verbindungsversuche verfolgen und Authentifizierungsprobleme beheben können.
Was sind Verbindungsprotokolle?
Verbindungsprotokolle enthalten detaillierte Informationen über TLS-Handshakes und die Zertifikatsvalidierung für gemeinsame TLS-fähige Distributionen. Im Gegensatz zu Standardzugriffsprotokollen, die HTTP-Anforderungsinformationen aufzeichnen, konzentrieren sich Verbindungsprotokolle speziell auf die Phase des Verbindungsaufbaus mit der TLS-Verbindung, einschließlich:
Verbindungsstatus (Erfolg/Fehlschlag)
Einzelheiten zum Client-Zertifikat
TLS-Protokoll und Chiffrierinformationen
Metriken zum Verbindungszeitpunkt
Benutzerdefinierte Daten aus Verbindungsfunktionen
Diese Protokolle bieten einen umfassenden Einblick in zertifikatsbasierte Authentifizierungsereignisse und helfen Ihnen dabei, die Sicherheit zu überwachen, Probleme zu beheben und Compliance-Anforderungen zu erfüllen.
Aktivieren Sie Verbindungsprotokolle
Verbindungsprotokolle sind nur für Distributionen mit aktivierter gegenseitiger TLS-Authentifizierung verfügbar. Sie können Verbindungsprotokolle an mehrere Ziele senden, darunter CloudWatch Logs, Amazon Data Firehose und Amazon S3.
Voraussetzungen
Bevor Sie Verbindungsprotokolle aktivieren:
Konfigurieren Sie Mutual TLS für Ihre CloudFront Distribution
Aktivieren Sie Verbindungsprotokolle für Ihre CloudFront Distribution
Stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen für das von Ihnen gewählte Protokollierungsziel verfügen
Konfigurieren Sie für die kontoübergreifende Bereitstellung die entsprechenden IAM-Richtlinien
Um Verbindungsprotokolle zu aktivieren (Konsole)
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CloudFront Konsole unterhttps://console.aws.amazon.com/cloudfront/v4/home
. -
Wählen Sie aus der Verteilerliste Ihre MTLS-fähige Distribution aus.
-
Wählen Sie die Registerkarte Logging (Protokollierung) aus.
-
Wählen Sie Hinzufügen aus.
-
Wählen Sie den Dienst aus, der Ihre Logs erhalten soll:
CloudWatch Protokolle
Firehose
Amazon S3
-
Wählen Sie unter Ziel die Ressource für den ausgewählten Dienst aus:
Geben Sie für CloudWatch Logs den Namen der Protokollgruppe ein
Wählen Sie für Firehose den Firehose-Lieferstream
Geben Sie für Amazon S3 den Bucket-Namen ein (optional mit einem Präfix)
-
(Optional) Zusätzliche Einstellungen konfigurieren
Feldauswahl: Wählen Sie bestimmte Protokollfelder aus, die aufgenommen werden sollen.
Ausgabeformat: Wählen Sie zwischen JSON, Plain, W3C, Raw oder Parquet (nur S3).
Feldtrennzeichen: Geben Sie an, wie Protokollfelder getrennt werden sollen.
-
Wählen Sie Save Changes (Änderungen speichern)
So aktivieren Sie Verbindungsprotokolle (AWS CLI)
Das folgende Beispiel zeigt, wie Verbindungsprotokolle mithilfe der CloudWatch API aktiviert werden:
# Step 1: Create a delivery source aws logs put-delivery-source \ --name "cf-mtls-connection-logs" \ --resource-arn "arn:aws:cloudfront::123456789012:distribution/E1A2B3C4D5E6F7" \ --log-type CONNECTION_LOGS # Step 2: Create a delivery destination aws logs put-delivery-destination \ --name "s3-destination" \ --delivery-destination-configuration \ "destinationResourceArn=arn:aws:s3:::amzn-s3-demo-bucket1" # Step 3: Create the delivery aws logs create-delivery \ --delivery-source-name "cf-mtls-connection-logs" \ --delivery-destination-arn "arn:aws:logs:us-east-1:123456789012:delivery-destination:s3-destination"
Anmerkung
Wenn Sie die CloudWatch API verwenden, müssen Sie die Region USA Ost (Nord-Virginia) (us-east-1) angeben, auch wenn Sie Logs in andere Regionen liefern.
Felder des Verbindungsprotokolls
Verbindungsprotokolle enthalten detaillierte Informationen zu jedem TLS-Verbindungsversuch:
| Feld | Description | Beispiel |
|---|---|---|
eventTimestamp |
Zeitstempel nach ISO 8601, als die Verbindung hergestellt wurde oder fehlgeschlagen ist | 1731620046814 |
connectionId |
Eindeutiger Bezeichner für die TLS-Verbindung | oLHiEKbQSn8lkvJfA3D4gFowK3_iZ0g4i5nMUjE1Akod8TuAzn5nzg== |
connectionStatus |
Der Status des mTLS-Verbindungsversuchs. |
Success oder Failed |
clientIp |
IP-Adresse des Clients, der eine Verbindung herstellt | 2001:0db8:85a3:0000:0000:8a2e:0370:7334 |
clientPort |
Vom Client verwendeter Port | 12137 |
serverIp |
IP-Adresse des CloudFront Edge-Servers | 99.84.71.136 |
distributionId |
CloudFront Vertriebs-ID | E2DX1SLDPK0123 |
distributionTenantId |
CloudFront ID des Vertriebsmandanten (falls zutreffend) | dt_2te1Ura9X3R2iCGNjW123 |
tlsProtocol |
Verwendete TLS-Protokollversion | TLSv1.3 |
tlsCipher |
Für die Verbindung verwendete TLS-Verschlüsselungssuite | TLS_AES_128_GCM_SHA256 |
tlsHandshakeDuration |
Dauer des TLS-Handshakes in Millisekunden | 153 |
tlsSni |
Wert für die Angabe des Servernamens aus dem TLS-Handshake | d111111abcdef8.cloudfront.net |
clientLeafCertSerialNumber |
Seriennummer des Client-Zertifikats | 00:b1:43:ed:93:d2:d8:f3:9d |
clientLeafCertSubject |
Betrefffeld des Kundenzertifikats | C=US, ST=WA, L=Seattle, O=Amazon.com, OU=CloudFront,
CN=client.test.mtls.net |
clientLeafCertIssuer |
Feld des Ausstellers des Kundenzertifikats | C=US, ST=WA, L=Seattle, O=Amazon.com, OU=CloudFront,
CN=test.mtls.net |
clientLeafCertValidity |
Gültigkeitsdauer des Kundenzertifikats | NotBefore=2025-06-05T23:28:21Z;NotAfter=2125-05-12T23:28:21Z |
connectionLogCustomData |
Benutzerdefinierte Daten wurden über Verbindungsfunktionen hinzugefügt | REVOKED:00:b1:43:ed:93:d2:d8:f3:9d |
Fehlercodes für die Verbindung
Failed:ClientCertMaxChainDepthExceeded Failed:ClientCertMaxSizeExceeded Failed:ClientCertUntrusted Failed:ClientCertNotYetValid Failed:ClientCertExpired Failed:ClientCertTypeUnsupported Failed:ClientCertInvalid Failed:ClientCertIntentInvalid Failed:ClientCertRejected Failed:ClientCertMissing Failed:TcpError Failed:TcpTimeout Failed:ConnectionFunctionError Failed:ConnectionFunctionDenied Failed:Internal Failed:UnmappedConnectionError
Wenn Verbindungen fehlschlagen, werden bestimmte Ursachencodes CloudFront aufgezeichnet:
| Code | Description |
|---|---|
| ClientCertMaxChainDepthExceeded | Die maximale Tiefe der Zertifikatskette wurde überschritten |
| ClientCertMaxSizeExceeded | Die maximale Zertifikatsgröße wurde überschritten |
| ClientCertUntrusted | Das Zertifikat ist nicht vertrauenswürdig |
| ClientCertNotYetValid | Das Zertifikat ist noch nicht gültig |
| ClientCertExpired | Das Zertifikat ist abgelaufen |
| ClientCertTypeUnsupported | Der Zertifikattyp wird nicht unterstützt |
| ClientCertInvalid | Das Zertifikat ist ungültig |
| ClientCertIntentInvalid | Die Absicht des Zertifikats ist ungültig |
| ClientCertRejected | Das Zertifikat wurde durch benutzerdefinierte Validierung abgelehnt |
| ClientCertMissing | Das Zertifikat fehlt |
| TcpError |
Beim Versuch, eine Verbindung herzustellen, ist ein Fehler aufgetreten |
| TcpTimeout |
Die Verbindung konnte innerhalb des Timeouts nicht hergestellt werden |
| ConnectionFunctionError |
Während der Ausführung der Verbindungsfunktion wurde eine nicht abgefangene Ausnahme ausgelöst |
| Intern |
Ein interner Dienstfehler ist aufgetreten |
| UnmappedConnectionError |
Es ist ein Fehler aufgetreten, der in keine der anderen Kategorien fällt |