Agent de livraison virtuel Linux 2507 LTSR

Configurer les certificats auto-signés pour WebSocket

À partir de la version initiale de la 2402 LTSR, Citrix Virtual Apps and Desktops vous permet d’utiliser la technologie WebSocket via le protocole de courtage Citrix (CBP) pour faciliter la communication entre les VDA et les Delivery Controllers. Cette fonctionnalité ne nécessite que le port TLS 443 pour la communication du VDA vers le Delivery Controller. Pour plus d’informations, consultez Communication WebSocket entre le VDA et le Delivery Controller dans la documentation Citrix Virtual Apps and Desktops.

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

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

  • Pour les VDA Ubuntu et Debian :
  1. Modifiez les paramètres DNS en éditant /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 systemd-resolved.

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

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

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

    sudo nmcli connection
    <!--NeedCopy-->
    
  4. 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 à l’aide de la commande suivante :

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

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

    Pour plus d’informations, consultez https://www.cyberciti.biz/faq/change-dns-ip-address-rhel-redhat-linux/.

Étape 2 : Demander 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.

    Lancer une demande de certificat

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

    Sélectionner une longueur de clé

      1. Attribuez un nom descriptif à votre fichier de demande de certificat pour une identification facile.
    • Nommer le fichier de demande de certificat
  3. Ouvrez le fichier de demande de certificat généré à l’aide d’un éditeur de texte comme le Bloc-notes et sélectionnez tout le contenu.

    Ouvrir le fichier de demande de certificat généré

  4. Connectez-vous à votre serveur de certificats Web et procédez à la demande d’un certificat.

    Se connecter à votre serveur de certificats Web

    Demande de certificat avancée

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

    Soumettre une demande de certificat

  6. Téléchargez le certificat au format encodé en Base 64.

    Télécharger le certificat

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

    Terminer la demande de certificat

Étape 3 : Lier le certificat FQDN du Delivery Controller

  1. Exportez le certificat FQDN du Delivery Controller en tant que fichier PFX.

    Exporter le certificat FQDN du Delivery Controller

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

    Importer le certificat PFX exporté

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

    Lier le certificat importé

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

    Sélectionner le certificat importé pendant la liaison

Étape 4 : Enregistrer et mettre à jour le certificat CA sur le VDA Linux

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

    Télécharger un certificat CA

  2. Placez et mettez à jour le certificat CA.

    • Pour RHEL et Rocky Linux :

      Utilisez la commande trust anchor <path/CA certificate> pour ajouter le certificat CA. Assurez-vous qu’aucun certificat n’est placé manuellement dans le répertoire /etc/pki/ca-trust/source/anchors. Si vous rencontrez des erreurs liées à des 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 les certificats auto-signés pour WebSocket