Linux Virtual Delivery Agent

Configurer des certificats autosignés pour les communications WebSocket

À partir de la version initiale de la version 2402 LTSR, Citrix Virtual Apps and Desktops vous permet d’utiliser la technologie WebSocket via Citrix Brokering Protocol (CBP) pour faciliter la communication entre les VDA et les Delivery Controller. Cette fonctionnalité requiert uniquement le port TLS 443 pour la communication entre le VDA et le Delivery Controller. Pour plus d’informations, consultez Communication WebSocket entre VDA et Delivery Controller dans la documentation de Citrix Virtual Apps and Desktops.

WebSocket est une technologie puissante permettant une communication bidirectionnelle en temps réel entre un client et un serveur. Cependant, pour garantir une connexion sécurisée, notamment lors de l’utilisation de wss://, la configuration d’un certificat autosigné est souvent nécessaire, en particulier dans les environnements de développement ou de test. Cet article décrit les meilleures pratiques pour configurer des certificats autosignés pour les communications WebSocket.

Étape 1 : (uniquement pour les VDA non joints à un domaine) Configurez le serveur DNS

  • Pour les VDA Ubuntu et Debian :
  1. Modifiez les paramètres DNS en modifiant le fichier /etc/systemd/resolved.conf comme suit :

      [Resolve]
      # Some examples of DNS servers which may be used for DNS= and FallbackDNS=:
      # Cloudflare: 1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com 2606:4700:4700::1111#cloudflare-dns.com 2606:4700:4700::1001#cloudflare-dns.com
      # Google:     8.8.8.8#dns.google 8.8.4.4#dns.google 2001:4860:4860::8888#dns.google 2001:4860:4860::8844#dns.google
      # Quad9:      9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#dns.quad9.net 2620:fe::9#dns.quad9.net
      DNS=<DNS IP address>
      #FallbackDNS=
      #Domains=
      #DNSSEC=no
      #DNSOverTLS=no
      #MulticastDNS=no
      #LLMNR=no
      #Cache=no-negative
      #CacheFromLocalhost=no
      #DNSStubListener=yes
      #DNSStubListenerExtra=
      #ReadEtcHosts=yes
      #ResolveUnicastSingleLabel=no
    <!--NeedCopy-->
    
  2. Redémarrez le service résolu par systemd.

      sudo service systemd-resolved restart
    <!--NeedCopy-->
    

    Pour plus d’informations, consultez la page https://notes.enovision.net/linux/changing-dns-with-resolve.

  • Pour les VDA RHEL, Rocky Linux et SUSE :
  1. Exécutez la commande nmcli suivante pour obtenir une liste de noms de connexion :

      sudo nmcli connection
    <!--NeedCopy-->
    
  2. Exécutez une autre commande nmcli pour configurer l’adresse IP du DNS :

      sudo nmcli con mod {connectionNameHere} ipv4.dns "<dns ip address>"
    <!--NeedCopy-->
    

    Par exemple, vous pouvez définir l’adresse IP du DNS sur 192.168.2.254 en utilisant la commande suivante :

      sudo nmcli con mod eth0 ipv4.dns "192.168.2.254"
    <!--NeedCopy-->
    
  3. Rechargez les nouveaux paramètres du DNS en exécutant l’une des commandes suivantes :

      sudo systemctl restart NetworkManager.service
    <!--NeedCopy-->
    
      sudo nmcli connection reload
    <!--NeedCopy-->
    

    For more information, see https://www.cyberciti.biz/faq/change-dns-ip-address-rhel-redhat-linux/.

Étape 2 : demandez un certificat auprès d’une autorité de certification (CA)

  1. Lancez une demande de certificat. Lorsque vous lancez une demande de certificat, renseignez le nom de domaine complet (FQDN) du Delivery Controller.

    Lancement d'une demande de certificat

  2. Sélectionnez une longueur de bits de 2048 ou plus pour garantir une sécurité robuste à votre certificat.

    Sélection de la longueur de bits

  3. Attribuez un nom descriptif au fichier de demande de certificat pour pouvoir l’identifier facilement.

    Attribution d'un nom au fichier de demande de certificat

  4. Ouvrez le fichier de demande de certificat généré dans un éditeur de texte comme Notepad et sélectionnez tout le contenu qu’il contient.

    Ouverture du fichier de demande de certificat généré

  5. Connectez-vous à votre serveur de certificats Web et procédez à la demande de certificat.

    Connexion au serveur de certificats Web

    Demande de certificat avancée

  6. Collez le contenu du fichier de demande copié dans le champ approprié sur le serveur Web et sélectionnez le modèle de certificat Serveur Web.

    Envoi d'une demande de certificat

  7. Téléchargez le certificat au format codé en Base 64.

    Téléchargement du certificat

  8. Terminez la demande de certificat. Une fois le téléchargement terminé, le processus de demande de certificat est terminé.

    Fin de la demande de certificat

Étape 3 : liez le certificat de nom de domaine complet du Delivery Controller

  1. Exportez le certificat de nom de domaine complet du Delivery Controller sous forme de fichier PFX.

    Exportation du certificat FQDN du Delivery Controller

  2. Importez le certificat PFX exporté dans les services Internet (IIS) de votre serveur Delivery Controller.

    Importation du certificat PFX exporté

  3. Liez le certificat importé à votre site Web par défaut dans IIS.

    Liaison du certificat importé

  4. Pendant le processus de liaison, assurez-vous de sélectionner le certificat spécifique que vous avez importé.

    Processus de liaison et sélection du certificat importé

Étape 4 : enregistrez et mettez à jour le certificat CA sur le VDA Linux

  1. Téléchargez le certificat CA. Par exemple :

    Téléchargement du certificat CA

  2. Placez et mettez à jour le certificat CA.

    • Pour RHEL et Rocky Linux :

      Utilisez la commande ancre d’approbation pour ajouter le certificat CA. Veillez à ne placer aucun certificat manuellement dans le répertoire /etc/pki/ca-trust/source/anchors. Si vous rencontrez des erreurs liées aux champs en lecture seule, supprimez tous les certificats présents dans ce répertoire.

    • Pour SUSE, Ubuntu et Debian :

      Placez le certificat CA racine dans le répertoire /usr/local/share/ca-certificates. Si le certificat n’a pas d’extension .crt, renommez-le en conséquence. Ensuite, exécutez la commande update-ca-certificate.

Configurer des certificats autosignés pour les communications WebSocket