Criteri SSL per i protocolli SSL e TLS

In questo documento, il termine SSL si riferisce sia ai protocolli SSL (Secure Sockets Layer) sia a TLS (Transport Layer Security).

I criteri SSL specificano l'insieme di funzionalità SSL utilizzate dai bilanciatori del carico Google Cloud durante la negoziazione SSL con i client. Ad esempio, puoi utilizzare un criterio SSL per definire la versione TLS minima e le funzionalità che ogni client deve supportare per inviare traffico al bilanciatore del carico.

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 regionali:

  • 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 offre una buona sicurezza e un'ampia compatibilità. Alcune applicazioni richiedono un maggiore controllo sulle versioni e sulle crittografie SSL utilizzate per le connessioni HTTPS o SSL. Puoi definire criteri SSL per specificare l'insieme di funzionalità SSL utilizzate dal bilanciatore del carico durante la negoziazione SSL con i client.

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

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

Puoi utilizzare un criterio SSL per configurare la versione TLS minima e le funzionalità SSL attivate nel bilanciatore del carico. I criteri SSL influiscono sulle connessioni tra i client e il bilanciatore del carico (Connessione 1 nell'illustrazione). 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, specifica una versione TLS minima e un profilo. Il profilo seleziona un insieme di funzionalità SSL da attivare nel bilanciatore del carico.

Tre profili gestiti da Google preconfigurati ti 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 funzionalità SSL obsolete, di negoziare SSL con il bilanciatore del carico.
  • MODERNO. Supporta un ampio insieme di funzionalità SSL, consentendo ai client moderni di negoziare SSL.
  • LIMITATO. Supporta un insieme ridotto di funzionalità SSL, inteso a soddisfare requisiti di conformità più rigidi.

Un quarto profilo PERSONALIZZATO ti consente di selezionare le funzionalità SSL singolarmente.

Il criterio SSL specifica anche la versione minima del protocollo TLS che i client possono utilizzare per stabilire una connessione.

Tieni presente che un profilo può limitare indirettamente le versioni di TLS che il bilanciatore del carico può negoziare. Ad esempio, le crittografie abilitate nel profilo CON RESTRIZIONI sono supportate solo da TLS 1.2. Pertanto, la scelta del profilo CON RESTRIZIONI di fatto impedisce ai client di utilizzare TLS 1.0 e 1.1, anche se la versione TLS minima del criterio SSL li consente.

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 è equivalente a un criterio SSL che utilizza il profilo COMPATIBILE con una versione TLS minima di TLS 1.0.

Puoi associare un criterio SSL a più di un 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 o interrompono le connessioni dei bilanciatori del carico esistenti.

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

Versione TLS/SSL Funzionalità supportate
TLS 1.0, 1.1 o 1.2 Le impostazioni nei criteri SSL controllano i pacchetti di crittografia applicati alle connessioni dei client.
TLS 1.3 Le impostazioni nei 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 nei criteri SSL non controllano la selezione della crittografia.
SSL 3.0 o versioni precedenti Non applicabile. Non supportato da Cloud Load Balancing.

Durante ogni handshake TLS, il client indica la versione del protocollo TLS più alta supportata. Il server è obbligato a 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 precedente che supporta solo TLS 1.1 non va a buon fine.

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

Valore IANA Funzionalità Nel profilo COMPATIBILE Nel profilo MODERNO Nel profilo RESTRICTED
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 COMPATIBILE, MODERNO e CON RESTRIZIONI, nonché le funzionalità configurabili in un profilo PERSONALIZZATO. Lo facciamo rimuovendo il supporto per le funzionalità SSL meno recenti e aggiungendo il supporto per quelle più recenti.

Quando aggiungiamo funzionalità che migliorano le funzionalità SSL, potremmo attivarle immediatamente nei profili COMPATIBILE, MODERNO e CON RESTRIZIONI in modo che i criteri SSL che selezionano questi 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.

Limitazioni

  • La disattivazione di determinate versioni o crittografi SSL potrebbe comportare l'impossibilità per alcuni client meno recenti di connettersi al proxy utilizzando HTTPS o SSL. La disattivazione di una selezione sufficientemente ampia di crittografi nel profilo CUSTOM potrebbe comportare l'impossibilità per i 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 attivare le crittografie compatibili con la firma digitale utilizzata dai certificati del bilanciatore del carico.

  • Le funzionalità che controllano i pacchetti 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 utilizzano QUIC o TLS 1.3.

Passaggi successivi