View a markdown version of this page

Modalità di convalida aggiuntive - 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à.

Modalità di convalida aggiuntive

La modalità richiesta è l'impostazione predefinita per il TLS CloudFront reciproco: CloudFront convalida ogni certificato client e nega le connessioni che falliscono. Tuttavia, per supportare casi d'uso aggiuntivi, ad esempio applicazioni che servono una combinazione di client m TLS-authenticated e non autenticati o ambienti in cui il server di origine esegue la propria convalida MTLS, supporta due modalità aggiuntive. CloudFront

La modalità opzionale è progettata per applicazioni con popolazioni di client miste. Ad esempio, un portale che fornisce contenuti pubblici a browser non autenticati, limitando al contempo gli endpoint API ai client che presentano certificati validi. Oppure uno scenario di migrazione in cui si esegue gradualmente l'onboarding dei clienti verso MTL e si devono consentire connessioni autenticate e non autenticate durante la transizione.

La modalità Passthrough è progettata per i clienti i cui server di origine eseguono già la convalida MTL. Ad esempio, servizi che migrano da reverse proxy locali, altri CDN o Application Load Balancer che già gestiscono la verifica dei certificati. La modalità Passthrough consente a questi clienti di posizionarsi davanti alle proprie applicazioni senza dover CloudFront reimplementare la logica di convalida all'edge.

Modalità opzionale

Convalida del certificato client Modalità opzionale

CloudFront offre una modalità alternativa di convalida dei certificati client opzionale che convalida i certificati client presentati ma consente l'accesso ai client che non presentano certificati.

Comportamento in modalità opzionale

  • Garantisce la connessione ai client con certificati validi (i certificati non validi vengono negati).

  • Consente la connessione ai client senza certificati.

  • Consente scenari di autenticazione client misti tramite un'unica distribuzione.

La modalità opzionale è ideale per la migrazione graduale all'autenticazione MTLS, per supportare client con certificati e client senza certificati o per mantenere la compatibilità con le versioni precedenti con i client legacy.

Nota

In modalità opzionale, le funzioni di connessione vengono ancora richiamate anche quando i client non presentano certificati. Ciò consente di implementare una logica personalizzata come la registrazione degli indirizzi IP dei client o l'applicazione di politiche diverse in base alla presentazione dei certificati.

Per configurare la modalità opzionale (console)

  1. Nelle impostazioni di distribuzione, vai alla scheda Generale, scegli Modifica.

  2. Scorri fino alla sezione Viewer Mutual Authentication (mTLS) all'interno del contenitore Connectivity.

  3. Per la modalità di convalida del certificato Client, seleziona Opzionale.

  4. Salva le modifiche.

Per configurare la modalità opzionale (AWS CLI)

L'esempio seguente mostra come configurare la modalità opzionale:

"ViewerMtlsConfig": { "Mode": "optional", ...other settings }

Personalizza le intestazioni dei certificati

Usa le funzioni di supporto di mTLS in viewer-request Functions per rinominare, riformattare o combinare CloudFront le intestazioni dei certificati prima che raggiungano la tua origine. Ciò è utile durante la migrazione da altri servizi che utilizzano nomi di intestazione o formati di codifica dei certificati diversi.

modalità Passthrough

La modalità Passthrough consente ai clienti con implementazioni MTLS esistenti all'origine di utilizzarle. CloudFront CloudFront interrompe la connessione TLS e inoltra il certificato client all'origine come intestazioni HTTP. La tua origine esegue tutte le convalide dei certificati, tra cui la verifica della catena, il controllo delle revoche e l'applicazione delle politiche personalizzate.

Come funziona la modalità passthrough

  1. Il client si connette CloudFront e presenta un certificato client durante l'handshake TLS.

  2. CloudFront completa l'handshake TLS senza convalidare il certificato rispetto a un trust store.

  3. CloudFront aggiunge il certificato del client e la catena di certificati come intestazioni HTTP sulla richiesta.

  4. La richiesta viene inoltrata all'origine. Nessun contenuto viene memorizzato nella cache.

  5. La tua origine convalida il certificato ed elabora la richiesta.

I client possono connettersi anche senza presentare un certificato. La tua funzione di origine o di connessione gestisce scenari di certificati vuoti.

Nota

In modalità passthrough, le Connection Functions vengono ancora richiamate anche quando i client non presentano certificati. Ciò consente di implementare una logica personalizzata, ad esempio la registrazione degli indirizzi IP dei client o l'applicazione di politiche diverse in base alla presentazione dei certificati.

Requisiti di configurazione

  • No trust store: la distribuzione deve avere associazioni Zero Trust Store.

  • Memorizzazione nella cache disattivata: tutti i comportamenti della cache devono utilizzare la policy di CachingDisabled cache gestita.

  • Origin Shield proibito: Origin Shield non può essere abilitato.

  • Lambda @Edge proibita: le associazioni di funzioni Lambda @Edge non sono consentite.

  • Politica di richiesta di origine obbligatoria: è necessario inserire le Client-Cert-Chain intestazioni Client-Cert and nella policy di richiesta di origine nell'elenco delle intestazioni di origine affinché l'origine le riceva.

  • Certificate-chain-depth— CloudFront consente una profondità massima di 4 per l'inoltro della catena di certificati del cliente alle origini.

Abilita la modalità passthrough

Console

  1. Aggiorna tutti i comportamenti della cache per utilizzare la policy di CachingDisabled cache gestita.

  2. Apri la CloudFront console e scegli la tua distribuzione.

  3. Scegli la scheda Generale, quindi scegli Modifica in Impostazioni.

  4. In Viewer Mutual Authentication (mTLS), seleziona Passthrough.

  5. Scegli Save changes (Salva modifiche).

AWS CLI

Assicurati che tutti i comportamenti della cache facciano riferimento alla CachingDisabled politica gestita, quindi aggiorna la configurazione di distribuzione:

{ "ViewerMtlsConfig": { "Mode": "passthrough" } }

Intestazioni inoltrate all'origine

CloudFront aggiunge le seguenti intestazioni alla richiesta inviata all'origine:

  • Client-Cert— Il certificato di entità finale (foglia) presentato dal client, con codifica base64.

  • Client-Cert-Chain— La catena di certificati (esclusa la foglia), come elenco di campi strutturato. Ogni certificato è codificato in base 64. Client-Cert-Chainè un'intestazione di tipo List. Può apparire più volte in una richiesta. La concatenazione di tutti i valori mantiene l'ordine della catena originale. Client-Cert-Chainviene omesso quando il client presenta un solo certificato.

CloudFront elimina tutte le Client-Cert-Chain intestazioni Client-Cert o le intestazioni in entrata dalla richiesta del client prima di aggiungere i dati effettivi del certificato. Ciò impedisce lo spoofing dell'intestazione.

Personalizza le intestazioni dei certificati

Usa le funzioni di supporto di mTLS in viewer-request Functions per rinominare, riformattare o combinare CloudFront le intestazioni dei certificati prima che raggiungano la tua origine. Ciò è utile durante la migrazione da altri servizi che utilizzano nomi di intestazione o formati di codifica dei certificati diversi.