Tous les produits
Search
Centre de documentation

Server Load Balancer:Authentification mutuelle HTTPS

Dernière mise à jour :Aug 19, 2026

Activez l'authentification mutuelle sur ALB pour exiger que le client et le serveur vérifient mutuellement leur identité avant d'établir une connexion. Cette mesure empêche les attaques de type « man-in-the-middle » et les accès non autorisés dans les scénarios à haute sécurité, tels que les transactions financières et le secteur de la santé.

Présentation de la fonctionnalité

Pourquoi utiliser l'authentification mutuelle

La plupart des applications web utilisent une authentification unidirectionnelle pour établir des connexions HTTPS. Le client vérifie l'identité du serveur, ce qui garantit qu'il se connecte au bon serveur.

Pour les applications nécessitant un niveau de sécurité plus élevé, le serveur doit également vérifier l'identité du client. L'authentification mutuelle garantit que seuls les clients autorisés peuvent accéder au service, réduisant ainsi les risques tels que les attaques de type « man-in-the-middle » et les accès non autorisés.

Comparaison entre l'authentification unidirectionnelle et l'authentification mutuelle

Élément

Authentification unidirectionnelle

Authentification mutuelle

Fichiers de certificat

Certificat du serveur :

  • Certificat de clé publique du serveur

  • Fichier de clé privée du serveur

  • Certificat du serveur :

    • Certificat de clé publique du serveur

    • Fichier de clé privée du serveur

  • Certificat du client :

    • Certificat de clé publique du client

    • Fichier de clé privée du client

  • Certificat racine de l'autorité de certification

Processus de négociation

image

image

Cas d'utilisation

Transactions financières, soins de santé, services bancaires et paiements en ligne : tout scénario où le système doit vérifier l'identité du client en plus de celle du serveur.

Si vous n'avez pas besoin d'authentifier les clients, il n'est pas nécessaire d'utiliser l'authentification mutuelle.

Limites

  • Seules les instances ALB des éditions Standard et WAF-Enhanced prennent en charge l'authentification mutuelle. Les instances ALB de l'édition Basic ne prennent pas en charge cette fonctionnalité.

  • Seuls les écouteurs HTTPS prennent en charge l'authentification mutuelle. Les écouteurs QUIC et HTTP ne prennent pas en charge cette fonctionnalité.

Exemple de scénario

Une entreprise a déployé une plateforme de transaction en ligne qui utilisait initialement uniquement une authentification HTTPS unidirectionnelle. Des appareils non autorisés tentaient d'accéder au système, posant des risques de fuite de données et de falsification des transactions. À mesure que le trafic augmentait, la plateforme subissait également une pression croissante sur les performances lors des pics d'activité.

Pour résoudre ces problèmes, l'entreprise a déployé une instance ALB et activé l'authentification mutuelle.

  • ALB répartit les requêtes des clients entre les serveurs backend, garantissant des performances stables et des temps de réponse rapides, même lors des pics de forte concurrence.

  • Avec l'authentification mutuelle activée, tous les clients doivent fournir un certificat valide pour établir une connexion, ce qui empêche les accès non autorisés et réduit le risque de fuite de données et de falsification des transactions.

image

Prérequis

  • Vous avez acheté ou téléchargé un certificat de serveur dans Certificate Management Service.

    Cette rubrique utilise un certificat de serveur acheté depuis la console Certificate Management Service d'Alibaba Cloud à titre d'exemple.

    Remarque

    Lorsque vous achetez un certificat SSL, vous devez le lier à un nom de domaine. Assurez-vous de disposer d'un nom de domaine valide et accessible.

  • Vous avez créé un VPC (VPC1) et créé deux instances ECS (ECS01 et ECS02) dans VPC1. Les services applicatifs sont déployés sur les deux instances.

    Cet exemple utilise Alibaba Cloud Linux 3 comme système d'exploitation et Nginx pour configurer le service HTTPS.

    Exemples de commandes pour déployer un service de test sur ECS01

    1. Exécutez les commandes suivantes pour installer Nginx et déployer un exemple d'application de test.

      yum install -y nginx
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS01." > index.html
    2. Pour permettre à l'instance ALB de communiquer avec les serveurs backend via HTTPS, vous devez télécharger le fichier de certificat de serveur sur le serveur backend. Ensuite, dans le fichier de configuration Nginx nginx.conf, configurez le module de service HTTPS, spécifiez le chemin d'accès au fichier de certificat, puis enregistrez le fichier.

      vim /etc/nginx/nginx.conf

      Le code suivant fournit un exemple :

      http {
          ...
          # Existing configuration
          
          # HTTPS service module
          server {
            listen       443 ssl;
            server_name  _;
            root         /usr/share/nginx/html;
      
              # Replace with the path to your server certificate file.
              ssl_certificate "/etc/pki/nginx/server.crt";
              # Replace with the path to your server certificate private key file.
              ssl_certificate_key "/etc/pki/nginx/private/server.key";
              
              ...
          }
      }
    3. Exécutez la commande suivante pour redémarrer le service Nginx.

      systemctl restart nginx.service
  • Une instance ALB est créée. Pour utiliser l'authentification mutuelle ou les certificats SM, l'édition de l'instance doit être Standard Edition ou WAF-enabled Edition.

  • Vous avez créé un groupe de serveurs et ajouté ECS01 et ECS02 en tant que serveurs backend.

    Si vous souhaitez que l'instance ALB communique avec les serveurs backend via HTTPS, sélectionnez HTTPS comme protocole backend lors de la création du groupe de serveurs et assurez-vous que le service HTTPS est déployé sur les serveurs backend.

Procédure

Étape 1 : Configurer le certificat client

Vous devez préparer et exporter un certificat client.

Cette rubrique décrit deux méthodes pour obtenir un certificat d'autorité de certification. Vous pouvez acheter un certificat d'autorité de certification et demander un certificat client dans Certificate Management Service, ou télécharger un certificat d'autorité de certification auto-signé vers Certificate Management Service.

1. Préparer un certificat client

Depuis la console

Pour plus d'informations, consultez la rubrique Demander un certificat privé.

  1. Connectez-vous à la console Certificate Management Service.

  2. Dans le volet de navigation de gauche, choisissez Certificate Management > Private Certificate Management. Sur la page Private Certificate Management, sélectionnez la région où se trouve le service PCA.

  3. Sur l'onglet Private CAs, recherchez l'autorité de certification intermédiaire cible et cliquez sur Apply for Certificate dans la colonne Actions.

  4. Dans le panneau Apply for Certificate, configurez les paramètres du certificat comme indiqué dans le tableau suivant, puis cliquez sur Confirm.

    Dans cet exemple, lorsque vous demandez un certificat client, définissez Certificate Type sur Client Certificate et saisissez un Personal Name pour identifier de manière unique l'utilisateur client. Vous pouvez conserver les valeurs par défaut pour les autres paramètres ou les modifier selon vos besoins.

    Après avoir soumis la demande, l'autorité de certification privée émet immédiatement le certificat. Vous pouvez ensuite cliquer sur Certificates dans la colonne Actions pour l'autorité de certification intermédiaire afin d'afficher le certificat émis.

Auto-signé

  1. Connectez-vous à ECS01 et exécutez les commandes suivantes pour générer un certificat d'autorité de certification racine auto-signé.

    Une instance ALB prend en charge l'authentification mutuelle à l'aide d'un certificat d'autorité de certification racine auto-signé ou d'un certificat d'autorité de certification intermédiaire auto-signé. Cet exemple utilise un certificat d'autorité de certification racine auto-signé.

    1. Exécutez la commande suivante pour créer une clé privée pour le certificat d'autorité de certification racine :

      openssl genrsa -out root.key 4096
    2. Exécutez la commande suivante pour créer une demande de signature de certificat (CSR) pour le certificat d'autorité de certification racine :

      openssl req -new -out root.csr -key root.key

      Saisissez les informations requises lorsque vous y êtes invité. Le code suivant fournit un exemple :

      Remarque

      Assurez-vous que le Common Name du certificat d'autorité de certification est unique et différent du Common Name du certificat de serveur ou du certificat client.

      Country Name (2 letter code) [XX]:cn
      State or Province Name (full name) []:bj
      Locality Name (eg, city) [Default City]:bj
      Organization Name (eg, company) [Default Company Ltd]:alibaba
      Organizational Unit Name (eg, section) []:test
      Common Name (eg, your name or your servers hostname) []:root
      Email Address []:a****@example.com
      A challenge password []:
      An optional company name []:
    3. Exécutez la commande suivante pour créer le certificat d'autorité de certification racine :

      openssl x509 -req -in root.csr -out root.crt -signkey root.key -CAcreateserial -days 3650

      La sortie suivante est renvoyée :

      Signature ok
      subject=C = cn, ST = bj, L = bj, O = alibaba, OU = test, CN = root, emailAddress = a****@example.com
      Getting Private Key
    4. Exécutez la commande ls pour afficher le certificat d'autorité de certification racine généré root.crt et sa clé privée root.key.

      Vous pouvez télécharger ces fichiers de certificat d'autorité de certification racine sur votre ordinateur pour une utilisation ultérieure.

  2. Téléchargez le certificat d'autorité de certification racine auto-signé vers Certificate Management Service.

    1. Connectez-vous à la console Certificate Management Service.

    2. Dans le volet de navigation de gauche, choisissez Certificate Service > Certificate Application Repository.

    3. Sur la page Certificate Application Repository, cliquez sur Create Repository. Dans le panneau Create repository, définissez Data source sur Uploaded CA certificates et cliquez sur OK.

    4. Sur la page Certificate Application Repository, cliquez sur le dépôt que vous avez créé.

    5. Sur la page Certificates, cliquez sur Uploaded Certificate. Dans le panneau CA information, téléchargez le fichier de certificat d'autorité de certification racine root.crt et cliquez sur Confirm and Enable.

2. Exporter le certificat client

Exporter depuis la console

Pour utiliser un certificat client acheté depuis la console pour l'authentification mutuelle, exportez-le en suivant ces étapes :

  1. Sur l'onglet Private CAs, recherchez l'autorité de certification subordonnée cible, puis cliquez sur Certificates dans la colonne Actions.

  2. Sur la page Certificates, recherchez le certificat privé cible, puis cliquez sur Download dans la colonne Actions.

  3. Dans la boîte de dialogue Download Certificate, sélectionnez le format de certificat que vous souhaitez télécharger, puis cliquez sur Confirm and Download. Si vous sélectionnez Include Trust Chain, le certificat téléchargé inclut la chaîne de certificats complète.

    Dans cet exemple, sélectionnez PFX pour le format de certificat. Ce format est reconnu par les navigateurs.

    Les fichiers téléchargés incluent un fichier de certificat client avec l'extension .pfx et un fichier texte avec l'extension .txt qui contient le mot de passe de chiffrement pour la clé privée du client.

Exporter un certificat auto-signé

Pour utiliser un certificat client généré à partir d'un certificat d'autorité de certification auto-signé pour l'authentification mutuelle, suivez ces étapes pour le générer :

Connectez-vous à ECS01 et effectuez les étapes suivantes pour générer un certificat client :

  1. Exécutez la commande suivante pour générer une clé privée pour le certificat client :

    openssl genrsa -out client.key 4096
  2. Exécutez la commande suivante pour générer une CSR pour le certificat client :

    openssl req -new -out client.csr -key client.key

    Saisissez les informations requises lorsque vous y êtes invité. Le code suivant fournit un exemple :

    Remarque

    Assurez-vous que le Common Name du certificat client est unique et différent du Common Name du certificat de serveur, du certificat racine ou de tout autre certificat client.

    Country Name (2 letter code) [XX]:cn
    State or Province Name (full name) []:bj
    Locality Name (eg, city) [Default City]:bj
    Organization Name (eg, company) [Default Company Ltd]:alibaba
    Organizational Unit Name (eg, section) []:test
    Common Name (eg, your name or your servers hostname) []:client-alb-user
    Email Address []:username@example.com
    A challenge password []:
    An optional company name []:
  3. Exécutez la commande suivante pour générer le certificat client.

    openssl x509 -req -in client.csr -out client.crt -CA root.crt -CAkey root.key -CAcreateserial -days 3650

    La sortie suivante est renvoyée :

    Signature ok
    subject=C = cn, ST = bj, L = bj, O = alibaba, OU = test, CN = client-alb-user, emailAddress = username@example.com
    Getting CA Private Key
  4. Exécutez la commande suivante pour convertir le certificat client généré client.crt en un fichier PKCS12, qui est reconnu par les navigateurs. Saisissez le mot de passe de chiffrement de la clé privée du client lorsque vous y êtes invité.

    openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
  5. Exécutez la commande ls pour afficher le fichier de certificat client client.p12 généré.

    Vous pouvez télécharger le fichier de certificat client sur votre ordinateur pour une utilisation ultérieure sur le client.

Étape 2 : Configurer un écouteur d'authentification mutuelle

  1. Dans la barre de navigation supérieure de la console ALB, sélectionnez la région où l'instance ALB est déployée. Sur la page Instances, recherchez l'instance ALB que vous souhaitez gérer et cliquez sur son ID.

  2. Sur la page des détails de l'instance, cliquez sur l'onglet Listener et cliquez sur Create Listener. Configurez les paramètres et cliquez sur Next.

    Dans cet exemple, définissez Select Listener Protocol sur HTTPS et Listener Port sur 443. Vous pouvez conserver les valeurs par défaut pour les autres paramètres de l'écouteur HTTPS ou les modifier selon vos besoins.

  3. À l'étape SSL Certificate, sélectionnez le certificat de serveur que vous avez acheté. Ensuite, activez Enable Mutual Authentication et sélectionnez une source de certificat d'autorité de certification ainsi que le certificat correspondant. Enfin, sélectionnez une politique de sécurité TLS et cliquez sur Next.

    • Définissez CA Certificate Source sur Alibaba Cloud. Dans la liste déroulante Default CA Certificate, sélectionnez le certificat d'autorité de certification que vous avez demandé à l'Étape 1 : Configurer le certificat client.

    • Définissez CA Certificate Source sur Third-party. Dans la liste déroulante Default CA Certificate, sélectionnez le certificat d'autorité de certification auto-signé que vous avez téléchargé à l'Étape 1 : Configurer le certificat client.

  4. À l'étape Server Group, sélectionnez un Server Type et le Server Type backend. Vérifiez les informations concernant les serveurs backend ECS01 et ECS02, puis cliquez sur Next.

  5. À l'étape Confirm, vérifiez les configurations et cliquez sur Submit.

Étape 3 : Configurer la résolution DNS

Pour les environnements de production, nous vous recommandons de créer un enregistrement CNAME pour mapper votre nom de domaine personnalisé au nom DNS de l'instance ALB.

  1. Dans le volet de navigation de gauche de la console ALB, choisissez ALB > Instances. Sur la page Instances, copiez le nom DNS de l'instance ALB créée.

  2. Effectuez les étapes suivantes pour ajouter un enregistrement CNAME.

    1. Sur la page DNS Resolution, recherchez le nom de domaine personnalisé cible et cliquez sur DNS Settings dans la colonne Operations.

      Remarque

      Si votre nom de domaine n'est pas enregistré auprès d'Alibaba Cloud, vous devez d'abord ajouter votre nom de domaine à la console Alibaba Cloud DNS avant de pouvoir configurer les paramètres DNS.

    2. Sur la page des paramètres DNS, cliquez sur Add DNS record, configurez l'enregistrement CNAME et cliquez sur OK.

      Dans cet exemple, définissez Record type sur CNAME et Record value sur le nom DNS de l'instance ALB. Vous pouvez conserver les valeurs par défaut pour les autres paramètres d'enregistrement DNS ou les modifier selon vos besoins.

Étape 4 : Tester l'authentification mutuelle

Cet exemple utilise un client Windows et le navigateur Chrome.

  1. Installez le certificat client exporté sur le client.

    Double-cliquez sur le fichier de certificat client téléchargé et suivez les instructions de l'assistant d'importation de certificat pour installer le certificat client.

  2. Dans le navigateur, saisissez https://<your custom domain name>. Dans la boîte de dialogue qui s'affiche, sélectionnez le certificat à utiliser pour l'authentification du client.

  3. Actualisez le navigateur. Vous pouvez observer que les requêtes du client sont distribuées entre les serveurs ECS01 et ECS02.

    Si la page renvoie Hello World ! This is ECS01., la requête est transférée vers ECS01.

    Si vous actualisez la page et qu'elle renvoie Hello World ! This is ECS02., la requête est transférée vers ECS02.

Références

Opérations de console

Référence API

Vous pouvez appeler les opérations d'API suivantes et définir le paramètre CaEnabled sur true pour activer l'authentification mutuelle.