Présentation des stratégies SSL

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.

Connexions de clients dans des équilibreurs de charge d'application externes ou des équilibreurs de charge réseau proxy externes.
Connexions de clients dans les équilibreurs de charge d'application externes ou les équilibreurs de charge réseau proxy externes (cliquez pour agrandir)

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 profil RESTRICTED est 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 COMPATIBLE est 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 FIPS_202205, sont compatibles avec les suites de chiffrement TLS 1.3 suivantes :

  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256

Le profil FIPS_202205 est compatible avec les deux suites de chiffrement TLS 1.3 suivantes :

  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
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_SHA256
    • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    • TLS_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_SHA256
    • TLS_AES_256_GCM_SHA384
  • Seuls P-256 ou P-384 sont 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-384 ou SHA-512
    • ECDSA avec P-256 ou P-384 et SHA-256 ou SHA-384

É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 X25519MLKEM768 lorsqu'il se connecte à des clients qui annoncent la compatibilité avec TLS 1.3 et X25519MLKEM768. Les connexions aux clients qui ne sont pas compatibles avec TLS 1.3 ou X25519MLKEM768 ne 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és X25519MLKEM768 avec les clients qui annoncent sa compatibilité.

  • DEFAULT. L'équilibreur de charge n'autorise pas l'échange de clés X25519MLKEM768 jusqu'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és X25519MLKEM768 jusqu'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