Osservabilità utilizzando i log di connessione - Amazon CloudFront

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Osservabilità utilizzando i log di connessione

CloudFront i registri di connessione forniscono una visibilità dettagliata degli eventi di autenticazione TLS reciproca, consentendo di monitorare la convalida dei certificati, tenere traccia dei tentativi di connessione e risolvere i problemi di autenticazione.

Cosa sono i log di connessione?

I log di connessione raccolgono informazioni dettagliate sugli handshake TLS e sulla convalida dei certificati per le distribuzioni reciproche abilitate per TLS. A differenza dei log di accesso standard che registrano le informazioni sulle richieste HTTP, i log di connessione si concentrano specificamente sulla fase di creazione della connessione TLS, tra cui:

  • Stato della connessione (successo/errore)

  • Dettagli del certificato del cliente

  • Informazioni sul protocollo TLS e sulla cifratura

  • Metriche sulla tempistica della connessione

  • Dati personalizzati da Connection Functions

Questi registri offrono una visibilità completa sugli eventi di autenticazione basati su certificati, aiutandovi a monitorare la sicurezza, risolvere i problemi e soddisfare i requisiti di conformità.

Abilita i registri di connessione

I log di connessione sono disponibili solo per le distribuzioni con l'autenticazione TLS reciproca abilitata. Puoi inviare i log di connessione a più destinazioni, tra cui CloudWatch Logs, Amazon Data Firehose e Amazon S3.

Prerequisiti

Prima di abilitare i log di connessione:

  • Configura il TLS reciproco per la tua distribuzione CloudFront

  • Abilita i log di connessione per la tua distribuzione CloudFront

  • Assicurati di disporre delle autorizzazioni necessarie per la destinazione di registrazione scelta

  • Per la distribuzione tra più account, configura le politiche IAM appropriate

Per abilitare i registri di connessione (Console)

  1. Accedi a Console di gestione AWS e apri la CloudFront console all'indirizzohttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Dalla lista di distribuzione, seleziona la tua distribuzione abilitata per MTLS.

  3. Scegli la scheda Logging (Utilizzo log).

  4. Scegliere Aggiungi.

  5. Seleziona il servizio per ricevere i log:

    • CloudWatch Log

    • Firehose

    • Amazon S3

  6. Per Destinazione, seleziona la risorsa per il servizio scelto:

    • Per CloudWatch Log, inserisci il nome del gruppo di log

    • Per Firehose, selezionare lo stream di distribuzione Firehose

    • Per Amazon S3, inserisci il nome del bucket (facoltativamente con un prefisso)

  7. (Facoltativo) Configura le impostazioni aggiuntive:

    • Selezione dei campi: seleziona campi di registro specifici da includere.

    • Formato di output: scegli tra JSON, Plain, w3c, Raw o Parquet (solo S3).

    • Delimitatore di campo: specifica come separare i campi del registro.

  8. Scegliere Salva modifiche.

Per abilitare i log di connessione (AWS CLI)

L'esempio seguente mostra come abilitare i log di connessione utilizzando l'API: CloudWatch

# 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"
Nota

Quando si utilizza l' CloudWatch API, è necessario specificare la regione Stati Uniti orientali (Virginia settentrionale) (us-east-1) anche quando si consegnano i log in altre regioni.

Campi del registro delle connessioni

I registri di connessione includono informazioni dettagliate su ogni tentativo di connessione TLS:

Campo Description Esempio
eventTimestamp Timestamp ISO 8601 quando la connessione è stata stabilita o non è riuscita 1731620046814
connectionId Identificatore univoco per la connessione TLS oLHiEKbQSn8lkvJfA3D4gFowK3_iZ0g4i5nMUjE1Akod8TuAzn5nzg==
connectionStatus

Lo stato del tentativo di connessione mTLS.

Success o Failed
clientIp Indirizzo IP del client di connessione 2001:0db8:85a3:0000:0000:8a2e:0370:7334
clientPort Porta utilizzata dal client 12137
serverIp Indirizzo IP del server CloudFront perimetrale 99.84.71.136
distributionId CloudFront ID di distribuzione E2DX1SLDPK0123
distributionTenantId CloudFront ID del tenant di distribuzione (se applicabile) dt_2te1Ura9X3R2iCGNjW123
tlsProtocol versione del protocollo TLS utilizzata TLSv1.3
tlsCipher Suite di crittografia TLS utilizzata per la connessione TLS_AES_128_GCM_SHA256
tlsHandshakeDuration Durata dell'handshake TLS in millisecondi 153
tlsSni Valore di indicazione del nome del server ricavato dall'handshake TLS d111111abcdef8.cloudfront.net
clientLeafCertSerialNumber Numero di serie del certificato del client 00:b1:43:ed:93:d2:d8:f3:9d
clientLeafCertSubject Campo relativo all'oggetto del certificato del cliente C=US, ST=WA, L=Seattle, O=Amazon.com, OU=CloudFront, CN=client.test.mtls.net
clientLeafCertIssuer Campo dell'emittente del certificato del cliente C=US, ST=WA, L=Seattle, O=Amazon.com, OU=CloudFront, CN=test.mtls.net
clientLeafCertValidity Periodo di validità del certificato del cliente NotBefore=2025-06-05T23:28:21Z;NotAfter=2125-05-12T23:28:21Z
connectionLogCustomData Dati personalizzati aggiunti tramite Connection Functions REVOKED:00:b1:43:ed:93:d2:d8:f3:9d

Codici di errore di connessione

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

Quando le connessioni falliscono, CloudFront registra codici di motivo specifici:

Codice Description
ClientCertMaxChainDepthExceeded È stata superata la profondità massima della catena di certificati
ClientCertMaxSizeExceeded Dimensione massima del certificato superata
ClientCertUntrusted Il certificato non è attendibile
ClientCertNotYetValid Il certificato non è ancora valido
ClientCertExpired Il certificato è scaduto
ClientCertTypeUnsupported Il tipo di certificato non è supportato
ClientCertInvalid Il certificato non è valido
ClientCertIntentInvalid L'intento del certificato non è valido
ClientCertRejected Certificato rifiutato mediante convalida personalizzata
ClientCertMissing Manca il certificato
TcpError

Si è verificato un errore durante il tentativo di stabilire una connessione

TcpTimeout

Non è stato possibile stabilire la connessione entro il periodo di timeout

ConnectionFunctionError

È stata generata un'eccezione non rilevata durante l'esecuzione della funzione di connessione

Interno

Si è verificato un errore interno del servizio

UnmappedConnectionError

Si è verificato un errore che non rientra in nessuna delle altre categorie