Présentation des certificats SSL

Transport Layer Security (TLS) est un protocole de chiffrement utilisé dans les certificats SSL pour protéger les communications réseau.

Google Cloud utilise des certificats SSL pour assurer la confidentialité et la sécurité entre un client et un équilibreur de charge. Pour ce faire, l'équilibreur de charge doit disposer d'un certificat SSL et de la clé privée correspondante. La communication entre le client et l'équilibreur de charge reste privée, et donc illisible par un tiers s'il ne possède pas cette clé privée.

Équilibreurs de charge

Le tableau suivant récapitule les types d'équilibreurs de charge Google Cloud qui nécessitent des certificats SSL.

Type d'équilibreur de charge Protocole entre le client et l'équilibreur de charge
Équilibreurs de charge HTTPS internes HTTPS ou HTTP/2
Équilibreurs de charge HTTPS externes HTTPS ou HTTP/2
Équilibreurs de charge proxy SSL SSL (TLS)

Certificats SSL autogérés et gérés par Google

Vous pouvez obtenir vos propres certificats autogérés ou utiliser des certificats gérés par Google, que Google récupère et gère pour votre compte.

  • Les certificats SSL autogérés sont des certificats que vous obtenez, provisionnez et renouvelez vous-même. Ils peuvent faire partie des types de certificats suivants :

    • Validation de domaine (DV)
    • Validation de l'organisation (OV)
    • Validation étendue (EV)

    Pour plus d'informations, consultez l'article Wikipédia sur les certificats de clé publique.

  • Les certificats SSL gérés par Google sont des certificats que Google Cloud obtient et gère pour vos domaines. Ils sont renouvelés automatiquement. Les certificats gérés par Google sont des certificats de validation de domaine. Ils ne prouvent pas l'identité d'une organisation ou d'un individu associé au certificat, et ne sont pas compatibles avec les noms communs contenant des caractères génériques.

Pour l'équilibreur de charge HTTP(S) externe et l'équilibreur de charge proxy SSL, vous pouvez référencer un certificat SSL géré par Google, un certificat SSL autogéré, ou une combinaison de ces deux types de certificats, sur un proxy cible. Les certificats peuvent être référencés dans n'importe quel ordre. Pour l'équilibreur de charge HTTP(S) interne, vous devez utiliser des certificats autogérés.

Pour en savoir plus sur la configuration des certificats SSL pour vos équilibreurs de charge, consultez les guides suivants :

Utiliser plusieurs certificats SSL

Vous pouvez configurer plusieurs certificats SSL en fonction du nombre maximal de certificats SSL par proxy HTTPS ou SSL cible. Utilisez plusieurs certificats SSL lorsque vous diffusez des données à partir de plusieurs domaines en utilisant la même adresse IP et le même port d'équilibreur de charge, et que vous souhaitez utiliser un certificat SSL distinct pour chaque domaine.

Lorsque vous spécifiez plusieurs certificats SSL, le premier certificat de la liste des certificats SSL est considéré comme le principal certificat SSL associé au proxy cible.

Lorsqu'un client envoie une requête, l'équilibreur de charge utilise le nom d'hôte SNI spécifié par le client pour sélectionner le certificat à utiliser lors de la négociation de la connexion SSL.

Dans la mesure du possible, l'équilibreur de charge sélectionne un certificat dont le nom commun (CN) ou l'autre nom de l'objet (SAN) correspond au nom d'hôte SNI spécifié par le client. RSA et ECDSA sont des types de signatures numériques et le logiciel client doit pouvoir les utiliser.

Si aucun des certificats disponibles ne peut être sélectionné ou si le client ne spécifie pas de nom d'hôte SNI, l'équilibreur de charge négocie la connexion SSL à l'aide du certificat principal (le premier certificat de la liste).

Utilisation de plusieurs certificats SSL (cliquez pour agrandir)
Utilisation de plusieurs certificats SSL (cliquez pour agrandir)

Chiffrement entre l'équilibreur de charge et les backends

Pour l'équilibrage de charge HTTP(S), l'équilibrage de charge proxy TCP et l'équilibrage de charge proxy SSL, Google chiffre automatiquement le trafic entre les Google Front Ends (GFE) et vos backends hébergés dans Google Cloud.

En plus de ce chiffrement au niveau du réseau, vous pouvez utiliser un protocole sécurisé, tel que SSL, HTTPS ou HTTP/2 (via TLS), comme protocole de service de backend pour les équilibreurs de charge basés sur GFE ainsi que pour l'équilibrage de charge HTTP(S) interne et pour Traffic Director.

Lorsqu'un équilibreur de charge se connecte à vos backends via un protocole de service de backend sécurisé, le serveur GFE joue le rôle du client SSL ou HTTPS. De même, lorsqu'un proxy côté client configuré à l'aide de Traffic Director se connecte à vos backends à l'aide d'un protocole de service de backend sécurisé, le proxy joue le rôle de client SSL ou HTTPS.

Un protocole sécurisé permettant de se connecter aux instances backend est recommandé dans les cas suivants :

  • Lorsque vous avez besoin d'une connexion chiffrée vérifiable entre l'équilibreur de charge (ou Traffic Director) et les instances backend.

  • Lorsque l'équilibreur de charge se connecte à une instance backend externe à Google Cloud (via un NEG Internet). La communication avec un backend NEG Internet peut transiter sur l'Internet public. Lorsque l'équilibreur de charge se connecte à un NEG Internet, le certificat doit être signé par une autorité de certification publique et répondre aux exigences de validation.

Pour utiliser un protocole sécurisé entre l'équilibreur de charge et vos backends, gardez à l'esprit les exigences suivantes :

  • Vous devez configurer les services de backend de votre équilibreur de charge pour utiliser le protocole SSL (TLS), HTTPS ou HTTP/2.

  • Sur les instances backend, vous devez configurer un logiciel pour diffuser le trafic à l'aide du même protocole que le service de backend. Par exemple, si le service de backend utilise le protocole HTTPS, veillez à configurer vos instances backend pour qu'elles utilisent le protocole HTTPS. Si vous utilisez le protocole HTTP/2, vos backends doivent utiliser le protocole TLS. Pour obtenir des instructions de configuration, reportez-vous à la documentation du logiciel de votre instance backend.

  • Vous devez installer des clés privées et des certificats sur vos instances backend. Ces certificats ne doivent pas nécessairement correspondre au certificat SSL de l'équilibreur de charge. Pour obtenir des instructions d'installation, reportez-vous à la documentation du logiciel de votre instance backend.

  • Vous devez configurer le logiciel exécuté sur vos instances backend pour qu'il fonctionne en tant que serveur SSL ou HTTPS. Pour obtenir des instructions de configuration, reportez-vous à la documentation du logiciel de votre instance backend.

Tenez compte des points suivants lorsque vous utilisez un groupe d'instances ou des backends NEG de zone :

  • Lorsqu'un serveur GFE démarre une session TLS sur les backends, le serveur GFE n'utilise pas l'extension SNI (Server Name Indication).

  • Lorsqu'un serveur GFE se connecte à des backends situés dans Google Cloud, il accepte tous les certificats présentés par vos backends. Les serveurs GFE n'effectuent pas de validation des certificats. Par exemple, le certificat est considéré comme valide même dans les cas suivants :

    • Le certificat est autosigné.
    • Le certificat est signé par une autorité de certification inconnue.
    • Le certificat a expiré ou n'est pas encore valide.
    • Les attributs CN et subjectAlternativeName ne correspondent pas à un en-tête Host ni à un enregistrement PTR DNS.
Pour plus d'informations sur le chiffrement de Google, consultez la page Chiffrement des données en transit dans Google Cloud.

Équilibreurs de charge, certificats SSL et proxys cibles

Une ressource de certificat SSL Google Cloud contient à la fois une clé privée et le certificat SSL lui-même.

Les proxys cibles représentent la connexion logique entre l'interface d'un équilibreur de charge et son service de backend (pour les équilibreurs de charge proxy SSL) ou le mappage d'URL (pour les équilibreurs de charge HTTPS).

Le schéma suivant montre comment le proxy cible et les certificats SSL associés s'intègrent à l'architecture d'équilibrage de charge.

Proxy cible, certificat SSL et autres composants de l'équilibreur de charge (cliquez pour agrandir)
Proxy cible, certificat SSL et autres composants de l'équilibreur de charge (cliquez pour agrandir)

Champ d'application du certificat SSL

Google Cloud offre deux champs d'application pour les certificats SSL : régional et mondial.

Type d'équilibreur de charge Champ d'application de la ressource de certificat SSL Documentation de référence sur gcloud Référence d'API
Équilibreurs de charge HTTPS internes Régional gcloud compute ssl-certificates --region regionSslCertificates
Équilibreurs de charge HTTPS externes Mondial gcloud compute ssl-certificates --global sslCertificates
Équilibreurs de charge proxy SSL Mondial gcloud compute ssl-certificates --global sslCertificates

Proxy cibles

Les certificats SSL sont associés aux types de proxys cibles suivants :

Type d'équilibreur de charge Type de proxy cible Documentation de référence sur gcloud Référence d'API
Équilibreurs de charge HTTPS internes Régional gcloud compute target-https-proxies --region regionTargetHttpsProxies
Équilibreurs de charge HTTPS externes Mondial gcloud compute target-https-proxies --global targetHttpsProxies
Équilibreurs de charge proxy SSL Mondial gcloud compute target-ssl-proxies --global targetSslProxies

Limites

  • Un nombre limité de certificats SSL est accepté pour chaque proxy cible. Pour plus d'informations, consultez le nombre maximal de certificats SSL par proxy HTTPS ou SSL cible.

  • Un nombre limité de domaines est accepté pour chaque certificat géré par Google. Pour plus d'informations, consultez le nombre maximal de domaines par certificat SSL géré par Google.

  • Lorsque vous utilisez des certificats gérés par Google avec l'équilibrage de charge proxy SSL, la règle de transfert de l'équilibreur de charge doit utiliser le port TCP 443 pour renouveler automatiquement le certificat géré par Google.

  • Les équilibreurs de charge Google Cloud n'acceptent pas l'authentification basée sur un certificat client (authentification TLS mutuelle, mTLS).

  • Les certificats SSL gérés par Google ne sont pas compatibles avec les caractères génériques.

Étapes suivantes