SSL/TLS est le protocole cryptographique le plus utilisé sur Internet. Techniquement, TLS est le successeur de SSL, bien que les termes soient parfois utilisés de manière interchangeable, comme dans ce document.
Le protocole TLS (Transport Layer Security) permet de chiffrer les informations lors de leur envoi sur un réseau afin de garantir la confidentialité entre un client et un serveur ou un équilibreur de charge. Un équilibreur de charge d'application ou un équilibreur de charge réseau proxy qui utilise SSL nécessite au moins une clé privée et un certificat SSL.
Méthodes de configuration des certificats
Google Cloud propose trois méthodes de configuration des certificats pour les équilibreurs de charge d'application utilisant des proxys HTTPS cibles et les équilibreurs de charge réseau de proxy utilisant des proxys SSL cibles.
Le proxy cible référence les certificats SSL Compute Engine : avec cette méthode, le proxy cible de l'équilibreur de charge peut référencer jusqu'à 15 ressources de certificat SSL Compute Engine. Chaque ressource de certificat SSL Compute Engine contient la clé privée, le certificat correspondant et, éventuellement, les certificats CA.
Le proxy cible référence un mappage de certificats du gestionnaire de certificats : avec cette méthode, le proxy cible de l'équilibreur de charge référence un seul mappage de certificats. Le mappage de certificats accepte des milliers d'entrées par défaut et peut être étendu à des millions d'entrées. Chaque entrée contient des données de clé privée et de certificat.
Le proxy cible référence directement les certificats du gestionnaire de certificats : avec cette méthode, le proxy cible de l'équilibreur de charge peut référencer jusqu'à 100 certificats du gestionnaire de certificats.
Compatibilité avec les équilibreurs de charge
Le tableau suivant indique les méthodes de configuration des certificats compatibles avec chaque équilibreur de charge.
Équilibreur de charge | Méthode de configuration du certificat : les références du proxy cible... | |||
---|---|---|---|---|
Certificats SSL Compute Engine | Un mappage de certificat Certificate Manager | Directement dans le gestionnaire de certificats | ||
Équilibreurs de charge d'application (proxys HTTPS cibles) | ||||
Équilibreur de charge d'application externe global | Compatible avec les certificats globaux Autogéré Géré par Google |
Géré par l'utilisateur Géré par Google |
||
Équilibreur de charge d'application classique | Compatible avec les certificats globaux Autogéré Géré par Google |
Géré par l'utilisateur Géré par Google |
||
Équilibreur de charge d'application externe régional | Compatible avec les certificats régionaux Autogéré Géré par Google |
Géré par l'utilisateur Géré par Google |
||
Équilibreur de charge d'application interne régional | Compatible avec les certificats régionaux Autogéré Géré par Google |
Géré par l'utilisateur Géré par Google |
||
Équilibreur de charge d'application interne interrégional |
Géré par l'utilisateur Géré par Google |
|||
Équilibreurs de charge réseau proxy (proxy SSL cibles) | ||||
Équilibreur de charge réseau proxy externe global | Compatible avec les certificats globaux Autogéré Géré par Google |
Géré par l'utilisateur Géré par Google |
||
Équilibreur de charge réseau proxy classique | Compatible avec les certificats globaux Autogéré Géré par Google |
Géré par l'utilisateur Géré par Google |
Règles relatives à la méthode de configuration
Google Cloud applique les règles suivantes concernant la méthode de configuration des certificats :
Pour les équilibreurs de charge compatibles à la fois avec les certificats SSL Compute Engine et les mappages de certificats du gestionnaire de certificats : le proxy cible de l'équilibreur de charge peut référencer simultanément un mappage de certificats et un ou plusieurs certificats SSL Compute Engine. Toutefois, dans ce cas, tous les certificats SSL Compute Engine sont ignorés, et seuls les certificats du mappage de certificats sont utilisés par l'équilibreur de charge.
Pour les équilibreurs de charge compatibles à la fois avec les certificats SSL Compute Engine et les certificats Certificate Manager directement associés : le proxy cible de l'équilibreur de charge ne peut être configuré que pour référencer jusqu'à 15 certificats SSL Compute Engine ou jusqu'à 100 certificats Certificate Manager, et non une combinaison des deux.
Types de certificat
Google Cloud est compatible avec les certificats autogérés et gérés par Google.
Certificats SSL autogérés
Les certificats SSL autogérés sont des certificats que vous obtenez, provisionnez et renouvelez vous-même. Les certificats autogérés peuvent appartenir à l'un des types de certificat de clé publique suivants :
- Validation de domaine (DV)
- Validation de l'organisation (OV)
- Validation étendue (EV)
Vous pouvez créer des certificats SSL autogérés à l'aide des éléments suivants :
Ressources de certificat SSL Compute Engine : pour en savoir plus, consultez Utiliser des certificats SSL autogérés.
Certificate Manager : pour en savoir plus, consultez la présentation du déploiement dans la documentation de Certificate Manager.
Certificats SSL gérés par Google
Les certificats SSL gérés par Google sont des certificats que Google Cloudobtient, gère et renouvelle automatiquement. Les certificats gérés par Google sont toujours des certificats de validation de domaine (DV). Ils ne prouvent pas l'identité d'une organisation ou d'une personne associée au certificat.
Les certificats gérés par Google utilisant des caractères génériques ne sont compatibles avec le gestionnaire de certificats que lorsque vous utilisez l'autorisation DNS.
Vous pouvez créer des certificats SSL gérés par Google à l'aide des éléments suivants :
- Ressources de certificat SSL Compute Engine : seules les ressources
sslCertificates
Compute Engine globales sont compatibles avec les certificats SSL gérés par Google. Les ressourcesregionSslCertificates
ne le sont pas. Les certificats SSL Compute Engine globaux ne sont compatibles qu'avec les certificats gérés par Google et approuvés publiquement. Pour en savoir plus, consultez Utiliser des certificats SSL gérés par Google. - Gestionnaire de certificats : les certificats du gestionnaire de certificats (globaux et régionaux) sont compatibles avec les certificats gérés par Google de confiance publique et les certificats gérés par Google de confiance privée. Pour en savoir plus, consultez Certificats dans la documentation de Certificate Manager.
Types de clés acceptés
Les équilibreurs de charge sont compatibles avec les certificats qui utilisent des clés privées de différents types. Le tableau suivant indique les types de clés compatibles selon que les certificats sont globaux ou régionaux, et selon qu'ils sont autogérés ou gérés par Google.
Type de certificat SSL arrow_forward Type de clé arrow_downward |
Certificats SSL Compute Engine | Certificats SSL du gestionnaire de certificats | ||||
---|---|---|---|---|---|---|
Monde | Régional | Monde et régional | ||||
Autogéré | Clé publique gérée par Google et approuvée publiquement | Autogéré | Autogéré | Clé publique gérée par Google et approuvée publiquement | Géré par Google et approuvé de manière privée | |
RSA-2048 | ||||||
RSA-3072 | ||||||
RSA-4096 | ||||||
ECDSA P-256 | ||||||
ECDSA P-384 |
Plusieurs certificats SSL
Un équilibreur de charge d'application ou un équilibreur de charge réseau proxy peut héberger deux certificats SSL ou plus simultanément lorsque son proxy cible est configuré à l'aide d'une méthode de configuration de certificat compatible. Il est recommandé d'utiliser le gestionnaire de certificats lorsque plusieurs certificats SSL sont nécessaires.
Pour les équilibreurs de charge compatibles avec les certificats SSL Compute Engine : le proxy cible de l'équilibreur de charge peut référencer jusqu'à 15 certificats SSL Compute Engine. La première ressource de certificat SSL Compute Engine référencée est le certificat par défaut (principal) du proxy cible.
Pour les équilibreurs de charge compatibles avec un mappage de certificats du gestionnaire de certificats : le proxy cible de l'équilibreur de charge référence un seul mappage de certificats. Le mappage de certificats est compatible avec des milliers d'entrées de mappage de certificats. Vous pouvez configurer quelle entrée de certificat est le certificat par défaut (principal) pour le mappage de certificat.
Pour les équilibreurs de charge qui acceptent les références directes aux certificats du gestionnaire de certificats : le proxy cible de l'équilibreur de charge peut faire référence à un maximum de 100 certificats du gestionnaire de certificats. La première ressource de certificat SSL Certificate Manager référencée est le certificat par défaut (principal) du proxy cible.
Pour en savoir plus, consultez les pages suivantes :
Proxys cibles et Certificats SSL dans la documentation sur l'équilibrage de charge.
Quotas et limites de ressources dans la documentation du gestionnaire de certificats.
Processus de sélection des certificats
La procédure de sélection de certificat suivante s'applique aux équilibreurs de charge dont les proxys cibles font référence à plusieurs certificats SSL Compute Engine ou à plusieurs certificats Certificate Manager.
Le processus de sélection des certificats est différent si le proxy cible d'un équilibreur de charge fait référence à un mappage de certificats Certificate Manager. Pour en savoir plus sur le processus de sélection des certificats d'un mappage de certificats, consultez la section Logique de sélection des certificats dans la documentation du gestionnaire de certificats.
Une fois qu'un client se connecte à l'équilibreur de charge, le client et l'équilibreur de charge négocient une session TLS. Lors de la négociation de la session TLS, le client envoie à l'équilibreur de charge une liste d'algorithmes de chiffrement TLS compatibles (dans ClientHello
). L'équilibreur de charge sélectionne un certificat dont l'algorithme de clé publique est compatible avec le client. Le client peut également envoyer un nom d'hôte d'indication de nom de serveur (SNI) à l'équilibreur de charge lors de cette négociation. Les données de nom d'hôte SNI sont parfois utilisées pour aider l'équilibreur de charge à choisir le certificat qu'il doit envoyer au client.
Si le proxy cible de l'équilibreur de charge ne fait référence qu'à un seul certificat, ce certificat est utilisé et la valeur du nom d'hôte SNI envoyé par le client n'est pas pertinente.
Si le proxy cible de l'équilibreur de charge fait référence à plusieurs certificats, l'équilibreur de charge utilise le processus suivant pour sélectionner un seul certificat :
Si le client n'a envoyé aucun nom d'hôte SNI dans son
ClientHello
, l'équilibreur de charge utilise le premier certificat de sa liste de certificats.Si le client envoie un nom d'hôte SNI qui ne correspond à aucun nom commun de certificat (CN) et ne correspond à aucun autre nom d'objet de certificat (SAN), l'équilibreur de charge utilise le premier certificat de sa liste de certificats.
Dans toutes les autres situations, l'équilibreur de charge sélectionne un certificat à l'aide du processus de correspondance suivant :
La correspondance se fait par suffixe le plus long par rapport aux attributs de certificat du nom commun (CN) et de l'autre nom de l'objet (SAN), avec une préférence pour les certificats ECDSA par rapport aux certificats RSA.
Pour illustrer la méthode de mise en correspondance, considérons un proxy cible qui référence les deux certificats suivants :
Certificat A
- CN :
cats.pets.example.com
- SAN :
cats.pets.example.com
,*.pets.example.com
,*.example.com
- CN :
Certificat B
- CN :
dogs.pets.example.com
- SAN :
dogs.pets.example.com
,*.pets.example.com
,*.example.com
- CN :
Prenons les exemples suivants :
- Si le nom d'hôte SNI envoyé par le client est
cats.pets.example.com
, l'équilibreur de charge utilise le certificat A. - Si le nom d'hôte SNI envoyé par le client est
ferrets.pets.example.com
, il n'y a pas de correspondance exacte. L'équilibreur de charge sélectionne donc le certificat A ou le certificat B, car les deux incluent*.pets.example.com
dans leur liste de SAN. Vous ne pouvez pas contrôler le certificat sélectionné dans cette situation.
- Si le nom d'hôte SNI envoyé par le client est
Une fois le certificat sélectionné, l'équilibreur de charge l'envoie au client uniquement si le certificat sélectionné utilise un algorithme de clé publique compatible avec un algorithme de chiffrement envoyé par le client dans
ClientHello
. La négociation TLS échoue si le client ne prend pas en charge une suite de chiffrement incluant l'algorithme de clé publique (ECDSA ou RSA) du certificat sélectionné par l'équilibreur de charge.
Tarifs
Des frais de mise en réseau vous sont facturés lorsque vous utilisez des équilibreurs de charge Google Cloud . Pour en savoir plus, consultez Tous les tarifs de mise en réseau. Pour en savoir plus sur les tarifs du gestionnaire de certificats, consultez la section Tarifs dans la documentation du gestionnaire de certificats. L'utilisation des ressources de certificat SSL Compute Engine n'entraîne aucuns frais supplémentaires.
Étapes suivantes
Faites l'essai
Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
Essai gratuit