Dans ce document, le terme SSL désigne à la fois les protocoles SSL (Secure Sockets Layer) et TLS (Transport Layer Security).
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. Par exemple, vous pouvez utiliser une règle SSL pour définir la version TLS minimale et les fonctionnalités que chaque client doit prendre en charge pour envoyer du trafic à votre é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
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.
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.
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
- Pour créer, modifier ou supprimer des règles SSL, consultez la page Utiliser des règles SSL.
- Pour configurer un certificat SSL, voir Créer et utiliser des certificats SSL.