Les écouteurs HTTPS utilisent des certificats SSL pour activer l'accès chiffré et l'authentification de l'identité. Cette rubrique décrit le flux de travail complet pour l'utilisation des certificats dans CLB, y compris la sélection et la préparation du format des certificats, la création de certificats, leur association avec un écouteur HTTPS, ainsi que leur remplacement et leur renouvellement ultérieurs à l'expiration.
Sélection et préparation des certificats
Modes d'authentification
CLB prend en charge l'authentification unidirectionnelle et l'authentification mutuelle :
Authentification unidirectionnelle : CLB nécessite uniquement un certificat serveur. Le client vérifie l'identité du serveur.
Authentification mutuelle : CLB nécessite à la fois un certificat serveur et un certificat CA. Le serveur et le client s'authentifient mutuellement.
La plupart des sites web publics n'ont besoin que d'une authentification unidirectionnelle. Configurez l'authentification mutuelle uniquement lorsque vous devez vérifier l'identité du client, par exemple pour les systèmes internes d'entreprise ou l'authentification des appelants d'API.
Sources de certificats
CLB prend en charge les certificats provenant de deux sources :
Alibaba Cloud Certificate Management Service : Sélectionnez directement un certificat que vous avez acheté dans Alibaba Cloud Certificate Management Service. Cette méthode facilite la gestion centralisée et fournit des rappels d'expiration ainsi qu'un renouvellement en un clic. Elle prend en charge uniquement les certificats serveurs et ne prend pas en charge les certificats CA clients.
Certificat tiers : Téléchargez un certificat émis par un autre fournisseur ou un certificat auto-signé. Avec cette méthode, vous devez télécharger manuellement les fichiers de clé publique et de clé privée du certificat. Elle prend en charge à la fois les certificats serveurs et les certificats CA clients.
Un certificat CA client peut être ajouté uniquement en téléchargeant son contenu et ne peut pas être sélectionné depuis Alibaba Cloud Certificate Management Service. Si vous devez créer votre propre autorité de certification et émettre des certificats clients, consultez Générer un certificat CA à l'aide d'OpenSSL .
Exigences de format des certificats
CLB prend en charge uniquement les certificats au format PEM. Avant de créer un certificat, assurez-vous que votre certificat, votre chaîne de certificats et votre clé privée respectent les exigences de format suivantes. Les certificats dans d'autres formats doivent d'abord être convertis au format PEM. Pour plus d'informations, consultez Convertir le format du certificat.
Type de certificat pris en charge : certificats standard internationaux (RSA).
Algorithmes de clé publique pris en charge : RSA 1024, RSA 2048 et RSA 4096.
Les fichiers PEM contenant le champ
BEGIN DH PARAMETERSne peuvent pas être téléchargés. Les suites de chiffrement ECDHE utilisées par les écouteurs HTTPS prennent déjà en charge la confidentialité persistante parfaite ; les fichiers de paramètres de sécurité requis par les suites de chiffrement DHE ne sont donc pas nécessaires.
Les exigences de format pour un certificat de clé publique varient selon l'autorité émettrice. Reportez-vous aux exigences correspondant à votre source de certificat :
Certificat émis par une autorité de certification racine
Si le certificat est émis par une autorité de certification racine, vous recevez un seul certificat et aucun certificat supplémentaire n'est requis. Le site configuré est alors approuvé par les appareils d'accès tels que les navigateurs.
Le format du certificat doit respecter les exigences suivantes :
Il commence par
-----BEGIN CERTIFICATE-----, -----END CERTIFICATE-----et se termine de la même manière.Chaque ligne contient 64 caractères, et la dernière ligne peut contenir moins de 64 caractères.
Le contenu du certificat ne doit pas contenir d'espaces.
Certificat émis par une autorité de certification intermédiaire
Si le certificat est émis par une autorité de certification intermédiaire, le fichier de certificat que vous recevez contient plusieurs certificats. Vous devez combiner le certificat serveur et le certificat intermédiaire avant de les télécharger.
Le format de la chaîne de certificats doit respecter les exigences suivantes :
Le certificat serveur vient en premier, suivi du certificat intermédiaire, sans lignes vides entre eux.
Le contenu du certificat ne doit pas contenir d'espaces.
Il ne doit pas y avoir de lignes vides entre les certificats, et chaque ligne doit contenir 64 octets. Pour plus d'informations, consultez RFC1421.
Le certificat respecte le format requis. En général, une autorité de certification intermédiaire fournit des instructions correspondantes lors de l'émission d'un certificat, et le certificat doit respecter les exigences de format de l'autorité de certification.
L'exemple suivant montre une chaîne de certificats émise par une autorité de certification intermédiaire :
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
Exigences de format de la clé privée RSA
Lorsque vous téléchargez un certificat serveur, vous devez également télécharger la clé privée du certificat.
Le format de la clé privée RSA doit respecter les exigences suivantes :
Il commence par
-----BEGIN RSA PRIVATE KEY-----, -----END RSA PRIVATE KEY-----et se termine de la même manière. Téléchargez ce contenu avec la clé.Il ne doit pas y avoir de lignes vides entre les chaînes. Chaque ligne contient 64 caractères, et la dernière ligne peut contenir moins de 64 caractères. Pour plus d'informations, consultez RFC1421.
Si votre clé privée est chiffrée, par exemple si la clé privée commence et se termine par -----BEGIN PRIVATE KEY-----, -----END PRIVATE KEY----- ou -----BEGIN ENCRYPTED PRIVATE KEY-----, -----END ENCRYPTED PRIVATE KEY-----, ou si la clé privée contient Proc-Type: 4,ENCRYPTED, vous devez d'abord exécuter la commande suivante pour la convertir :
openssl rsa -in old_server_key.pem -out new_server_key.pem
Dans certaines versions ultérieures d'OpenSSL,openssl rsagénère PKCS#8 par défaut, ce qui entraîne l'échec de la conversion. Utilisezopenssl rsa -in old_server_key.pem -out new_server_key.pem -traditionalpour effectuer la conversion.
Convertir le format du certificat
Si votre certificat n'est pas au format PEM, utilisez OpenSSL pour le convertir au format PEM avant de le télécharger.
DER vers PEM
Le format DER est généralement utilisé sur la plateforme Java. Les fichiers de certificat ont généralement une extension .der, .cer ou .crt.
-
Exécutez la commande suivante pour convertir le certificat :
openssl x509 -inform der -in certificate.cer -out certificate.pem -
Exécutez la commande suivante pour convertir la clé privée :
openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem
P7B vers PEM
Le format P7B est généralement utilisé dans Windows Server et Tomcat.
Exécutez la commande suivante pour convertir le certificat :
openssl pkcs7 -print_certs -in incertificate.p7b -out outcertificate.cer
PFX vers PEM
Le format PFX est généralement utilisé dans Windows Server.
-
Exécutez la commande suivante pour extraire le certificat :
openssl pkcs12 -in certname.pfx -nokeys -out cert.pem -
Exécutez la commande suivante pour extraire la clé privée :
openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes
Logique de correspondance des certificats dans les scénarios multi-domaines
Un écouteur HTTPS ne peut être configuré qu'avec un seul certificat par défaut. Pour utiliser différents certificats pour plusieurs noms de domaine sur le même écouteur HTTPS, utilisez la fonctionnalité nom de domaine supplémentaire.
Lorsqu'un client envoie une requête, CLB utilise l'indication du nom de serveur (SNI) pour identifier le nom de domaine demandé : il utilise d'abord le certificat configuré pour le nom de domaine supplémentaire qui correspond au nom de domaine ; si aucun certificat correspondant n'est trouvé, il utilise le certificat par défaut configuré pour l'écouteur.
Lorsqu'un écouteur utilise plusieurs certificats génériques, seul le certificat générique qui est configuré en premier correspond automatiquement à tous les sous-domaines qui en dépendent. Les certificats génériques configurés ultérieurement ne correspondent pas automatiquement. Vous devez ajouter un nom de domaine supplémentaire pour chaque sous-domaine spécifique et spécifier le certificat générique correspondant.
Par exemple, si vous configurez d'abord un certificat *.example.com puis un certificat *.test.com, le comportement de correspondance des deux diffère :
|
Nom de domaine accédé par le client |
Correspond automatiquement au certificat |
Opération requise |
|
|
Oui. Correspond automatiquement au certificat |
Aucune configuration supplémentaire requise. |
|
|
Non. Ne correspond pas automatiquement au certificat |
Ajoutez un nom de domaine supplémentaire pour |
Tenez compte des points suivants lors de l'utilisation des noms de domaine supplémentaires :
Seules les instances CLB à performances garanties prennent en charge SNI, ce qui signifie que seules ces instances prennent en charge les noms de domaine supplémentaires.
Le nom de domaine supplémentaire que vous ajoutez doit être cohérent avec le nom de domaine figurant dans le certificat serveur sélectionné.
Un nom de domaine supplémentaire ne prend effet que lorsqu'il est utilisé conjointement avec une règle de transfert, et le nom de domaine configuré dans la règle de transfert doit être cohérent avec le nom de domaine supplémentaire.
Par défaut, un écouteur HTTPS prend en charge jusqu'à 3 noms de domaine supplémentaires, ce nombre pouvant être augmenté jusqu'à 10 maximum.
Pour la méthode de configuration et la description complète des noms de domaine supplémentaires, consultez Noms de domaine supplémentaires CLB.
Limites
Seuls les écouteurs HTTPS prennent en charge l'association de certificats. Les écouteurs HTTP transmettent les données en texte clair, et les écouteurs de couche 4 tels que les écouteurs TCP et UDP ne prennent pas en charge l'association de certificats. Pour activer la transmission chiffrée sur ces écouteurs, déployez le certificat sur vos serveurs backend.
Les certificats ne peuvent pas être utilisés entre différentes régions ou différents comptes. Pour utiliser un certificat dans plusieurs régions, sélectionnez toutes les régions requises lors de la création du certificat. Pour utiliser un certificat dans plusieurs comptes, téléchargez d'abord un certificat SSL dans le compte où le certificat a été créé, puis téléchargez-le dans le compte cible.
Créer un certificat
Console
-
Effectuez les préparatifs :
Utiliser un certificat émis par Alibaba Cloud : Assurez-vous d'avoir acheté ou téléchargé le certificat serveur requis dans la console SSL Certificates Service.
Utiliser un certificat tiers : Préparez les fichiers de clé publique et de clé privée du certificat serveur au format PEM. Pour l'authentification mutuelle, préparez également le fichier de clé publique du certificat CA au format PEM.
Accédez à la console CLB. Dans le volet de navigation de gauche, choisissez CLB > Certificates, puis cliquez sur Add Certificate.
-
Dans le panneau Add Certificate, effectuez la configuration en fonction de la source du certificat, puis cliquez sur Create.
Sélectionnez Alibaba Cloud Certificates, sélectionnez le certificat SSL dont vous avez besoin dans la section Certificates, et sélectionnez la Region.
-
Sélectionnez Third-party Certificates et effectuez la configuration suivante :
-
Certificate Type : Sélectionnez le type de certificat à télécharger. La page affiche les éléments de configuration correspondants en fonction du type sélectionné.
Si vous sélectionnez Server Certificate, téléchargez le certificat de clé publique et la clé privée, et sélectionnez la Region.
Si vous sélectionnez CA Certificate, téléchargez le certificat de clé publique CA client (utilisé pour vérifier l'identité du client dans l'authentification mutuelle), et sélectionnez la Region.
Le contenu du certificat téléchargé est compatible avec le format NGINX. Vous pouvez cliquer sur View Sample pour consulter le format correct .
-
API
Appelez UploadServerCertificate pour télécharger un certificat serveur. Lorsque vous utilisez un certificat émis par Alibaba Cloud, passez
AliCloudCertificateIdpour spécifier le certificat. Lorsque vous téléchargez un certificat tiers, passez le contenu du certificat et la clé privée viaServerCertificateetPrivateKey.Appelez UploadCACertificate pour télécharger un certificat CA client, et passez le contenu du certificat via
CACertificate.
Associer un certificat à un écouteur HTTPS
Une fois un certificat créé, il ne prend effet qu'après avoir été associé à un écouteur HTTPS. Un certificat est sélectionné lors de l'ajout d'un écouteur HTTPS. Les sections suivantes répertorient uniquement les éléments de configuration liés aux certificats. Pour le processus complet de configuration de l'écouteur, consultez Ajouter un écouteur HTTPS.
Les écouteurs HTTPS effectuent le déchiffrement sur CLB et transfèrent les requêtes aux serveurs backend via HTTP plutôt que HTTPS. Par conséquent, les serveurs backend doivent fournir des services via HTTP, et vous devez vous assurer que les configurations telles que les contrôles d'état et les ports backend correspondent au protocole HTTP (par exemple, le port backend est généralement 80).
Console
Dans l'assistant de configuration Certificate Management Service, sélectionnez le certificat serveur que vous avez créé.
-
Facultatif : Cliquez sur Modify à droite de Advanced Settings, et configurez l'authentification mutuelle et la politique de sécurité TLS selon vos besoins.
Activez Mutual Authentication et sélectionnez le certificat CA que vous avez téléchargé. Si vous utilisez une autorité de certification auto-gérée pour émettre des certificats clients, consultez Générer un certificat CA à l'aide d'OpenSSL.
Sélectionnez une TLS Security Policy. Seules les instances à performances garanties permettent de sélectionner une politique de sécurité TLS. Pour connaître les versions du protocole TLS et les suites de chiffrement prises en charge par chaque politique, consultez Politiques de sécurité TLS.
Suivez l'assistant pour terminer les configurations telles que les serveurs backend et les contrôles d'état, puis envoyez. Une fois l'écouteur créé, le certificat prend effet.
API
Appelez CreateLoadBalancerHTTPSListener pour associer un certificat lors de la création d'un écouteur HTTPS. Spécifiez le certificat serveur via
ServerCertificateId. Pour l'authentification mutuelle, spécifiez le certificat CA viaCACertificateId.Appelez SetLoadBalancerHTTPSListenerAttribute pour modifier le certificat associé à un écouteur HTTPS existant.
Remplacer un certificat
Lorsqu'un certificat est sur le point d'expirer, que vous devez changer d'autorité émettrice ou que le certificat est mal configuré, vous devez remplacer le certificat. CLB propose deux méthodes de remplacement. Choisissez-en une en fonction de l'étendue de l'impact. Quelle que soit la méthode utilisée, nous vous recommandons de Vérifier que le certificat prend effet une fois le remplacement terminé.
|
Élément de comparaison |
Méthode 1 : Remplacer le certificat de l'écouteur |
Méthode 2 : Remplacer le certificat via la gestion des certificats |
|
Étendue de l'impact |
Uniquement le certificat par défaut de l'écouteur HTTPS actuel. |
Tous les écouteurs et noms de domaine supplémentaires associés au certificat. |
|
Scénario |
Vous devez remplacer le certificat d'un seul écouteur, ou vous devez également ajuster l'authentification mutuelle ou la politique de sécurité TLS. |
Le même certificat est utilisé par plusieurs écouteurs ou noms de domaine supplémentaires, et vous devez tous les remplacer en une seule fois. |
|
Prérequis |
Aucun. |
Le certificat est associé à au moins un écouteur ou nom de domaine supplémentaire. |
Lorsque vous remplacez un certificat, CLB met à jour la configuration du certificat de l'écouteur. Pendant ce processus, une brève interruption de la connexion HTTPS peut se produire (quelques secondes environ, se manifestant par une erreur de connexion SSL), après quoi la connexion se rétablit automatiquement. Nous vous recommandons d'effectuer cette opération pendant les heures creuses. Si une exception survient après le remplacement, vous pouvez revenir en arrière en remettant le certificat de l'écouteur à sa valeur d'origine.
Méthode 1 : Remplacer le certificat de l'écouteur
Console
Accédez à la console CLB et cliquez sur l'ID de l'instance cible. Dans l'onglet Listener, trouvez l'écouteur HTTPS cible. Dans la colonne Operations, cliquez sur Manage Certificate.
Dans le panneau Manage Certificate, sélectionnez un nouveau certificat serveur dans la liste déroulante Server Certificate (Default Certificate). Pour ajuster également l'authentification mutuelle ou la politique de sécurité TLS, modifiez-les dans Advanced Settings, puis cliquez sur OK.
Cette méthode remplace uniquement le certificat par défaut de l'écouteur et ne remplace pas les certificats sur les noms de domaine supplémentaires. Si l'écouteur est configuré avec des noms de domaine supplémentaires, mettez à jour les certificats des noms de domaine supplémentaires séparément, ou utilisez la méthode suivante pour remplacer tous les objets associés au certificat en une seule fois.
API
Appelez UploadServerCertificate pour télécharger le nouveau certificat et obtenir le nouvel ID de certificat.
Appelez SetLoadBalancerHTTPSListenerAttribute et passez le nouveau
ServerCertificateIdpour mettre à jour le certificat de l'écouteur HTTPS.-
Si l'écouteur est configuré avec des noms de domaine supplémentaires, appelez SetDomainExtensionAttribute pour chaque nom de domaine supplémentaire afin de mettre à jour son certificat séparément.
La mise à jour du seul certificat de l'écouteur ne met pas à jour simultanément les certificats sur les noms de domaine supplémentaires. Si vous oubliez un nom de domaine supplémentaire, l'ancien certificat est toujours utilisé lorsque le nom de domaine correspondant est accédé.
Méthode 2 : Remplacer le certificat via la gestion des certificats
Après avoir remplacé un certificat via la gestion des certificats, les certificats sur tous les écouteurs et noms de domaine supplémentaires associés au certificat sont également remplacés automatiquement.
Seul un certificat associé à au moins un écouteur ou nom de domaine supplémentaire peut être remplacé.
Accédez à la console CLB. Dans le volet de navigation de gauche, choisissez CLB > Certificates.
-
Sur la page Certificates, trouvez le certificat cible à remplacer. Dans la colonne Operations, cliquez sur Change Certificates. Sur la page Replace Server Certificate, effectuez la configuration, puis cliquez sur Change Certificates.
-
Sélectionnez Create and Replace Certificate.
Sélectionnez Alibaba Cloud Certificates et sélectionnez le nouveau certificat dans la section Certificates.
Sélectionnez Third-party Certificates et collez le contenu de la clé publique et de la clé privée du nouveau certificat.
Sélectionnez Replace with Existing Certificate et sélectionnez le certificat serveur à utiliser pour le remplacement dans la liste des certificats existants.
-
Cliquez sur Go to Certificate List. Sur la page Certificates, vous pouvez confirmer que les écouteurs et noms de domaine supplémentaires associés ont été mis à jour avec le nouveau certificat.
Vérifier que le certificat prend effet
Accédez au site via un navigateur et vérifiez la période de validité dans les détails du certificat. Nous vous recommandons d'utiliser le mode navigation privée pour éviter l'impact de la mise en cache sur votre jugement.
Si des noms de domaine supplémentaires sont configurés, vérifiez chaque nom de domaine séparément pour confirmer que chaque nom de domaine renvoie le certificat attendu.
Expiration et renouvellement des certificats
Une fois qu'un certificat a expiré, les clients qui accèdent à votre site reçoivent une indication signalant que le certificat a expiré ou n'est pas sécurisé. Par conséquent, vous devez effectuer le remplacement avant l'expiration du certificat.
Lorsque vous utilisez un certificat émis par Alibaba Cloud Certificate Management Service, vous pouvez bénéficier de rappels d'expiration et d'un renouvellement en un clic. Nous vous recommandons de suivre les notifications d'expiration dans ce service.
Avant l'expiration du certificat, obtenez d'abord un nouveau certificat (renouvelez ou réémettez le certificat dans Alibaba Cloud Certificate Management Service, ou demandez un nouveau certificat auprès d'une autorité émettrice tierce), puis remplacez et vérifiez le certificat dans CLB en vous basant sur les sections précédentes.
Après avoir renouvelé ou réémis un certificat dans Certificate Management Service, le certificat utilisé par l'écouteur CLB n'est pas mis à jour automatiquement. Vous devez toujours effectuer l'opération de remplacement du certificat dans CLB.
Plus d'informations
Quotas
|
Nom du quota |
Description |
Valeur par défaut |
Ajustable |
|
slb_quota_certs_num |
Nombre de certificats serveurs pouvant être téléchargés dans chaque région. |
100 |
|
|
slb_quota_ca_certs_num |
Nombre de certificats CA clients pouvant être téléchargés dans chaque région. |
100 |