Criteri SSL per i protocolli SSL e TLS

I criteri SSL specificano l'insieme di funzionalità SSL utilizzate dai bilanciatori del carico Google Cloud durante la negoziazione di SSL con i client. In questo documento, il termine SSL si riferisce ai protocolli SSL e TLS.

I seguenti bilanciatori del carico supportano i criteri SSL globali:

  • Bilanciatore del carico delle applicazioni esterno globale
  • Bilanciatore del carico delle applicazioni classico
  • Bilanciatore del carico delle applicazioni interno tra regioni
  • Bilanciatore del carico di rete proxy esterno globale
  • Bilanciatore del carico di rete proxy classico

I seguenti bilanciatori del carico supportano i criteri SSL a livello di regione:

  • Bilanciatore del carico delle applicazioni esterno regionale
  • Bilanciatore del carico delle applicazioni interno regionale

Per impostazione predefinita, questi bilanciatori del carico utilizzano un insieme di funzionalità SSL che offrono una buona sicurezza e un'ampia compatibilità. Alcune applicazioni richiedono un maggiore controllo sulle versioni e le crittografie SSL utilizzate per le loro connessioni HTTPS o SSL. Puoi definire i criteri SSL per specificare l'insieme di funzionalità SSL utilizzate dal bilanciatore del carico durante la negoziazione di SSL con i client.

L'esempio seguente mostra come vengono stabilite e terminate le connessioni dai client a un bilanciatore del carico.

Connessioni client in bilanciatori del carico delle applicazioni esterni o bilanciatori del carico di rete con proxy esterni.
Connessioni client in bilanciatori del carico delle applicazioni esterni o bilanciatori del carico di rete con proxy esterni (fai clic per ingrandire).

Puoi utilizzare un criterio SSL per configurare la versione TLS minima e le funzionalità SSL abilitate nel bilanciatore del carico. I criteri SSL influiscono sulle connessioni tra i client e il bilanciatore del carico (Connessione-1 nella figura). I criteri SSL non influiscono sulle connessioni tra il bilanciatore del carico e i backend (Connessione-2).

Definizione di un criterio SSL

Per definire un criterio SSL, devi specificare una versione TLS minima e un profilo. Il profilo seleziona un insieme di funzionalità SSL da abilitare nel bilanciatore del carico.

Tre profili preconfigurati gestiti da Google consentono di specificare il livello di compatibilità appropriato per la tua applicazione. I tre profili preconfigurati sono i seguenti:

  • COMPATIBILE. Consente al set più ampio di client, inclusi quelli che supportano solo le funzionalità SSL obsolete, per negoziare SSL con il bilanciatore del carico.
  • MODERNO. Supporta un ampio set di funzionalità SSL, consentendo ai client moderni di negoziare SSL.
  • LIMITAZIONI. Supporta un insieme ridotto di funzionalità SSL, intese a soddisfare requisiti di conformità più rigidi.

Un quarto profilo PERSONALIZZATO consente di selezionare singolarmente le funzioni SSL.

Il criterio SSL specifica inoltre la versione minima del protocollo TLS che i client possono utilizzare per stabilire una connessione. Un profilo può anche limitare le versioni di TLS negoziate dal bilanciatore del carico. Ad esempio, le crittografie abilitate nel profilo RESTRICTED sono supportate solo da TLS 1.2. La scelta del profilo LIMITATO richiede in modo efficace ai client di utilizzare TLS 1.2 indipendentemente dalla versione TLS minima scelta.

Se non scegli uno dei tre profili preconfigurati o non crei un criterio SSL personalizzato, il bilanciatore del carico utilizza il criterio SSL predefinito. Il criterio SSL predefinito equivale a un criterio SSL che utilizza il profilo COMPATIBILE con una versione TLS minima di TLS 1.0.

Puoi collegare un criterio SSL a più proxy di destinazione. Non puoi configurare più di un criterio SSL per un determinato proxy di destinazione. Eventuali modifiche apportate ai criteri SSL non alterano né interrompono le connessioni esistenti del bilanciatore del carico.

Cloud Load Balancing non supporta le versioni SSL 3.0 o precedenti. La seguente tabella descrive il supporto delle funzionalità per ogni versione TLS/SSL.

Versione TLS/SSL Supporto delle funzionalità
TLS 1.0, 1.1 o 1.2 Le impostazioni nei criteri SSL controllano le suite di crittografia applicate alle connessioni client.
TLS 1.3 Le impostazioni dei criteri SSL non controllano la selezione della crittografia. TLS 1.3 supporta solo le crittografie TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384 e TLS_CHACHA20_POLY1305_SHA256.
QUIC Le impostazioni dei criteri SSL non controllano la selezione della crittografia.
SSL 3.0 o versioni precedenti Non applicabile. Non supportata da Cloud Load Balancing.

Durante ogni handshake TLS, il client indica la versione del protocollo TLS più elevata che supporta. Il server è obbligatorio per selezionare la versione di protocollo più recente supportata dal client e dal server e consentita dalla configurazione del server. Ad esempio, se un bilanciatore del carico è configurato con una versione TLS minima di 1.2, un handshake con un client moderno che supporta TLS 1.3 seleziona TLS 1.3. Un handshake con un client precedente che supporta solo TLS 1.2 utilizza TLS 1.2. Un handshake con un client ancora precedente che supporta solo TLS 1.1 non va a buon fine.

La seguente tabella elenca le funzionalità dei criteri SSL disponibili per ogni profilo preconfigurato. Tutte le funzionalità controllano se è possibile utilizzare particolari suite di crittografia e si applicano solo alle connessioni client che utilizzano TLS versione 1.2 o precedente, non ai client che utilizzano QUIC.

Valore IANA Selezione delle Nel profilo COMPATIBLE Nel profilo MODERN Nel profilo LIMITATO
0xCCA9 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
0xCCA8 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
0xC02B TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
0xC02F TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
0xC02C TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
0xC030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
0xC009 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
0xC013 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
0xC00A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
0xC014 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
0x009C TLS_RSA_WITH_AES_128_GCM_SHA256
0x009D TLS_RSA_WITH_AES_256_GCM_SHA384
0x002F TLS_RSA_WITH_AES_128_CBC_SHA
0x0035 TLS_RSA_WITH_AES_256_CBC_SHA
0x000A TLS_RSA_WITH_3DES_EDE_CBC_SHA

Aggiornamenti delle funzionalità

Ci riserviamo il diritto di aggiornare l'insieme di funzionalità abilitate nei profili COMPATIBLE, MODERN e RESTRICTED, nonché le funzionalità configurabili in un profilo PERSONALIZZATO. È il momento di rimuovere il supporto per le funzionalità SSL meno recenti e di aggiungere supporto per quelle più recenti.

Quando aggiungiamo funzionalità che migliorano le funzionalità SSL, possiamo attivarle immediatamente nei profili COMPATIBILE, MODERNO e LIMITATO, in modo che i criteri SSL che selezionano quei profili possano utilizzare le nuove funzionalità. Tuttavia, se il criterio seleziona il profilo PERSONALIZZATO, devi modificare le impostazioni del criterio per utilizzare le funzionalità aggiunte.

Quando rimuoviamo la possibilità di controllare una funzionalità (forzandola o forzandola per tutti i criteri), forniamo un preavviso, tranne nei casi in cui la rimozione del controllo sia necessaria per motivi di sicurezza.

Limitazioni

  • La disabilitazione di determinate versioni o crittografie SSL potrebbe comportare l'impossibilità da parte di alcuni client meno recenti di connettersi al tuo proxy utilizzando HTTPS o SSL. La disattivazione di una selezione sufficientemente ampia di crittografie nel profilo PERSONALIZZATO potrebbe impedire ai client di negoziare HTTPS.

  • Un certificato SSL associato al bilanciatore del carico utilizza una firma digitale ECDSA o RSA. I profili predefiniti sono compatibili con entrambi i tipi di firme dei certificati. Un profilo personalizzato deve abilitare crittografie compatibili con la firma digitale utilizzata dai certificati del bilanciatore del carico.

  • Le funzionalità che controllano le suite di crittografia si applicano solo alle connessioni client che utilizzano TLS versione 1.2 e precedenti. Non controllano la selezione della crittografia nelle connessioni che usano QUIC o TLS 1.3.

Passaggi successivi