SSL

La configuration d’un site XenApp ou XenDesktop pour utiliser le protocole SSL (Secure Sockets Layer) de sécurité inclut les procédures suivantes :

  • Obtenir, installer et enregistrer un certificat de serveur sur tous les Delivery Controller, et configurer un port avec le certificat SSL. Pour plus de détails, consultez Installer les certificats de serveur SSL sur des Controller.

    Si vous le souhaitez, vous pouvez modifier les ports que le Controller utilise pour écouter le trafic HTTP et HTTPS.

  • Activez les connexions SSL entre les utilisateurs et Virtual Delivery Agents (VDA) en renseignant les tâches suivantes :

    Configuration requise et considérations :

    • L’activation des connexions SSL entre les utilisateurs et les VDA est valide uniquement pour les sites XenApp 7.6 et XenDesktop 7.6, ainsi que les versions ultérieures prises en charge.
    • Configurez SSL dans les groupes de mise à disposition et le VDA après l’installation de composants, créez un site, créez des catalogues de machines, et créez des groupes de mise à disposition.
    • Pour configurer SSL dans les groupes de mise à disposition, vous devez disposer de l’autorisation de modification des règles d’accès de Controller ; un administrateur complet possède ces permissions.
    • Pour configurer SSL sur les VDA, vous devez être un administrateur Windows sur la machine sur laquelle le VDA est installé.
    • Si vous prévoyez de configurer SSL sur les VDA qui ont été mis à niveau à partir de versions antérieures, désinstallez tous les relais SSL sur ces machines avant de les mettre à niveau.
    • Le script PowerShell permet de configurer SSL sur les VDA statiques ; il ne configure pas SSL sur les VDA regroupés qui sont provisionnés par Machine Creation Services ou Provisioning Services, où l’image de la machine cliente est réinitialisée à chaque redémarrage.

Pour les tâches qui incluent l’utilisation du registre Windows :

Avertissement : toute utilisation incorrecte de l’Éditeur du Registre peut générer des problèmes sérieux, pouvant vous obliger à réinstaller le système d’exploitation. Citrix ne peut garantir la possibilité de résoudre les problèmes provenant d’une mauvaise utilisation de l’Éditeur du Registre. Vous assumez l’ensemble des risques liés à l’utilisation de cet outil. Veillez à faire une copie de sauvegarde de votre registre avant de le modifier.

Pour plus d’informations sur l’activation de SSL pour la base de données du site, consultez la section CTX137556.

Installer les certificats de serveur SSL sur des Controller

Pour HTTPS, Le service XML prend en charge les fonctionnalités SSL par le biais de certificats de serveur mais pas de certificats de client. Pour obtenir, installer et enregistrer un certificat sur un Controller, et pour configurer un port avec le certificat SSL :

Modifier les ports HTTP ou HTTPS

Par défaut, le service XML du Controller écoute le trafic HTTP sur le port 80 et le trafic HTTPS sur le port 443. Bien que vous puissiez utiliser des ports différents de ceux par défaut, n’oubliez pas les risques de sécurité relatifs à l’exposition d’un Controller à des réseaux non approuvés. Le déploiement d’un serveur StoreFront autonome est préférable à la modification des valeurs par défaut.

Pour modifier la valeur par défaut des ports HTTP ou HTTPS utilisés par le Controller, exécutez la commande suivante à partir de Studio : BrokerService.exe -WIPORT <http-port> -WISSLPORT <https-port>

où <http-port> est le numéro de port pour le trafic HTTP et <https-port> le numéro de port pour le trafic HTTPS.

Remarque : après avoir modifié un port, il se peut que Studio affiche un message sur la compatibilité et la mise à niveau des licences. Pour résoudre le problème, ré-enregistrez les instances de service à l’aide de la séquence de l’applet de commande PowerShell suivante :

Get-ConfigRegisteredServiceInstance -ServiceType Broker -Binding
XML_HTTPS | Unregister-ConfigRegisteredServiceInstance
Get-BrokerServiceInstance | where Binding -eq "XML_HTTPS" |
Register-ConfigServiceInstance

Appliquer le trafic HTTPS uniquement

Si vous souhaitez que le service XML ignore le trafic HTTP, définissez la valeur de registre suivante sur le Controller dans HKLM\Software\Citrix\DesktopServer\ et redémarrez le service Broker.

Pour ignorer le trafic HTTP, définissez XmlServicesEnableNonSsl sur 0.

Il existe une valeur de registre correspondant pour ignorer le trafic HTTPS : XmlServicesEnableSsl. Assurez-vous qu’elle n’est pas définie sur 0.

À propos des paramètres SSL sur les VDA

Lorsque vous configurez le protocole SSL sur les VDA, il modifie les autorisations sur le certificat SSL installé, offrant au service ICA un accès en lecture à la clé privée du certificat, et informant le service ICA des opérations suivantes :

  • Quel certificat utiliser dans le magasin de certificat à utiliser pour SSL.

  • Quel numéro de port TCP utiliser pour les connexions SSL.

    Le Pare-feu Windows (s’il est activé) doit être configuré pour autoriser les connexions entrantes sur ce port TCP. Cette configuration est effectuée pour vous si vous utilisez le script PowerShell.

  • Quelles sont les versions du protocole SSL à autoriser.

    Les versions prises en charge du protocole SSL suivent une hiérarchie (de la plus basse à la plus élevée) : SSL 3.0, TLS 1.0, TLS 1.1 et TLS 1.2. Vous devez spécifier la version minimale autorisée ; toutes les connexions de protocole utilisant cette version ou une version supérieure sont autorisées.

    Par exemple, si vous spécifiez TLS 1.1 comme version minimale, les connexions de protocole TLS 1.1 et TLS 1.2 sont autorisées. Si vous spécifiez SSL 3.0 en tant que version minimale, les connexions pour toutes les versions prises en charge sont alors autorisées. Si vous spécifiez TLS 1.2 comme version minimale, seules les connexions TLS 1.2 sont autorisées.

  • Quels chiffrements SSL sont autorisés.

    Une suite de chiffrement est une liste de chiffrements SSL courants. Lorsqu’un client se connecte et envoie une liste de chiffrements SSL pris en charge, le VDA fait correspondre le chiffrement d’un client avec l’un des chiffrements de sa suite de chiffrement configurée et accepte la connexion. Si le client envoie un chiffrement qui n’est pas dans la suite de chiffrement du VDA, le VDA rejette la connexion.

    Trois suites de chiffrement sont prises en charge : GOV(ernment), COM(mercial), et ALL. Les suites de chiffrement dépendent du mode FIPS Windows ; voir http://support.microsoft.com/kb/811833 pour plus d’informations sur le mode FIPS Windows. Le tableau suivant répertorie les chiffrements de chaque suite de chiffrement prise en charge.

                 
    Suite de chiffrement SSL GOV COM TOUTES GOV COM TOUTES
    Mode FIPS Désactivé Désactivé Désactivé Activé Activé Activé
    RSA_KEYX x x x x x x
    RSA_SIGN x x x x x x
    3DES x   x x   x
    RC4   x x      
    MD5 x x x      
    SHA x x x x x x
    SHA_256 x x x x x x
    SHA_384 x x x x x x
    SHA_512 x x x x x x
    AES x x x x x x

Un groupe de mise à disposition ne peut pas avoir un mélange d’un VDA avec SSL configuré et d’autres VDA sans SSL configuré. Lorsque vous configurez le protocole SSL pour un groupe de mise à disposition, vous devez avoir déjà configuré SSL pour tous les VDA dans ce groupe de mise à disposition.

Configurer SSL sur un VDA à l’aide du script PowerShell

Le script Enable-VdaSSL.ps1 active ou désactive l’écouteur SSL sur un VDA. Ce script est disponible dans le dossier Support > Tools > SslSupport sur le support d’installation.

Lorsque vous activez le protocole SSL, le script désactive toutes les règles du Pare-feu Windows existantes pour le port TCP spécifié avant d’ajouter une règle qui permet au service ICA d’accepter des connexions entrantes sur le port TCP SSL uniquement. Cela désactive également les règles du Pare-feu Windows pour :

  • Citrix ICA (valeur par défaut : 1494)
  • Citrix CGP (valeur par défaut : 2598)
  • Citrix WebSocket (valeur par défaut : 8008)

Le résultat est que les utilisateurs peuvent se connecter uniquement via SSL ; ils ne peuvent pas utiliser de données brutes ICA, CGP ou WebSocket pour se connecter.

Le script contient des descriptions de la syntaxe suivante, ainsi que d’autres exemples ; vous pouvez utiliser un outil tel que le Bloc-notes++ pour consulter ces informations.

Vous devez spécifier le paramètre –Enable ou –Disable ; tous les autres paramètres sont facultatifs.

Syntaxe :

Enable-VdaSSL {-Enable -Disable} [–SSLPort <port>] [-SSLMinVersion “<min-ssl-version>”] [-SSLCipherSuite “<suite>”] [-CertificateThumbPrint “<thumbprint>”]
Paramètre Description
-Enable Installe et active l’écouteur SSL sur le VDA. Soit ce paramètre ou le paramètre -Disable est requis.
-Disable Désactive l’écouteur SSL sur le VDA. Soit ce paramètre ou le paramètre –Enable est requis. Si vous spécifiez ce paramètre, aucun autre paramètre n’est valide.
–SSLPort <port> Port SSL. Valeur par défaut : 443
-SSLMinVersion “<version-ssl-min>” Version minimale du protocole SSL, entourés de guillemets. Les valeurs valides sont : « SSL_3.0 », « TLS_1.0 », « TLS_1.1 » et « TLS_1.2 ». Valeur par défaut: « TLS_1.0 »
-SSLCipherSuite « <suite> » Suite de chiffrement SSL, entourés de guillemets. Les valeurs valides sont : « GOV », « COM » et « ALL ». Valeur par défaut : « ALL »
-CertificateThumbPrint « <empreinte> » Empreinte numérique du certificat SSL dans le magasin de certificats, entourée de guillemets. Ce paramètre est généralement utilisé lorsque le magasin de certificats possède plusieurs certificats, le script utilise l’empreinte numérique pour sélectionner le certificat que vous voulez utiliser. Valeur par défaut : le premier certificat disponible détecté dans la zone Ordinateur local > Personnel > Certificats du magasin de certificats.

Exemples :

Le script suivant installe et active l’écouteur SSL, à l’aide des valeurs par défaut pour tous les paramètres facultatifs.

Enable-VdaSSL –Enable

Le script suivant installe et active l’écouteur SSL et spécifie le port SSL 400, la suite de chiffrement GOV et une valeur de protocole minimale TLS 1.2 SSL.

Enable-VdaSSL – Enable –SSLPort 400 ‘SSLMinVersion “TLS_1.2”
–SSLCipherSuite “GOV”

Le script suivant désactive l’écouteur SSL sur le VDA.

Enable-VdaSSL –Disable

Configurer manuellement SSL sur un VDA

Lors de la configuration manuelle de SSL sur un VDA, vous offrez un accès en lecture générique à la clé privée du certificat SSL pour le service approprié sur chaque VDA : NT SERVICE\PorticaService pour un VDA pour OS Windows Desktop, ou NT SERVICE\TermService pour un VDA pour OS Windows Server. Sur la machine sur laquelle le VDA est installé :

  1. Lancez la console MMC (Microsoft Management Console) : Démarrer > Exécuter > mmc.exe.
  2. Ajouter le composant logiciel enfichable Certificats à la console MMC :
    1. Sélectionnez Fichier > Ajouter/Supprimer un composant logiciel enfichable.
    2. Sélectionnez Certificats et cliquez sur Ajouter.
    3. Lorsque vous y êtes invité par « Ce composant logiciel enfichable gérera toujours les certificats pour : », choisissez « Le compte d’ordinateur », puis cliquez sur Suivant.
    4. Lorsque vous y êtes invité par « Sélectionnez l’ordinateur à gérer par ce composant logiciel enfichable », choisissez « Ordinateur local », puis cliquez sur Terminer.
  3. Sous Certificats (Ordinateur local) > Personnel > Certificats, cliquez avec le bouton droit de la souris sur le certificat, puis sélectionnez Toutes les tâches > Gérer les clés privées.
  4. L’Éditeur de liste de contrôle d’accès affiche « Autorisations pour les clés privées (FriendlyName) » où (FriendlyName) est le nom de votre certificat SSL. Ajoutez l’un des services suivants et accordez-lui un accès en lecture :
    • Pour un VDA pour OS Windows Desktop, « PORTICASERVICE »
    • Pour un VDA pour OS de serveur Windows, « TERMSERVICE »
  5. Cliquez deux fois sur le certificat SSL installé. Dans la boîte de dialogue du certificat, sélectionnez l’onglet Détails, puis faites défiler vers le bas. Cliquez sur Empreinte numérique.
  6. Exécutez la commande regedit et rendez-vous sur HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\icawd.
    1. Modifier la clé d’empreinte numérique SSL et copiez la valeur de l’empreinte numérique du certificat SSL dans cette valeur binaire. Vous pouvez ignorer sans risque les éléments inconnus dans la boîte de dialogue Modifier la valeur binaire (tels que ‘0000’ et les caractères spéciaux).
    2. Modifier la clé SSLEnabled et modifiez la valeur DWORD sur 1. (Pour désactiver SSL ultérieurement, changez la valeur DWORD sur 0).
    3. Si vous souhaitez modifier les paramètres par défaut (facultatif), utilisez les informations suivantes dans le même chemin d’accès du Registre :
      • SSLPort DWORD : numéro de port SSL. Valeur par défaut : 443.
      • SSLMinVersion DWORD : 1 = SSL 3.0, 2 = TLS 1.0, 3 = TLS 1.1, 4 = TLS 1.2. Valeur par défaut : 2 (TLS 1.0).
      • SSLCipherSuite DWORD : 1 = GOV, 2 = COM, 3 = ALL. Valeur par défaut : 3 (ALL).
  7. Assurez-vous que le port TCP SSL est ouvert dans le Pare-feu Windows s’il n’est pas la valeur par défaut (443). (Lors de la création de la règle de trafic entrant dans le Pare-feu Windows, assurez-vous que ses propriétés possèdent les entrées sélectionnées « Autoriser la connexion » et « Activé ».)
  8. Assurez-vous qu’aucune autre application ou service (tel que IIS) utilisent le port TCP SSL.
  9. Pour les VDA pour OS Windows Server, redémarrez la machine pour que les modifications prennent effet. (Il n’est pas nécessaire de redémarrer les machines contenant des VDA pour OS Windows Desktop).

Configurer SSL sur les groupes de mise à disposition

Effectuez cette procédure pour chaque groupe de mise à disposition qui contient les VDA vous avez configurés pour les connexions SSL.

  1. À partir de Studio, ouvrez la console PowerShell.

  2. Exécutez asnp Citrix.* pour charger les applets de commande du produit Citrix.

  3. Exécutez Get-BrokerAccessPolicyRule –DesktopGroupName ‘’ \| Set-BrokerAccessPolicyRule –HdxSslEnabled $true.

    est le nom du groupe de mise à disposition contenant les VDA.

  4. Exécutez Set-BrokerSite –DnsResolutionEnabled $true.

Résolution des problèmes

Si une erreur de connexion se produit, consultez le journal des événements système du VDA.

Lors de l’utilisation de Receiver pour Windows, si vous recevez une erreur de connexion (comme 1030) qui indique une erreur SSL, désactivez Desktop Viewer, puis essayez de vous reconnecter, bien que la connexion échoue toujours, une description du problème SSL sous-jacent peut être fournie (par exemple, vous avez spécifié un modèle incorrect lors de la demande d’un certificat auprès de l’autorité de certification).