Transport Layer Security (TLS) sur le serveur d’impression universelle

Le protocole TLS (Transport Layer Security) est pris en charge pour les connexions basées sur TCP entre le Virtual Delivery Agent (VDA) et le serveur d’impression universelle.

Avertissement :

Pour les tâches qui incluent l’utilisation du Registre Windows, la modification du Registre peut entraîner de sérieux problèmes qui pourraient nécessiter la réinstallation de votre 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.

Types de connexions d’impression entre le VDA et le serveur d’impression universelle

Connexions en texte clair (cleartext)

Les connexions suivantes, relatives à l’impression, proviennent du VDA et se connectent aux ports du serveur d’impression universelle. Ces connexions sont effectuées uniquement lorsque le paramètre de stratégie SSL activé est défini sur Désactivé (valeur par défaut).

  • Connexions de service Web d’impression en texte clair (port TCP 8080)
  • Connexions de flux de données d’impression en texte clair (CGP) (port TCP 7229)

L’article de support Microsoft Vue d’ensemble des services et exigences de ports réseau pour Windows décrit les ports utilisés par le service de spouleur d’impression Microsoft Windows. Les paramètres SSL/TLS de ce document ne s’appliquent pas aux connexions NETBIOS et RPC effectuées par le service de spouleur d’impression Windows. Le VDA utilise le fournisseur d’impression réseau Windows (win32spl.dll) comme solution de secours si le paramètre de stratégie Activer le serveur d’impression universelle est défini sur Activé avec retour à l’impression distante native de Windows.

serveur d'impression universelle sécurisé

Connexions cryptées

Ces connexions SSL/TLS, relatives à l’impression, proviennent du VDA et se connectent aux ports du serveur d’impression universelle. Ces connexions sont effectuées uniquement lorsque le paramètre de stratégie SSL activé est défini sur Activé.

  • Connexions du service Web d’impression cryptées (port TCP 8443)
  • Connexions du flux de données d’impression cryptées (CGP) (port TCP 443)

serveur d'impression universelle sécurisé 2

Configuration du client SSL/TLS

Le VDA fonctionne en tant que client SSL/TLS.

Utilisez la stratégie de groupe Microsoft et le Registre pour configurer Microsoft SCHANNEL SSP pour les connexions de service Web d’impression cryptées (port TCP 8443). L’article de support Microsoft Paramètres de Registre TLS décrit les paramètres de Registre de Microsoft SCHANNEL SSP.

A l’aide de l’éditeur de stratégie de groupe, sur le VDA (Windows Server 2016 ou Windows 10), accédez à Configuration ordinateur > Modèles d’administration > Réseau > Paramètres de configuration SSL > Ordre des suites de chiffrement SSL. Sélectionnez l’ordre suivant :

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P384

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P256

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256

Remarque :

Lorsque ce paramètre de stratégie de groupe est configuré, le VDA sélectionne une suite de chiffrement pour les connexions de service Web d’impression cryptées (port par défaut : 8443) uniquement si les connexions apparaissent dans les deux listes de suites de chiffrement SSL :

  • Liste des suites de chiffrement SSL de stratégie de groupe
  • Liste correspondant au paramètre de stratégie Suite de chiffrement SSL (COM, GOV ou ALL) sélectionné

Cette configuration de stratégie de groupe affecte également d’autres applications et services TLS sur le VDA. Si vos applications requièrent des suites de chiffrement spécifiques, vous devez les ajouter à la liste des suites de chiffrement de la stratégie de groupe.

Important :

Les modifications de stratégie de groupe pour la configuration TLS ne prennent effet qu’après le redémarrage du système d’exploitation.

Utilisez une stratégie Citrix pour configurer les paramètres SSL/TLS pour les connexions CGP (port TCP 443).

Configuration du serveur SSL/TLS

Le serveur d’impression universelle fonctionne en tant que serveur SSL/TLS.

Utilisez le script PowerShell Enable-UpsSsl.ps1 pour configurer les paramètres SSL/TLS.

Installer le certificat du serveur TLS sur le serveur d’impression universelle

Pour HTTPS, le service d’impression universelle prend en charge les fonctionnalités TLS par le biais de certificats de serveur. Les certificats client ne sont pas utilisés. Utilisez les services de certificats Microsoft Active Directory ou une autre autorité de certification pour demander un certificat pour le serveur d’impression universelle.

Prenez note des considérations suivantes lors de l’inscription ou de la demande d’un certificat à l’aide des services de certificats Microsoft Active Directory :

  1. Placez le certificat dans le magasin de certificats personnel de l’ordinateur local.
  2. Définissez l’attribut Nom commun du nom unique de l’objet (DN) du certificat sur le nom de domaine complet (FQDN) du serveur d’impression universelle. Spécifiez cette information dans le modèle de certificat.
  3. Définissez le fournisseur de services cryptographiques (CSP) utilisé pour générer la demande de certificat et la clé privée sur Microsoft Enhanced RSA and AES Cryptographic Provider (Encryption). Spécifiez cette information dans le modèle de certificat.
  4. Définissez la taille de la clé sur au moins 2048 bits. Spécifiez cette information dans le modèle de certificat.

Configuration de SSL sur le serveur d’impression universelle

Le service XTE sur le serveur d’impression universelle écoute les connexions entrantes. Il fonctionne comme un serveur SSL lorsque SSL est activé. Les connexions entrantes sont de deux types : les connexions de service Web d’impression, qui contiennent les commandes d’impression, et les connexions de flux de données d’impression, qui contiennent les travaux d’impression. SSL peut être activé sur ces connexions. SSL protège la confidentialité et l’intégrité de ces connexions. Par défaut, SSL est désactivé.

Le script PowerShell utilisé pour configurer SSL se trouve sur le support d’installation et porte le nom de fichier suivant : \Support\Tools\SslSupport\Enable-UpsSsl.ps1.

Configuration des numéros de port d’écoute sur le serveur d’impression universelle

Les ports par défaut pour le service XTE sont les suivants :

  • Port TCP de service Web d’impression en texte clair (HTTP) : 8080
  • Port TCP de flux de données d’impression en texte clair (CGP) : 7229
  • Port TCP de service Web d’impression cryptée (HTTPS) : 8443
  • Port TCP de flux de données d’impression crypté (CGP) : 443

Pour modifier les ports utilisés par le service XTE sur le serveur d’impression universelle, exécutez les commandes suivantes dans PowerShell en tant qu’administrateur (voir la section suivante pour obtenir des notes sur l’utilisation du script PowerShell Enable-UpsSsl.ps1) :

  1. Stop-Service CitrixXTEServer, UpSvc
  2. Enable-UpsSsl.ps1 -Enable -HTTPSPort <port> -CGPSSLPort <port> ou Enable-UpsSsl.ps1 -Disable -HTTPPort <port> -CGPPort <port>
  3. Start-Service CitrixXTEServer

Paramètres TLS sur le serveur d’impression universelle

Si vous disposez de plusieurs serveurs d’impression universelle dans une configuration à charge équilibrée, assurez-vous que les paramètres TLS sont configurés de manière cohérente sur tous les serveurs d’impression universelle.

Lorsque vous configurez le protocole TLS sur le serveur d’impression universelle, les autorisations sur le certificat TLS installé sont modifiées, offrant au service d’impression universelle un accès en lecture à la clé privée du certificat, et fournissant au service d’impression universelle les informations suivantes :

  • Quel certificat utiliser dans le magasin de certificat à utiliser pour TLS.
  • Quels numéros de port TCP utiliser pour les connexions TLS.

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

  • Quelles sont les versions du protocole TLS à autoriser.

Le serveur d’impression universelle prend en charge les versions 1.2, 1.1 et 1.0 du protocole TLS. Spécifiez la version minimale autorisée.

La version du protocole TLS par défaut est 1.2.

  • Quelles suites de chiffrement TLS sont autorisées.

Une suite de chiffrement sélectionne les algorithmes cryptographiques utilisés pour une connexion. Le serveur d’impression universelle et les VDA peuvent prendre en charge plusieurs ensembles de suites de chiffrement. Lorsqu’un VDA se connecte et envoie une liste des suites de chiffrement TLS prises en charge, le serveur d’impression universelle fait correspondre une des suites de chiffrement du client avec l’une de suites de chiffrement de sa liste configurée et accepte la connexion. S’il n’existe aucune correspondance de suite de chiffrement, le serveur d’impression universelle rejette la connexion.

Le serveur d’impression universelle prend en charge trois ensembles de suites de chiffrement avec les noms suivants : GOV (pour le gouvernement), COM (pour le commerce) et ALL. Les suites de chiffrement acceptables dépendent du paramètre de stratégie Mode FIPS SSL et du mode FIPS Windows. Consultez cet article de support Microsoft pour plus d’informations sur le mode FIPS Windows.

Configurer TLS sur un serveur d’impression universelle à l’aide du script PowerShell

Installez le certificat TLS dans la zone Ordinateur local > Personnel > Certificats du magasin de certificats. Si plusieurs certificats résident à cet emplacement, fournissez l’empreinte numérique du certificat au script PowerShell Enable-UpsSsl.ps1.

Remarque :

Le script PowerShell trouve le certificat correct en se basant sur le nom de domaine complet du serveur d’impression universelle. Vous n’avez pas besoin de fournir l’empreinte du certificat si un seul certificat est présent pour le nom de domaine complet du serveur d’impression universelle.

Le script Enable-UpsSsl.ps1 active ou désactive les connexions TLS depuis le VDA vers le serveur d’impression universelle. Ce script est disponible dans le dossier Support > Tools > SslSupport sur le support d’installation.

Lorsque vous activez le protocole TLS, le script désactive toutes les règles de pare-feu Windows existantes pour les ports TCP du serveur d’impression universelle. Ensuite, il ajoute des règles qui permettent au service XTE d’accepter les connexions entrantes uniquement sur les ports TLS TCP et UDP. Cela désactive également les règles du Pare-feu Windows pour :

  • Connexions de service Web d’impression en texte clair (par défaut : 8080)
  • Connexions de flux de données d’impression en texte clair (CGP) (par défaut : 7229)

Par conséquent, le VDA ne peut effectuer ces connexions que lors de l’utilisation de TLS.

Remarque :

L’activation de TLS n’affecte pas les connexions RPC/SMB du Spouleur d’impression Windows depuis le VDA vers le serveur d’impression universelle.

Important :

Spécifiez Activer ou Désactiver comme premier paramètre. Le paramètre CertificateThumbPrint est facultatif si un seul certificat dans le magasin de certificats Ordinateur local possède le nom de domaine complet du serveur d’impression universelle. Les autres paramètres sont facultatifs.

Syntaxe

Enable-UpsSSL.ps1 -Enable [-HTTPPort <port>] [-CGPPort <port>] [–HTTPSPort <port>] [-CGPSSLPort <port>] [-SSLMinVersion <version>] [-SSLCipherSuite <name>] [-CertificateThumbprint <thumbprint>] [-FIPSMode <Boolean>] [-ComplianceMode <mode>] Enable-UpsSSL.ps1 -Disable [-HTTPPort \<portnum>] [-CGPPort \<portnum>]

Paramètre Description
Activer Active SSL/TLS sur le serveur XTE. Soit ce paramètre ou le paramètre Disable est requis.
Désactiver Désactive SSL/TLS sur le serveur XTE. Soit ce paramètre ou le paramètre Enable est requis.
CertificateThumbprint "<thumbprint>" Empreinte numérique du certificat TLS dans le magasin de certificats personnel de l’ordinateur local, entourée de guillemets. Le script utilise l’empreinte numérique spécifiée pour sélectionner le certificat que vous voulez utiliser.
HTTPPort <port> Port de service Web d’impression en texte clair (HTTP/SOAP). Valeur par défaut : 8080
CGPport<port> Port de flux de données d’impression en texte clair (CGP). Valeur par défaut : 7229.
HTTPSPort <port> Port de service Web d’impression cryptée (HTTPS/SOAP). Valeur par défaut : 8443
CGPSSLPort <port> Port de flux de données d’impression cryptée (CGP). Valeur par défaut : 443
SSLMinVersion "<version>" Version minimale du protocole TLS, entourés de guillemets. Les valeurs valides sont : « TLS_1.0 », « TLS_1.1 » et « TLS_1.2 ». Valeur par défaut : TLS_1.2.
SSLCipherSuite “<name>” Nom du package de la suite de chiffrement TLS, entre guillemets. Les valeurs valides sont : « GOV », « COM » et « ALL » (par défaut).
FIPSMode <Boolean> Active ou désactive le mode FIPS 140 dans le serveur XTE. Les valeurs valides sont : $true pour activer le mode FIPS 140, $false pour désactiver le mode FIPS 140.

Exemples

Le script suivant active TLS. L’empreinte numérique (représentée en tant que « 12345678987654321 » dans cet exemple) est utilisée pour sélectionner le certificat à utiliser.

Enable-UpsSsl.ps1 –Enable -CertificateThumbprint "12345678987654321"

Le script suivant désactive TLS.

Enable-UpsSsl.ps1 –Disable

Configuration du mode FIPS

L’activation du mode US FIPS (Federal Information Processing Standards) garantit que seule la cryptographie conforme à la norme FIPS 140 est utilisée pour les connexions chiffrées du serveur d’impression universelle.

Configurez le mode FIPS sur le serveur avant de configurer le mode FIPS sur le client.

Consultez le site de documentation de Microsoft pour activer ou désactiver le mode FIPS Windows.

Activation du mode FIPS sur le client

Sur le Delivery Controller, exécutez Citrix Studio et définissez le paramètre de stratégie Citrix Mode FIPS SSL sur Activé. Activez la stratégie Citrix.

Procédez comme suit sur chaque VDA :

  1. Activez le mode FIPS Windows.
  2. Redémarrez le VDA.

Activation du mode FIPS sur le serveur

Procédez comme suit sur chaque serveur d’impression universelle :

  1. Activez le mode FIPS Windows.
  2. Exécutez cette commande PowerShell en tant qu’administrateur : stop-service CitrixXTEServer, UpSvc
  3. Exécutez le script Enable-UpsSsl.ps1 avec les paramètres -Enable -FIPSMode $true.
  4. Redémarrez le serveur d’impression universelle.

Désactivation du mode FIPS sur le client

Sur le Delivery Controller, exécutez Citrix Studio et définissez le paramètre de stratégie Citrix Mode FIPS SSL sur Désactivé. Activez la stratégie Citrix. Vous pouvez également supprimer le paramètre de stratégie Citrix Mode FIPS SSL.

Procédez comme suit sur chaque VDA :

  1. Désactivez le mode FIPS Windows.
  2. Redémarrez le VDA.

Désactivation du mode FIPS sur le serveur

Procédez comme suit sur chaque serveur d’impression universelle :

  1. Désactivez le mode FIPS Windows.
  2. Exécutez cette commande PowerShell en tant qu’administrateur : stop-service CitrixXTEServer, UpSvc
  3. Exécutez le script Enable-UpsSsl.ps1 avec les paramètres -Enable -FIPSMode $false.
  4. Redémarrez le serveur d’impression universelle.

Configuration de la version du protocole SSL/TLS

La version du protocole SSL/TLS par défaut est TLS 1.2. TLS 1.2 est la seule version du protocole SSL/TLS recommandée pour une utilisation en production. Pour le dépannage, il peut être nécessaire de modifier temporairement la version du protocole SSL/TLS dans un environnement hors production.

SSL 2.0 et SSL 3.0 ne sont pas pris en charge sur le serveur d’impression universelle.

Configuration de la version du protocole SSL/TLS sur le serveur

Procédez comme suit sur chaque serveur d’impression universelle :

  1. Exécutez cette commande PowerShell en tant qu’administrateur : stop-service CitrixXTEServer, UpSvc
  2. Exécutez le script Enable-UpsSsl.ps1 avec les paramètres de version -Enable -SSLMinVersion. N’oubliez pas de revenir à TLS 1.2 lorsque vous avez terminé le test.
  3. Redémarrez le serveur d’impression universelle.

Configuration de la version du protocole SSL/TLS sur le client

Procédez comme suit sur chaque VDA :

1. Sur le Delivery Controller, définissez le paramètre de stratégie Version du protocole SSL sur la version de protocole souhaitée et activez la stratégie.

2. L’article de support Microsoft Paramètres de Registre TLS décrit les paramètres de Registre de Microsoft SCHANNEL SSP. Activez TLS 1.0, TLS 1.1 ou TLS 1.2 côté client à l’aide des paramètres du Registre.

Important :

N’oubliez pas de restaurer les valeurs d’origine des paramètres du Registre lorsque vous avez terminé le test.

3. Redémarrez le VDA.

Résolution des problèmes

Si une erreur de connexion se produit, vérifiez le fichier journal C:\Program Files (x86)\Citrix\XTE\logs\error.log sur le serveur d’impression universelle.

Le message d’erreur SSL handshake from client failed figure dans ce fichier journal si le handshake SSL/TLS échoue. De tels échecs peuvent se produire si les versions du protocole SSL/TLS sur le VDA et sur le serveur d’impression universelle ne correspondent pas.

Utilisez le nom de domaine complet du serveur d’impression universelle dans les paramètres de stratégie suivants, qui contiennent les noms d’hôte du serveur d’impression universelle :

  • Imprimantes de session
  • Attributions d’imprimantes
  • Serveurs d’impression universelle d’équilibrage de la charge

Vérifiez que l’horloge système (date, heure et fuseau horaire) est correcte sur les serveurs d’impression universelle et les VDA.

Problèmes connus

La définition du mode de conformité SSL sur SP800-52 sur le VDA et le serveur d’impression universelle empêche d’établir des connexions TLS.