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 anhand 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 gegenseitige TLS-enabled Verteilungen. Im Gegensatz zu Standardzugriffsprotokollen, die HTTP-Anforderungsinformationen aufzeichnen, konzentrieren sich Verbindungsprotokolle speziell auf die Phase des TLS-Verbindungsaufbaus, einschließlich:
Verbindungsstatus (success/failure)
Details zum Client-Zertifikat
TLS-Protokoll- und Verschlüsselungsinformationen
Metriken zum Zeitpunkt der Verbindung
Benutzerdefinierte Daten aus Connection Functions
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.
Verbindungsprotokolle aktivieren
Verbindungsprotokolle sind nur für Distributionen verfügbar, bei denen die gegenseitige TLS-Authentifizierung aktiviert ist. Sie können Verbindungsprotokolle an mehrere Ziele senden, einschließlich CloudWatch Logs, Amazon Data Firehose und Amazon S3.
Voraussetzungen
Bevor Sie Verbindungsprotokolle aktivieren:
Konfigurieren Sie gegenseitiges 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
So aktivieren Sie Verbindungsprotokolle (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 TLS-enabled M-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 von Ihnen ausgewählten Dienst aus:
Geben Sie für CloudWatch Logs den Log-Gruppennamen ein
Wählen Sie für Firehose den Firehose-Lieferstream aus
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 Sie einbeziehen möchten.
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)
Um Verbindungsprotokolle zu aktivieren (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 Protokolle in andere Regionen liefern.
Felder für das Verbindungsprotokoll
Die Verbindungsprotokolle enthalten detaillierte Informationen zu jedem TLS-Verbindungsversuch:
| Feld | Description | Beispiel |
|---|---|---|
eventTimestamp |
ISO 8601-Zeitstempel, wann 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 verbindenden Clients | 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 Distribution-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 Zertifikats des Kunden | C=US, ST=WA, L=Seattle, O=Amazon.com, OU=CloudFront,
CN=client.test.mtls.net |
clientLeafCertIssuer |
Feld „Aussteller“ des Zertifikats des Kunden | C=US, ST=WA, L=Seattle, O=Amazon.com, OU=CloudFront,
CN=test.mtls.net |
clientLeafCertValidity |
Gültigkeitsdauer des Zertifikats des Kunden | NotBefore=2025-06-05T23:28:21Z;NotAfter=2125-05-12T23:28:21Z |
connectionLogCustomData |
Benutzerdefinierte Daten, die über Verbindungsfunktionen hinzugefügt wurden | REVOKED:00:b1:43:ed:93:d2:d8:f3:9d |
Fehlercodes bei der Verbindung
Failed:ClientCertMaxChainDepthExceeded Failed:ClientCertMaxSizeExceeded Failed:ClientCertUntrusted Failed:ClientCertNotYetValid Failed:ClientCertExpired Failed:ClientCertTypeUnsupported Failed:ClientCertInvalid Failed:ClientCertIntentInvalid Failed:ClientCertRejected Failed:ClientCertMissing Failed:ClientCertOcspProcessingError Failed:ClientCertOcspDenied Failed:TcpError Failed:TcpTimeout Failed:ConnectionFunctionError Failed:ConnectionFunctionDenied Failed:Internal Failed:UnmappedConnectionError
Wenn Verbindungen fehlschlagen, CloudFront zeichnet es bestimmte Ursachencodes auf:
| 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 eine benutzerdefinierte Validierung abgelehnt |
| ClientCertMissing | Das Zertifikat fehlt |
| TcpError |
Beim Versuch, eine Verbindung herzustellen, ist ein Fehler aufgetreten |
| TcpTimeout |
Die Verbindung konnte innerhalb des Timeout-Zeitraums 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 |