Criteri SSL per i protocolli SSL e TLS

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

I criteri SSL sono supportati con i seguenti bilanciatori del carico:

  • Criteri SSL globali
    • Bilanciatore del carico delle applicazioni esterno globale
    • Bilanciatore del carico delle applicazioni classico
    • Bilanciatore del carico di rete proxy esterno (con un proxy SSL di destinazione)
  • Criteri SSL a livello di regione
    • Bilanciatore del carico delle applicazioni esterno regionale
    • Bilanciatore del carico delle applicazioni interno

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 sulle crittografie SSL utilizzate per le 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 su 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 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.

I 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 all'insieme più ampio di client, inclusi quelli che supportano solo funzionalità SSL obsolete, di negoziare SSL con il bilanciatore del carico.
  • MODERNO. Supporta un'ampia serie 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 funzionalità 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 che il bilanciatore del carico può negoziare. Ad esempio, le crittografie abilitate nel profilo RESTRICTED sono supportate solo da TLS 1.2. La scelta del profilo LIMITATO richiede in modo efficace che i client utilizzino 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 SSL 3.0 o versioni precedenti. La tabella seguente 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 supportato da Cloud Load Balancing.

Durante ogni handshake TLS, il client indica la versione del protocollo TLS più elevata che supporta. Il server è tenuto 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 ancora precedente che supporta solo TLS 1.1 non riesce.

La seguente tabella elenca le funzionalità dei criteri SSL disponibili per ciascun profilo preconfigurato. Tutte le funzionalità controllano se è possibile utilizzare determinati 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 Funzionalità Nel profilo COMPATIBLE Nel profilo MODERN 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 funzioni abilitate nei profili COMPATIBILE, MODERNA e LIMITATA, nonché le funzioni configurabili in un profilo PERSONALIZZATO. Lo facciamo man mano che rimuoviamo il supporto per le funzionalità SSL meno recenti e aggiungiamo il supporto per quelle più recenti.

Quando aggiungiamo funzionalità che migliorano le funzionalità SSL, possiamo abilitarle immediatamente nei profili COMPATIBILE, MODERNA e LIMITATA 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.

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

Limitazioni

  • La disattivazione di determinate versioni SSL o di determinate crittografie potrebbe impedire ad alcuni client meno recenti di connettersi al tuo proxy utilizzando HTTPS o SSL. Se disabiliti una selezione sufficientemente ampia di crittografie nel profilo PERSONALIZZATO, i client potrebbero non essere in grado 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 1.2 e versioni precedenti. Non controllano la selezione della crittografia nelle connessioni che utilizzano QUIC o TLS 1.3.

Passaggi successivi