Règles SSL pour les protocoles SSL et TLS

Les règles SSL spécifient l'ensemble des fonctionnalités SSL utilisées par les équilibreurs de charge Google Cloud lors de la négociation SSL avec les clients. Dans ce document, le terme SSL désigne à la fois les protocoles SSL et TLS.

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

Par défaut, ces équilibreurs de charge utilisent un ensemble de fonctionnalités SSL offrant une bonne sécurité et une compatibilité étendue. Certaines applications requièrent davantage de contrôle sur les versions SSL et les algorithmes de chiffrement utilisés pour les connexions HTTPS ou SSL. Vous pouvez définir des règles SSL pour spécifier l'ensemble des fonctionnalités SSL utilisées par votre équilibreur de charge lors de la négociation SSL avec les clients.

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).

Définir une règle SSL

Pour définir une règle SSL, vous devez spécifier une version TLS minimale et un profil. Le profil sélectionne un ensemble de fonctionnalités SSL à activer dans l'équilibreur de charge.

Trois profils préconfigurés gérés par Google vous permettent de spécifier le niveau de compatibilité approprié pour votre application. Les trois profils préconfigurés sont les suivants :

  • COMPATIBLE. Autorise l'ensemble des clients, y compris ceux qui n'acceptent que les fonctionnalités SSL obsolètes, à effectuer des négociations SSL avec l'équilibreur de charge.
  • MODERNE. Accepte un large éventail de fonctionnalités SSL. Ce profil permet aux clients modernes d'effectuer des négociations SSL.
  • LIMITÉ. Accepte un ensemble réduit de fonctionnalités SSL. Ce profil est destiné à répondre à des exigences de conformité plus strictes.

Un quatrième profil personnalisé vous permet de sélectionner des fonctionnalités SSL individuellement.

La règle SSL spécifie également la version minimale du protocole TLS que les clients peuvent utiliser pour établir une connexion.

Notez qu'un profil peut indirectement restreindre les versions de TLS que l'équilibreur de charge peut négocier. Par exemple, les algorithmes de chiffrement activés dans le profil LIMITÉ ne sont acceptés que par TLS 1.2. Le choix du profil LIMITÉ 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 les autorise.

Si vous ne choisissez pas l'un des trois profils préconfigurés ou que vous ne créez pas de règle SSL personnalisée, votre équilibreur de charge utilise la règle SSL par défaut. La règle SSL par défaut est équivalente à une règle SSL qui utilise le profil COMPATIBLE avec une version TLS minimale définie sur TLS 1.0.

Vous pouvez associer une règle SSL à plusieurs proxy cible. Vous ne pouvez pas configurer plus d'une règle SSL pour un proxy cible donné. Aucune modification apportée aux règles SSL n'altère ni n'interrompt les connexions de l'équilibreur de charge existantes.

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 Compatibilité des caractéristiques
TLS 1.0, 1.1 ou 1.2 Paramètres dans les règles SSL qui contrôlent les suites de chiffrement appliquées aux connexions clientes
TLS 1.3 Paramètres dans les règles SSL qui ne contrôlent pas la sélection des algorithmes de chiffrement. TLS 1.3 n'est compatible qu'avec les algorithmes de chiffrement TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384 et TLS_CHACHA20_POLY1305_SHA256.
QUIC Paramètres dans les règles SSL qui ne contrôlent pas la sélection des algorithmes de chiffrement.
SSL 3.0 ou version antérieure Non applicable. Non compatible avec Cloud Load Balancing.

À chaque handshake TLS, le client indique la version de protocole TLS compatible la plus élevée. Le serveur est requis pour sélectionner la version de protocole compatible la plus élevée avec le client et le serveur, et autorisée par la configuration du serveur. Par exemple, si un équilibreur de charge est configuré avec une version TLS minimale de 1.2, un handshake avec un client moderne compatible avec TLS 1.3 sélectionne TLS 1.3. Un handshake avec un client antérieur qui n'est compatible qu'avec le protocole TLS 1.2 utilise TLS 1.2. Un handshake avec un client encore plus ancien qui n'est compatible qu'avec le protocole TLS 1.1 échoue.

Le tableau suivant répertorie les fonctionnalités de règle SSL disponibles pour chaque profil préconfiguré. Toutes les fonctionnalités déterminent si des suites de chiffrement spécifiques peuvent être utilisées et s'appliquent uniquement aux connexions de clients utilisant TLS version 1.2 ou antérieure, et non aux clients utilisant QUIC.

Valeur IANA Caractéristique Profil COMPATIBLE Profil MODERNE Profil LIMITÉ
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

Mises à jour de fonctionnalités

Nous nous réservons le droit de modifier le jeu de fonctionnalités activé dans les profils COMPATIBLE, MODERNE et LIMITÉ, ainsi que les fonctionnalités configurables dans un profil PERSONNALISÉ. Le cas peut se présenter lorsque nous supprimons la compatibilité avec d'anciennes fonctionnalités SSL ou lorsque nous en intégrons de nouvelles.

Lorsque nous ajoutons des fonctionnalités qui améliorent les capacités SSL, nous pouvons les activer immédiatement dans les profils COMPATIBLE, MODERNE et LIMITÉ, afin que les règles SSL qui sélectionnent ces profils puissent utiliser les nouvelles fonctionnalités. Toutefois, si votre règle sélectionne le profil PERSONNALISÉ, vous devez modifier les paramètres de stratégie pour utiliser les fonctionnalités ajoutées.

Lorsque nous supprimons la possibilité de contrôler une fonctionnalité (en l'activant de force ou en la désactivant de force pour toutes les stratégies), nous fournissons un préavis, sauf lorsque la suppression du contrôle est nécessaire pour des raisons de sécurité.

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 PERSONNALISÉ, 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.

  • Les fonctions qui contrôlent les suites de chiffrement ne concernent que les connexions clientes qui utilisent TLS version 1.2 ou une version antérieure. Elles ne contrôlent pas la sélection de chiffrement dans les connexions qui utilisent QUIC ou TLS 1.3.

Étapes suivantes