Listener TLS per il Network Load Balancer - Elastic Load Balancing

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à.

Listener TLS per il Network Load Balancer

Per utilizzare un listener TLS, occorre distribuire almeno un certificato server sul sistema di bilanciamento del carico. Il sistema di bilanciamento del carico utilizza il certificato del server per terminare la connessione front-end e quindi decrittografare le richieste provenienti dai client prima di inoltrarle ai target. Nota che se devi passare il traffico crittografato alle destinazioni senza che il load balancer lo decifri, crea un listener TCP sulla porta 443 invece di creare un listener TLS. Il load balancer passa la richiesta al target così com'è, senza decrittografarla.

Elastic Load Balancing utilizza una configurazione di negoziazione TLS, nota come policy di sicurezza, per negoziare le connessioni TLS tra un client e il load balancer. Una policy di sicurezza è una combinazione di protocolli e codici. Il protocollo stabilisce una connessione sicura tra un client e un server e garantisce che tutti i dati trasferiti tra il client e il sistema di bilanciamento del carico siano privati. Un codice è un algoritmo di crittografia che utilizza chiavi di crittografia per creare un messaggio codificato. I protocolli utilizzano diversi codici per crittografare i dati su Internet. Durante il processo di negoziazione della connessione, il client e il sistema di bilanciamento del carico forniscono un elenco di crittografie e protocolli supportati, in ordine di preferenza. La prima crittografia nell'elenco del server che corrisponde a una qualsiasi delle crittografie del client viene selezionata per la connessione sicura.

I Network Load Balancer non supportano la rinegoziazione TLS o l'autenticazione TLS (Mutual TLS). Per il supporto MTL, crea un listener TCP anziché un listener TLS. Il load balancer passa la richiesta così com'è, in modo da poter implementare gli MTL sul target.

Per creare un listener TLS, consulta Aggiunta di un listener. Per le demo correlate, vedere Support TLS su Network Load Balancer e Support SNI su Network Load Balancer.

Certificati server

Il sistema di bilanciamento del carico utilizza un certificato X.509 (certificato server). I certificati sono un modulo digitale di identificazione emesso da un'autorità di certificazione (CA). Un certificato contiene informazioni di identificazione, un periodo di validità, una chiave pubblica, un numero di serie e la firma digitale dell'emittente.

Quando si crea un certificato da utilizzare con il load balancer, occorre specificare un nome di dominio.

Consigliamo di creare certificati per i bilanciatori del carico utilizzando AWS Certificate Manager(ACM). ACM si integra con Elastic Load Balancing in modo da poter implementare il certificato sul load balancer. Per ulteriori informazioni, consultare la Guida per l'utente AWS Certificate Manager.

In alternativa, puoi utilizzare strumenti TLS per creare una richiesta di firma del firma (CSR), ottenere il CSR firmato da una CA per importare il certificato in ACM o caricare il certificato inAWS Identity and Access Management (IAM). Per ulteriori informazioni, consulta Importazione di certificati nella Guida perAWS Certificate Manager l'utente o Utilizzo dei certificati del server nella Guida dell'utente IAM.

Importante

Non puoi installare certificati con chiavi RSA più grandi di 2048 bit o chiavi CE sul Network Load Balancer.

Certificato predefinito

È necessario specificare un certificato predefinito al momento della creazione di un listener TLS. Questo certificato è noto come certificato predefinito. Puoi sostituire il certificato predefinito dopo aver creato il listener TLS. Per ulteriori informazioni, consulta Sostituzione del certificato predefinito.

Se definisci certificati aggiuntivi in un elenco di certificati, il certificato predefinito viene utilizzato solo se un client si collega senza utilizzare il protocollo Server Name Indication (SNI) per specificare un nome host o se non sono presenti certificati corrispondenti nel relativo elenco.

Se non specifichi certificati aggiuntivi, ma devi ospitare diverse applicazioni sicure attraverso un unico sistema di bilanciamento del carico, puoi usare un certificato jolly o aggiungere un Subject Alternative Name (SAN) per ogni dominio aggiuntivo al tuo certificato.

Elenco dei certificati

Una volta creato. il listener TLS include un certificato predefinito e un elenco di certificati vuoto. Facoltativamente, è possibile aggiungere certificati all’elenco certificati per il listener. In questo modo un sistema di bilanciamento del carico può supportare più domini sulla stessa porta e fornire un certificato diverso per ogni dominio. Per ulteriori informazioni, consulta Aggiunta di certificati all’elenco dei certificati.

Il sistema di bilanciamento del carico supporta inoltre un algoritmo intelligente di selezione dei certificati con SNI. Se il nome host fornito da un client corrisponde a un singolo certificato nell'elenco dei certificati, il sistema di bilanciamento del carico seleziona tale certificato. Se un nome host fornito da un client corrisponde a più certificati nell'elenco dei certificati, il sistema di bilanciamento del carico seleziona il miglior certificato che il client è in grado di supportare. La selezione del certificato si basa sui seguenti criteri nell'ordine seguente:

  • Algoritmo hash (preferire SHA su MD5)

  • Lunghezza della chiave (preferire la più lunga)

  • Periodo di validità

Le voci nei log di accesso al sistema di bilanciamento del carico indicano il nome host specificato dal client e il certificato presentato al client. Per ulteriori informazioni, consulta Voci dei log di accesso.

Rinnovo del certificato

Ogni certificato include un periodo di validità. Devi assicurarti di rinnovare o sostituire il certificato per il sistema di bilanciamento del carico prima della fine del suo periodo di validità. Sono inclusi il certificato predefinito e i certificati presenti nel relativo elenco. Nota che il rinnovo o la sostituzione di un certificato non influenza le normali richieste che erano state ricevute da un nodo del sistema di bilanciamento del carico e che sono in attesa di essere instradate a una destinazione integra. Dopo il rinnovo di un certificato, le nuove richieste utilizzano il certificato rinnovato. Dopo la sostituzione di un certificato, le nuove richieste utilizzano il nuovo certificato.

È possibile gestire il rinnovo e la sostituzione del certificato come segue:

  • I certificati forniti da AWS Certificate Manager e implementati sul load balancer possono essere rinnovati automaticamente. ACM cerca di rinnovare i certificati prima della scadenza. Per ulteriori informazioni, consulta Rinnovo gestito nella Guida per l'utente di AWS Certificate Manager.

  • Se hai importato un certificato in ACM, la data di scadenza del certificato deve essere monitorata per rinnovarlo prima che scada. Per ulteriori informazioni, consulta Importazione di certificati nella Guida per l'utente di AWS Certificate Manager.

  • Se hai importato un certificato in IAM, devi creare un nuovo certificato, importare il nuovo certificato in ACM o IAM, aggiungere il nuovo certificato al tuo load balancer e rimuovere il certificato scaduto dal tuo load balancer.

Policy di sicurezza

Quando crei un listener TLS, devi selezionare una policy di sicurezza. Puoi aggiornare la policy di sicurezza in base alle esigenze. Per ulteriori informazioni, consulta Aggiornamento della policy di sicurezza.

È possibile scegliere la policy di sicurezza usata per le connessioni front-end. Per le connessioni backend, se il listener TLS utilizza una politica di sicurezza TLS 1.3, viene utilizzata la politicaELBSecurityPolicy-TLS13-1-0-2021-06 di sicurezza. Altrimenti, la politicaELBSecurityPolicy-2016-08 di sicurezza viene utilizzata per le connessioni di backend. I Network Load Balancer non supportano policy di sicurezza personalizzate.

Elastic Load Balancing fornisce le seguenti politiche di sicurezza per i Network Load Balancer:

  • ELBSecurityPolicy-TLS13-1-2-2021-06*

  • ELBSecurityPolicy-TLS13-1-2-Res-2021-06

  • ELBSecurityPolicy-TLS13-1-2-Ext1-2021-06

  • ELBSecurityPolicy-TLS13-1-2-Ext2-2021-06

  • ELBSecurityPolicy-TLS13-1-1-2021-06

  • ELBSecurityPolicy-TLS13-1-0-2021-06

  • ELBSecurityPolicy-TLS13-1-3-2021-06

  • ELBSecurityPolicy-FS-1-2-Res-2020-10

  • ELBSecurityPolicy-FS-1-2-Res-2019-08

  • ELBSecurityPolicy-FS-1-2-2019-08

  • ELBSecurityPolicy-FS-1-1-2019-08

  • ELBSecurityPolicy-FS-2018-06

  • ELBSecurityPolicy-TLS-1-2-Ext-2018-06

  • ELBSecurityPolicy-TLS-1-2-2017-01

  • ELBSecurityPolicy-TLS-1-1-2017-01

  • ELBSecurityPolicy-2016-08**

  • ELBSecurityPolicy-TLS-1-0-2015-04

  • ELBSecurityPolicy-2015-05 ( identico a ELBSecurityPolicy-2016-08)

*Per gli ascoltatori TLS, consigliamo di utilizzare la politicaELBSecurityPolicy-TLS13-1-2-2021-06 di sicurezza. Questa è la politica predefinita per gli ascoltatori creati utilizzandoAWS Management Console. Questa politica di sicurezza include TLS 1.3, ottimizzato per sicurezza e prestazioni ed è retrocompatibile con TLS 1.2.

**ELBSecurityPolicy-2016-08 è la politica di sicurezza predefinita per gli ascoltatori creati utilizzandoAWS CLI.

Per Forward Secrecy, puoi utilizzare una delleELBSecurityPolicy-FS politiche o unaELBSecurityPolicy-TLS13 politica. Per soddisfare gli standard di conformità e sicurezza che richiedono la disattivazione di determinate versioni del protocollo TLS o per supportare i client legacy che richiedono cifrari obsoleti, utilizza una delleELBSecurityPolicy-TLS politiche. Solo una piccola percentuale di Internet client richiedono il protocollo TLS 1.0.

È possibile abilitare i log di accesso per informazioni sulle richieste TLS inviate al Network Load Balancer, analizzare i modelli di traffico TLS per gestire gli aggiornamenti delle policy di sicurezza e risolvere i problemi. Per ulteriori informazioni, consulta l'sezione relativa ai Log di accesso e Network Load Balancer.

Policy di sicurezza TLS 1.3

La tabella seguente descrive la politica consigliata (ELBSecurityPolicy-TLS13-1-2-2021-06) e le altre politiche TLS 1.3. IlELBSecurityPolicy- prefisso è stato rimosso dai nomi delle politiche nella riga dell'intestazione in modo che corrispondano.

Policy di sicurezza 
                                            TLS13-1-2-2021-06*
                                        
                                            TLS13-1-3-2021-06
                                        
                                            TLS13-1-2-Res-2021-06
                                        
                                            TLS13-1-2-Ext2-2021-06
                                        
                                            TLS13-1-2-Ext1-2021-06
                                        
                                            TLS13-1-1-2021-06
                                        
                                            TLS13-1-0-2021-06
Protocolli TLS

Protocollo-TLSv1

Protocol-TLSv1.1

Protocol-TLSv1.2

Protocol-TLSv1.3
Crittografie TLS
TLS-AES-128-GCM-SHA256
TLS-AES-256-GCM-SHA384
TLS-CHACHA20-POLY1305-SHA256

ECDHE-ECDSA-AES128-GCM-SHA256

ECDHE-RSA-AES128-GCM-SHA256

ECDHE-ECDSA-AES128-SHA256

ECDHE-RSA-AES128-SHA256

ECDHE-ECDSA-AES128-SHA

ECDHE-RSA-AES128-SHA

ECDHE-ECDSA-AES256-GCM-SHA384

ECDHE-RSA-AES256-GCM-SHA384

ECDHE-ECDSA-AES256-SHA384

ECDHE-RSA-AES256-SHA384

ECDHE-RSA-AES256-SHA

ECDHE-ECDSA-AES256-SHA

AES128-GCM-SHA256

AES128-SHA256

AES128-SHA

AES256-GCM-SHA384

AES256-SHA256

AES256-SHA

Per visualizzare la configurazione di una politica di sicurezza per il tuo load balancer utilizzando ilAWS CLI, usa il describe-ssl-policiescomando. La politica predefinita inAWS CLI èELBSecurityPolicy-2016-08. Per eseguire l'aggiornamento a una politica di sicurezza TLS 1.3 utilizzando ilAWS CLI, usa ilssl-policy parametro con i comandi create-listener e modify-listener.

Policy di sicurezza FS

Nella tabella seguente vengono descritti i criteri predefinitiELBSecurityPolicy-2016-08 (quelli predefiniti inAWS CLI) e iELBSecurityPolicy-FS criteri. ELBSecurityPolicy-il prefisso è stato rimosso dai nomi delle politiche nella riga dell'intestazione in modo che si adattino.

Policy di sicurezza 
                                            ELBSecurityPolicy-2016-08
                                        
                                            ELBSecurityPolicy-FS-1-2-Res-2020-10
                                        
                                            ELBSecurityPolicy-FS-1-2-Res-2019-08
                                        
                                            ELBSecurityPolicy-FS-1-2-2019-08
                                        
                                            ELBSecurityPolicy-FS-1-1-2019-08
                                        
                                            ELBSecurityPolicy-FS-2018-06
Protocolli TLS

Protocollo-TLSv1

Protocol-TLSv1.1

Protocol-TLSv1.2

Crittografie TLS

ECDHE-ECDSA-AES128-GCM-SHA256

ECDHE-RSA-AES128-GCM-SHA256

ECDHE-ECDSA-AES128-SHA256

ECDHE-RSA-AES128-SHA256

ECDHE-ECDSA-AES128-SHA

ECDHE-RSA-AES128-SHA

ECDHE-ECDSA-AES256-GCM-SHA384

ECDHE-RSA-AES256-GCM-SHA384

ECDHE-ECDSA-AES256-SHA384

ECDHE-RSA-AES256-SHA384

ECDHE-RSA-AES256-SHA

ECDHE-ECDSA-AES256-SHA

AES128-GCM-SHA256

AES128-SHA256

AES128-SHA

AES256-GCM-SHA384

AES256-SHA256

AES256-SHA

Policy di sicurezza TLS

Nella tabella seguente vengono descritti i criteri predefinitiELBSecurityPolicy-2016-08 (quelli predefiniti inAWS CLI) e iELBSecurityPolicy-TLS criteri. IlELBSecurityPolicy- prefisso è stato rimosso dai nomi delle politiche nella riga dell'intestazione in modo che corrispondano.

Policy di sicurezza 
                                            ELBSecurityPolicy-2016-08
                                        
                                            ELBSecurityPolicy-TLS-1-2-Ext-2018-06
                                        
                                            ELBSecurityPolicy-TLS-1-2-2017-01
                                        
                                            ELBSecurityPolicy-TSL-1-1-2017-01
                                        
                                            ELBSecurityPolicy-TLS-1-0-2015-04
Protocolli TLS

Protocollo-TLSv1

Protocol-TLSv1.1

Protocol-TLSv1.2

Crittografie TLS

ECDHE-ECDSA-AES128-GCM-SHA256

ECDHE-RSA-AES128-GCM-SHA256

ECDHE-ECDSA-AES128-SHA256

ECDHE-RSA-AES128-SHA256

ECDHE-ECDSA-AES128-SHA

ECDHE-RSA-AES128-SHA

ECDHE-ECDSA-AES256-GCM-SHA384

ECDHE-RSA-AES256-GCM-SHA384

ECDHE-ECDSA-AES256-SHA384

ECDHE-RSA-AES256-SHA384

ECDHE-RSA-AES256-SHA

ECDHE-ECDSA-AES256-SHA

AES128-GCM-SHA256

AES128-SHA256

AES128-SHA

AES256-GCM-SHA384

AES256-SHA256

AES256-SHA

DES-CBC3-SHA

* Non utilizzare questa politica a meno che non sia necessario supportare un client legacy che richiede il codice DES-CBC3-SHA, che è un codice debole.

Per visualizzare la configurazione di una politica di sicurezza per il tuo load balancer utilizzando ilAWS CLI, usa il describe-ssl-policiescomando.

Policy ALPN

Application-Layer Protocol Negotiation (ALPN) è un'estensione TLS che viene inviata nei messaggi Hello di handshake TLS iniziali. ALPN consente al livello dell'applicazione di negoziare quali protocolli devono essere utilizzati su una connessione sicura, ad esempio HTTP/1 e HTTP/2.

Quando il client avvia una connessione ALPN, il sistema di bilanciamento del carico confronta l'elenco delle preferenze ALPN client con la relativa policy ALPN. Se il client supporta un protocollo dalla policy ALPN, il sistema di bilanciamento del carico stabilisce la connessione in base all'elenco delle preferenze della policy ALPN. In caso contrario, il sistema di bilanciamento del carico non utilizza ALPN.

Policy ALPN supportate

Di seguito sono riportati le policy ALPN supportate:

HTTP1Only

Negoziare solo HTTP/1.*. L'elenco delle preferenze ALPN è http/1.1, http/1.0.

HTTP2Only

Negoziare solo HTTP/2. L'elenco delle preferenze ALPN è h2.

HTTP2Optional

Preferire HTTP/1.* rispetto a HTTP/2 (che può essere utile per i test HTTP/2). L'elenco delle preferenze ALPN è http/1.1, http/1.0, h2.

HTTP2Preferred

Preferire HTTP/2 rispetto a HTTP/1.*. L'elenco delle preferenze ALPN è h2, http/1.1, http/1.0.

None

Non negoziare ALPN. Questa è l'impostazione predefinita.

Abilitare connessioni ALPN

È possibile abilitare le connessioni ALPN quando si crea o si modifica un listener TLS. Per ulteriori informazioni, consultare Aggiunta di un listener e Aggiornamento della policy ALPN.