XenServer

Certificats pour l’équilibrage de charge

XenServer® et l’équilibrage de charge communiquent via HTTPS. Pendant la configuration de l’équilibrage de charge, l’assistant crée automatiquement un certificat de test auto-signé. Ce certificat de test auto-signé permet à l’équilibrage de charge d’établir une connexion TLS avec XenServer. Par défaut, l’équilibrage de charge crée automatiquement cette connexion TLS avec XenServer. Vous n’avez pas besoin d’effectuer de configurations de certificat pendant ou après la configuration pour que l’équilibrage de charge crée cette connexion TLS.

Remarque :

Le certificat auto-signé est un espace réservé pour faciliter la communication HTTPS et ne provient pas d’une autorité de certification de confiance. Pour une sécurité accrue, nous recommandons d’utiliser un certificat signé par une autorité de certification de confiance.

Pour utiliser un certificat d’une autre autorité de certification, tel qu’un certificat signé par une autorité commerciale, vous devez configurer l’équilibrage de charge et XenServer pour l’utiliser.

Par défaut, XenServer valide l’identité du certificat avant d’établir une connexion avec l’équilibrage de charge. Pour configurer XenServer afin qu’il vérifie un certificat spécifique, exportez le certificat racine qui a été utilisé pour signer le certificat. Copiez le certificat sur XenServer et configurez XenServer pour qu’il le vérifie lorsqu’une connexion à l’équilibrage de charge est établie. XenServer agit en tant que client dans ce scénario et l’équilibrage de charge agit en tant que serveur.

Selon vos objectifs de sécurité, vous pouvez :

XenServer vérifie qu'un certificat spécifique est présent avant d'autoriser l'appliance virtuelle d'équilibrage de charge à s'y connecter via TLS. Dans ce cas, le certificat réel (le certificat avec la clé privée) se trouve sur le serveur d'équilibrage de charge. Le certificat qui a été utilisé pour le signer se trouve sur le coordinateur de pool XenServer.

Remarque :

La vérification des certificats est une mesure de sécurité conçue pour empêcher les connexions indésirables. Les certificats d’équilibrage de charge doivent répondre à des exigences strictes, sinon la vérification des certificats échoue. Lorsque la vérification des certificats échoue, XenServer n’autorise pas la connexion.

Pour que la vérification des certificats réussisse, vous devez stocker les certificats aux emplacements spécifiques où XenServer s’attend à trouver les certificats.

Importation automatique de certificats

Dans XenCenter® 2025.1 et versions ultérieures avec l’équilibrage de charge 8.4.0 et versions ultérieures, XenCenter importe automatiquement le certificat d’équilibrage de charge lors de la première configuration de la connexion à l’équilibrage de charge.

Si le système Windows exécutant XenCenter ne peut pas accéder à l’appliance virtuelle Workload Balancing – par exemple, si le port utilisé pour la communication entre Workload Balancing et XenServer est désactivé, l’importation automatique de certificat n’est pas disponible et vous devez à la place installer manuellement le certificat Workload Balancing dans votre pool.

Configurer XenServer pour vérifier le certificat auto-signé

Vous pouvez configurer XenServer pour vérifier que le certificat auto-signé XenServer Workload Balancing est authentique avant que XenServer n’autorise Workload Balancing à se connecter.

Important :

Pour vérifier le certificat auto-signé XenServer Workload Balancing, vous devez vous connecter à Workload Balancing en utilisant son nom d’hôte. Pour trouver le nom d’hôte de Workload Balancing, exécutez la commande hostname sur l’appliance virtuelle.

Pour configurer XenServer afin qu’il vérifie le certificat auto-signé, suivez les étapes suivantes :

  1. Copiez le certificat auto-signé de l’appliance virtuelle Workload Balancing vers le coordinateur de pool. Le certificat auto-signé XenServer Workload Balancing est stocké à l’emplacement /etc/ssl/certs/server.pem. Exécutez la commande suivante sur le coordinateur de pool :

    scp root@<wlb-ip>:/etc/ssl/certs/server.pem wlb.pem
    <!--NeedCopy-->
    
  2. Si vous recevez un message indiquant que l’authenticité de wlb-ip ne peut pas être établie, tapez yes pour continuer.

  3. Saisissez le mot de passe root de l’appliance virtuelle Workload Balancing lorsque vous y êtes invité. Le certificat est copié dans le répertoire actuel.

  4. Installez le certificat. Exécutez la commande suivante dans le répertoire où vous avez copié le certificat :

    xe pool-certificate-install filename=wlb.pem
    <!--NeedCopy-->
    
  5. Vérifiez que le certificat a été correctement installé en exécutant la commande suivante sur le coordinateur de pool :

    xe pool-certificate-list
    <!--NeedCopy-->
    

    Si vous avez correctement installé le certificat, la sortie de cette commande inclut le certificat racine exporté. L’exécution de cette commande liste tous les certificats TLS installés, y compris le certificat que vous avez installé.

  6. Pour synchroniser le certificat du coordinateur vers tous les hôtes du pool, exécutez la commande suivante sur le coordinateur de pool :

    xe pool-certificate-sync
    <!--NeedCopy-->
    

    L’exécution de la commande pool-certificate-sync sur le coordinateur synchronise le certificat et les listes de révocation de certificats sur tous les hôtes du pool avec le coordinateur. Cette action garantit que tous les hôtes du pool utilisent les mêmes certificats.

    Cette commande ne produit aucune sortie. Cependant, l’étape suivante ne fonctionnera pas si celle-ci n’a pas été exécutée avec succès.

  7. Demandez à XenServer de vérifier le certificat avant de se connecter à l’appliance virtuelle Workload Balancing. Exécutez la commande suivante sur le coordinateur de pool :

    xe pool-param-set wlb-verify-cert=true uuid=uuid_of_pool
    <!--NeedCopy-->
    

    Conseil :

    Appuyer sur la touche Tab remplit automatiquement l’UUID du pool.

  8. (Facultatif) Pour vérifier que cette procédure a fonctionné correctement, effectuez les étapes suivantes :

    1. Pour vérifier si le certificat a été synchronisé avec les autres hôtes du pool, exécutez la pool-certificate-list commande sur ces hôtes.

    2. Pour vérifier si XenServer a été configuré pour vérifier le certificat, exécutez la commande pool-param-get avec le paramètre param-name=wlb-verify-cert. Par exemple :

      xe pool-param-get param-name=wlb-verify-cert uuid=uuid_of_pool
      <!--NeedCopy-->
      

Configurer XenServer pour vérifier un certificat d’autorité de certification

Vous pouvez configurer XenServer pour vérifier un certificat signé par une autorité de certification de confiance.

Pour les certificats d’autorité de confiance, XenServer requiert un certificat exporté ou une chaîne de certificats (les certificats intermédiaires et racine) au format .pem qui contient la clé publique.

Si vous souhaitez que Workload Balancing utilise un certificat d’autorité de confiance, effectuez les tâches suivantes :

  1. Obtenir un certificat signé auprès de l’autorité de certification.

  2. Spécifier et appliquer le nouveau certificat.

  3. Importer la chaîne de certificats dans le pool.

Avant de commencer ces tâches, assurez-vous :

  • Vous connaissez l’adresse IP du coordinateur de pool XenServer.

  • XenServer peut résoudre le nom d’hôte de l’équilibrage de charge. (Par exemple, vous pouvez essayer de faire un ping sur le FQDN de l’équilibrage de charge depuis la console XenServer pour le coordinateur de pool.)

Obtenir un certificat signé de l’autorité de certification

Pour obtenir un certificat d’une autorité de certification, vous devez générer une demande de signature de certificat (CSR). Sur l’ appliance virtuelle Workload Balancing, créez une clé privée et utilisez cette clé privée pour générer la CSR.

Directives pour la spécification du nom commun

Le nom commun (CN) que vous spécifiez lors de la création d’une CSR doit correspondre exactement au FQDN de votre appliance virtuelle Workload Balancing. Il doit également correspondre au FQDN ou à l’adresse IP que vous avez spécifiés dans le champ Adresse de la boîte de dialogue Se connecter au serveur WLB.

Pour vous assurer que le nom correspond, spécifiez le nom commun en utilisant l’une des directives suivantes :

  • Spécifiez les mêmes informations pour le nom commun du certificat que celles que vous avez spécifiées dans la boîte de dialogue Se connecter au serveur WLB dialogue.

    Par exemple, si votre appliance virtuelle Workload Balancing est nommée wlb-vpx.yourdomain, spécifiez wlb-vpx.yourdomain dans la boîte de dialogue Se connecter au serveur WLB et fournissez wlb-vpx.yourdomain comme nom commun lors de la création de la CSR.

  • Si vous avez connecté votre pool à Workload Balancing par adresse IP, utilisez le FQDN comme nom commun et l’adresse IP comme nom alternatif du sujet (SAN). Cependant, cette approche pourrait ne pas fonctionner dans toutes les situations.

Créer un fichier de clé privée

Sur l’appliance virtuelle Workload Balancing, suivez les étapes suivantes :

  1. Créer un fichier de clé privée :

    openssl genrsa -des3 -out privatekey.pem 2048
    <!--NeedCopy-->
    
  2. Supprimer le mot de passe :

    openssl rsa -in privatekey.pem -out privatekey.nop.pem
    <!--NeedCopy-->
    

Remarque :

Si vous saisissez le mot de passe de manière incorrecte ou incohérente, vous pourriez recevoir des messages indiquant une erreur d’ interface utilisateur. Vous pouvez ignorer le message et réexécuter la commande pour créer le fichier de clé privée.

Générer la demande de signature de certificat

Sur l’appliance virtuelle Workload Balancing, suivez les étapes suivantes :

  1. Créez la demande de signature de certificat (CSR) à l’aide de la clé privée :

    openssl req -new -key privatekey.nop.pem -out csr
    <!--NeedCopy-->
    
  2. Suivez les invites pour fournir les informations nécessaires à la génération de la CSR :

    Nom du pays. Saisissez les codes de pays du certificat TLS pour votre pays. Par exemple, CA pour le Canada ou JM pour la Jamaïque. Vous pouvez trouver une liste des codes de pays de certificat TLS sur le Web.

    Nom de l’État ou de la province (nom complet). Saisissez l’État ou la province où se trouve le pool. Par exemple, le Massachusetts ou l’Alberta.

    Nom de la localité. Le nom de la ville où se trouve le pool.

    Nom de l’organisation. Le nom de votre entreprise ou organisation.

    Nom de l’unité organisationnelle. Saisissez le nom du service. Ce champ est facultatif.

    Nom commun. Saisissez le FQDN de votre serveur Workload Balancing. Cette valeur doit correspondre au nom que le pool utilise pour se connecter à Workload Balancing. Pour plus d’informations, consultez Directives pour la spécification du nom commun.

    Adresse e-mail. Cette adresse e-mail est incluse dans le certificat lorsque vous le générez.

  3. Fournissez des attributs facultatifs ou appuyez sur Entrée pour ignorer la saisie de ces informations.

    La demande de CSR est enregistrée dans le répertoire actuel et est nommée csr.

  4. Affichez la CSR dans la fenêtre de la console en exécutant les commandes suivantes dans la console de l’appliance Workload Balancing :

    cat csr
    <!--NeedCopy-->
    
  5. Copiez l’intégralité de la CSR et utilisez-la pour demander le certificat à l’autorité de certification.

Spécifier et appliquer le nouveau certificat

Utilisez cette procédure pour spécifier que Workload Balancing utilise un certificat d’une autorité de certification. Cette procédure installe les certificats racine et (si disponibles) intermédiaires.

Pour spécifier un nouveau certificat, suivez les étapes suivantes :

  1. Téléchargez le certificat signé, le certificat racine et, si l’autorité de certification en possède un, le certificat intermédiaire de l’autorité de certification.

  2. Si vous n’avez pas téléchargé les certificats directement sur l’appliance virtuelle Workload Balancing, copiez-les en utilisant l’une des méthodes suivantes :

    • À partir d’un ordinateur Windows, utilisez WinSCP ou un autre utilitaire de copie.

      Pour le nom d’hôte, vous pouvez entrer l’adresse IP et laisser le port par défaut. Le nom d’utilisateur et le mot de passe sont généralement root et le mot de passe que vous avez défini lors de la configuration.

    • À partir d’un ordinateur Linux vers l’appliance Workload Balancing, utilisez SCP ou un autre utilitaire de copie. Par exemple :

       scp root_ca.pem root@wlb-ip:/path_on_your_WLB
       <!--NeedCopy-->
      
  3. Sur l’appliance virtuelle Workload Balancing, fusionnez le contenu de tous les certificats (certificat racine, certificat intermédiaire - s’il existe, et certificat signé) en un seul fichier. Vous pouvez utiliser la commande suivante :

    cat signed_cert.pem intermediate_ca.pem root_ca.pem > server.pem
    <!--NeedCopy-->
    
  4. Renommez le certificat et la clé existants à l’aide de la commande de déplacement :

    mv /etc/ssl/certs/server.pem /etc/ssl/certs/server.pem_orig
    mv /etc/ssl/certs/server.key /etc/ssl/certs/server.key_orig
    <!--NeedCopy-->
    
  5. Copiez le certificat fusionné :

    mv server.pem /etc/ssl/certs/server.pem
    <!--NeedCopy-->
    
  6. Copiez la clé privée créée précédemment :

    mv privatekey.nop.pem /etc/ssl/certs/server.key
    <!--NeedCopy-->
    
  7. Rendez la clé privée lisible uniquement par root. Utilisez la commande chmod pour corriger les autorisations.

    chmod 600 /etc/ssl/certs/server.key
    <!--NeedCopy-->
    
  8. Redémarrez stunnel :

    pkill -9 stunnel
    stunnel
    <!--NeedCopy-->
    

Importez la chaîne de certificats dans le pool

Après avoir obtenu les certificats, importez-les sur le coordinateur de pool XenServer. Synchronisez les hôtes du pool pour utiliser ces certificats. Ensuite, vous pouvez configurer XenServer pour vérifier l’identité et la validité du certificat chaque fois que Workload Balancing se connecte à un hôte.

  1. Copiez le certificat signé, le certificat racine et, si l’autorité de certification en possède un, le certificat intermédiaire de l’autorité de certification sur le coordinateur de pool XenServer.

  2. Installez le certificat racine sur le coordinateur de pool :

    xe pool-install-ca-certificate filename=root_ca.pem
    <!--NeedCopy-->
    
  3. Le cas échéant, installez le certificat intermédiaire sur le coordinateur de pool :

    xe pool-install-ca-certificate filename=intermediate_ca.pem
    <!--NeedCopy-->
    
  4. Vérifiez que les deux certificats sont correctement installés en exécutant cette commande sur le coordinateur de pool :

    xe pool-certificate-list
    <!--NeedCopy-->
    

    L’exécution de cette commande répertorie tous les certificats TLS installés. Si les certificats ont été installés avec succès, ils apparaissent dans cette liste.

  5. Synchronisez le certificat du coordinateur de pool avec tous les hôtes du pool :

    xe pool-certificate-sync
    <!--NeedCopy-->
    

    L’exécution de la commande pool-certificate-sync sur le coordinateur synchronise les certificats et les listes de révocation de certificats sur tous les hôtes du pool avec le coordinateur de pool. Cette action garantit que tous les hôtes du pool utilisent les mêmes certificats.

  6. Demandez à XenServer de vérifier un certificat avant de se connecter à l’appliance virtuelle Workload Balancing. Exécutez la commande suivante sur le coordinateur de pool :

    xe pool-param-set wlb-verify-cert=true uuid=uuid_of_pool
    <!--NeedCopy-->
    

    Conseil :

    Appuyer sur la touche Tab remplit automatiquement l’UUID du pool.

  7. Si vous avez spécifié une adresse IP dans la boîte de dialogue Connect to WLB Server avant d’activer la vérification des certificats, vous pourriez être invité à reconnecter le pool à Workload Balancing.

    Spécifiez le FQDN de l’appliance Workload Balancing dans Address de la boîte de dialogue Connect to WLB Server exactement tel qu’il apparaît dans le nom commun du certificat. Saisissez le FQDN pour vous assurer que le nom commun correspond au nom que XenServer utilise pour se connecter.

Dépannage

  • La vérification des certificats est activée par défaut sur votre pool. Désactivez la vérification des certificats si votre pool ne peut pas se connecter à Workload Balancing :

    1. Obtenez l’UUID du pool :

      xe pool-list
      <!--NeedCopy-->
      
    2. Désactiver la vérification du certificat :

      xe pool-param-set wlb-verify-cert=false uuid=uuid_of_pool
      <!--NeedCopy-->
      

    Si votre pool peut se connecter à Workload Balancing avec la vérification du certificat désactivée, le problème vient de votre configuration de certificat. S’il ne peut pas se connecter, le problème vient soit de vos informations d’identification Workload Balancing, soit de votre connexion réseau. Contactez le support ou consultez Dépanner Workload Balancing pour plus d’informations.

  • Certaines autorités de certification commerciales fournissent des outils pour vérifier que le certificat est correctement installé. Envisagez d’exécuter ces outils si ces procédures ne parviennent pas à isoler le problème. Si ces outils nécessitent de spécifier un port TLS, spécifiez le port 8012 ou tout autre port que vous avez défini lors de la configuration de Workload Balancing.

  • Si l’onglet WLB affiche une erreur de connexion, il peut y avoir un conflit entre le nom commun du certificat et le nom de l’appliance virtuelle Workload Balancing. Le nom de l’appliance virtuelle Workload Balancing et le nom commun du certificat doivent correspondre exactement.

Pour plus d’informations, consultez Dépannage.

Regénérer le certificat auto-signé

Si l’adresse IP de l’appliance virtuelle Workload Balancing change et ne correspond plus à la valeur figurant dans le certificat, Workload Balancing affiche un message d’avertissement dans sa console.

Pour résoudre cet avertissement, suivez les étapes suivantes :

  1. Connectez-vous à votre appliance virtuelle Workload Balancing.
  2. Regénérez le certificat en exécutant la commande suivante : wlb_update_cert.sh
  3. Reconnectez-vous à l’appliance virtuelle Workload Balancing.
Certificats pour l’équilibrage de charge