Dans ce document, le terme SSL fait référence aux protocoles Secure Sockets Layer (SSL) et Transport Layer Security (TLS). Les informations de ce document s'appliquent aux connexions TLS sur le protocole de transport TCP, qui peuvent utiliser n'importe quelle version compatible de TLS. Pour les équilibreurs de charge qui utilisent HTTP/3, le protocole de transport sous-jacent est QUIC, qui utilise exclusivement TLS 1.3.
Les règles SSL sont des objets de configuration Google Cloud qui vous permettent de contrôler la manière dont les équilibreurs de charge mettent fin aux connexions TLS des clients. Une règle SSL est associée à un proxy HTTPS ou SSL cible. Une règle SSL spécifie un profil de fonctionnalités TLS et une version TLS minimale.
Chaque profil prédéfini d'une règle SSL spécifie un ensemble de fonctionnalités TLS que l'équilibreur de charge est configuré pour prendre en charge. La version TLS minimale limite davantage l'équilibreur de charge à l'utilisation de versions spécifiques de TLS. Dans les cas où vous devez spécifier la compatibilité avec des suites de chiffrement particulières utilisées par TLS 1.2 et les versions antérieures, un profil personnalisé vous permet de le faire. Chaque règle SSL est associée à un champ d'application (global ou régional) en fonction de l'équilibreur de charge.
Les équilibreurs de charge suivants sont compatibles avec les règles SSL globales :
- Équilibreur de charge d'application externe global
- Équilibreur de charge d'application classique
- Équilibreur de charge d'application interne interrégional
- Équilibreur de charge réseau proxy externe global
- Équilibreur de charge réseau proxy classique
Les équilibreurs de charge suivants sont compatibles avec les règles SSL régionales :
- Équilibreur de charge d'application externe régional
- Équilibreur de charge d'application interne régional
L'association d'une règle SSL à un proxy HTTPS ou SSL cible est facultative. Chaque proxy HTTPS ou SSL cible ne peut être associé qu'à une seule règle SSL. Vous pouvez associer la même règle SSL à plusieurs proxys HTTPS cibles ou à plusieurs proxys SSL cibles, à condition que la règle SSL et le proxy cible utilisent des niveaux identiques. Les modifications apportées aux règles SSL n'altèrent ni n'interrompent les connexions de l'équilibreur de charge existantes.
L'exemple suivant montre comment les connexions de clients sont établies et interrompues au niveau d'un équilibreur de charge.
Vous pouvez utiliser une règle SSL pour configurer la version TLS minimale et les fonctionnalités SSL activées dans l'équilibreur de charge. Les règles SSL affectent les connexions entre les clients et l'équilibreur de charge (connexion 1 dans l'illustration). Les règles SSL n'affectent pas les connexions entre l'équilibreur de charge et les backends (connexion 2 dans l'illustration).
Créer une règle SSL
Lorsque vous créez une règle SSL, vous spécifiez les informations suivantes :
- profile, qui spécifie un ensemble de fonctionnalités TLS que l'équilibreur de charge est configuré pour prendre en charge
- Version TLS minimale, qui limite davantage l'équilibreur de charge à l'utilisation de versions TLS spécifiques
- Le paramètre d'échange de clés post-quantique, qui spécifie quand l'échange de clés post-quantique est activé sur l'équilibreur de charge
Lorsqu'ils se connectent à l'équilibreur de charge, les clients annoncent les versions du protocole TLS, les suites de chiffrement et les autres fonctionnalités TLS qu'ils sont en mesure de prendre en charge. Lors du handshake TLS, l'équilibreur de charge choisit la version la plus récente du protocole TLS qu'il prend en charge, ainsi que le client. Il choisit également d'autres paramètres TLS (y compris une suite de chiffrement) pour la connexion. Le handshake TLS échoue si l'équilibreur de charge et le client ne sont pas compatibles avec les mêmes versions TLS, suites de chiffrement et autres fonctionnalités.
Profils prédéfinis
Google Cloud fournit les profils prédéfinis suivants.
COMPATIBLE: accepte l'ensemble le plus vaste de clients, y compris ceux qui ne peuvent utiliser que les versions et les fonctionnalités TLS antérieures.MODERN: accepte un large éventail d'algorithmes de chiffrement TLS, ce qui permet aux clients modernes d'effectuer des négociations TLS.RESTRICTED: accepte un ensemble réduit de chiffrements TLS. Le profilRESTRICTEDest destiné à répondre à des exigences de conformité plus strictes.FIPS_202205: accepte un ensemble de fonctionnalités TLS destinées à répondre aux exigences de conformité FIPS 140-3.
Profil personnalisé
Les profils COMPATIBLE, MODERN et RESTRICTED diffèrent par l'ensemble des suites de chiffrement qu'ils prennent en charge lorsque l'équilibreur de charge négocie TLS 1.2 et les versions antérieures. Le tableau de la section Suites de chiffrement pour TLS 1.2 et versions antérieures montre ces différences.
Vous pouvez également créer un profil CUSTOM et spécifier individuellement les suites de chiffrement que l'équilibreur de charge prend en charge pour TLS 1.2 et les versions antérieures. Cela n'affecte pas la façon dont l'équilibreur de charge négocie TLS 1.3.
Comportement lorsqu'aucune règle SSL n'est spécifiée
Si vous n'associez pas de règle SSL à un proxy HTTPS ou SSL cible, l'équilibreur de charge fonctionne comme si vous aviez associé une règle SSL avec les paramètres suivants :
- le profil
COMPATIBLEest sélectionné. - la version TLS minimale est définie sur 1.0.
Compatibilité avec les versions TLS
Notez qu'un profil peut indirectement restreindre les versions de TLS que l'équilibreur de charge peut négocier. Par exemple, les suites de chiffrement activées dans le profil RESTRICTED n'incluent aucune suite de chiffrement compatible avec TLS 1.0 ou 1.1. Le choix du profil RESTRICTED interdit donc aux clients d'utiliser TLS 1.0 et TLS 1.1, même si la version TLS minimale de la règle SSL est définie sur 1.0 ou 1.1.
Cloud Load Balancing n'est pas compatible avec la version 3.0 ou antérieure de SSL. Le tableau suivant décrit la compatibilité des fonctionnalités pour chaque version TLS/SSL.
| Version TLS/SSL | Prise en charge de fonctionnalités |
|---|---|
| TLS 1.3 |
Tous les profils, à l'exception du profil
Le profil
|
| TLS 1.2 et versions antérieures | Le profil utilisé par la règle SSL contrôle les suites de chiffrement utilisées avec TLS 1.2 et les versions antérieures. |
| SSL 3.0 ou version antérieure | Non compatible avec les équilibreurs de charge qui utilisent des règles SSL. |
Suites de chiffrement pour TLS 1.2 et versions antérieures
Le tableau suivant présente les suites de chiffrement pour TLS 1.2 et versions antérieures incluses dans chaque profil prédéfini. Lorsque vous créez une règle SSL qui utilise le profil CUSTOM, vous pouvez sélectionner ces suites de chiffrement individuellement. Les règles SSL qui utilisent le profil CUSTOM doivent inclure au moins une suite de chiffrement de la liste suivante.
| Valeur IANA | Fonctionnalité | COMPATIBLE |
MODERN |
RESTRICTED |
FIPS_202205 |
|---|---|---|---|---|---|
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 |
Détails du profil FIPS_202205
Le profil FIPS_202205 limite l'équilibreur de charge à l'utilisation d'un ensemble de fonctionnalités TLS censées être compatibles avec la norme FIPS 140-3.
Lorsqu'une règle SSL utilise ce profil, l'équilibreur de charge est compatible avec TLS 1.2 ou 1.3, avec les restrictions suivantes :
Si la connexion TLS utilise TLS 1.2, seules les suites de chiffrement suivantes sont autorisées :
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Si la connexion TLS utilise TLS 1.3, seules les suites de chiffrement suivantes sont autorisées :
TLS_AES_128_GCM_SHA256TLS_AES_256_GCM_SHA384
Seuls
P-256ouP-384sont autorisés pour la clé-contrat.Seules les signatures numériques de certificat d'équilibreur de charge suivantes sont autorisées :
- PKCS#1/PSS avec
SHA-256,SHA-384ouSHA-512 - ECDSA avec
P-256ouP-384etSHA-256ouSHA-384
- PKCS#1/PSS avec
Échange de clés post-quantique
L'échange de clés post-quantique protège contre certaines menaces qui pèsent sur la sécurité TLS et qui sont liées à la technologie de l'informatique quantique. À terme, nous l'activerons par défaut dans les équilibreurs de chargeGoogle Cloud . Le paramètre d'échange de clés post-quantique vous permet de l'activer plus tôt, ce que nous vous recommandons de faire.
La forme particulière d'échange de clés post-quantique compatible avec les équilibreurs de charge Google Cloudest X25519MLKEM768, un hybride d'algorithmes cryptographiques classiques et post-quantiques.
Vous pouvez activer l'échange de clés X25519MLKEM768 sur tous les équilibreurs de charge compatibles avec les règles SSL.
Lorsque vous activez l'échange de clés post-quantique, tenez compte des points suivants :
Lorsque l'échange de clés post-quantique est activé, l'équilibreur de charge utilise l'échange de clés
X25519MLKEM768lorsqu'il se connecte à des clients qui annoncent la compatibilité avec TLS 1.3 etX25519MLKEM768. Les connexions aux clients qui ne sont pas compatibles avec TLS 1.3 ouX25519MLKEM768ne sont pas affectées.L'échange de clés post-quantique n'est compatible qu'avec les connexions TLS de frontend, c'est-à-dire les connexions entre le client et l'équilibreur de charge.
L'échange de clés post-quantique peut être activé avec n'importe quel profil de règle SSL et n'importe quel paramètre de version TLS minimale.
Modes d'échange de clés post-quantiques
Le paramètre d'échange de clés post-quantique vous permet de spécifier l'un des éléments suivants :
ENABLED. L'équilibreur de charge utilise l'échange de clésX25519MLKEM768avec les clients qui annoncent sa compatibilité.DEFAULT. L'équilibreur de charge n'autorise pas l'échange de clésX25519MLKEM768jusqu'en octobre 2026. Il s'agit du comportement par défaut si aucune règle SSL n'est associée.DEFERRED. L'équilibreur de charge n'autorise pas l'échange de clésX25519MLKEM768jusqu'en octobre 2027.
La chronologie suivante indique le déploiement prévu de la compatibilité avec l'échange de clés post-quantique pour les équilibreurs de charge.
| Chronologie | État de l'échange de clés post-quantique |
|---|---|
| Maintenant | Désactivé par défaut, activé uniquement lorsqu'il est défini sur ENABLED |
| Après octobre 2026 | Activé par défaut, désactivé lorsqu'il est défini sur DEFERRED |
| Après octobre 2027 | Toujours activé |
Pour savoir comment créer une règle SSL avec un échange de clés post-quantique, consultez Créer des règles SSL.
Limites
La désactivation d'algorithmes de chiffrement ou de versions SSL spécifiques peut empêcher certains des clients les plus anciens de se connecter à votre proxy via HTTPS ou SSL. Si vous désactivez un trop grand nombre d'algorithmes de chiffrement dans le profil
CUSTOM, cela peut avoir pour conséquence qu'aucun client ne sera en mesure d'effectuer des négociations HTTPS.Un certificat SSL associé à votre équilibreur de charge utilise une signature numérique ECDSA ou RSA. Les profils prédéfinis sont compatibles avec ces deux types de signature de certificat. Un profil personnalisé doit autoriser les algorithmes de chiffrements compatibles avec la signature numérique utilisée par les certificats de votre équilibreur de charge.
Étapes suivantes
- Pour créer, modifier ou supprimer des règles SSL, consultez Utiliser des règles SSL.
- Pour configurer un certificat SSL, consultez Présentation des certificats SSL.