Protection de clé privée
Introduction
Les certificats FAS sont stockés dans une base de données intégrée sur le serveur FAS. Les clés privées associées aux certificats FAS sont stockées sous le compte du service réseau du serveur FAS. Par défaut, les clés sont non exportables, RSA 2048 bits, créées et stockées dans le fournisseur de stockage de clés logicielles Microsoft.
Les commandes FAS PowerShell et les applets de commande PowerShell permettent de modifier les propriétés et l’emplacement de stockage des clés privées.
Remarque:
La configuration et les certificats FAS sont stockés localement sur le serveur FAS. Les données ne sont pas partagées entre les serveurs FAS.
Dans les versions du service FAS antérieures à Citrix Virtual Apps and Desktops 2411, les propriétés de clé privée étaient configurées en modifiant le fichier XML dans
%programfiles%\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe.config.
Cette méthode a été remplacée par les commandes PowerShell, qui offrent plus de flexibilité et peuvent être appliquées sans redémarrer le serveur FAS. De plus, contrairement aux paramètres du fichier XML, la configuration effectuée à l’aide de PowerShell est conservée lorsque le serveur FAS est mis à niveau. En conséquence, la configuration des paramètres suivants dans le fichier XML n’est plus prise en charge :
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyProtection
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderLegacyCsp
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderName
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderType
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyLength
Consultez la section Mise à niveau à partir de versions du service FAS antérieures à Citrix Virtual Apps and Desktops 2411.
Informations sur les certificats et modèles FAS
Il existe deux types de certificats détenus par le FAS : le certificat d’autorisation, dont il existe normalement une seule instance, et les certificats utilisateur.
Remarque:
Le certificat d’autorisation FAS est également parfois appelé certificat Registration Authority ou Request Agent (RA).
Le FAS utilise des modèles de certificats lors des demandes de certificats, comme décrit dans la section suivante. Bien que le FAS spécifie le nom d’un modèle dans les demandes de certificat, il ne lit pas le contenu du modèle. La modification des paramètres du modèle n’influe donc pas sur les demandes de certificat effectuées par le FAS. En revanche, la modification de certaines propriétés du modèle affecte le certificat généré par l’autorité de certification. Par exemple, vous pouvez modifier la période de validité via le modèle.
Certificat d’autorisation FAS
Ce certificat est créé lorsque vous configurez le FAS. Vous pouvez utiliser le bouton Autoriser ou Réautoriser de la console d’administration du FAS pour demander un nouveau certificat d’autorisation.
Il est également possible d’utiliser des commandes PowerShell, qui offrent plus de flexibilité :
-
New-FasAuthorizationCertificate
: cette commande se comporte de manière similaire à la console d’administration du FAS, à la différence près qu’il est possible de spécifier les modèles de certificats à utiliser dans le processus d’autorisation. -
New-FasAuthorizationCertificateRequest
: cette commande crée une demande hors ligne de certificat d’autorisation ; Autorisation hors ligne.
Le certificat d’autorisation est également parfois appelé certificat RA, car le FAS agit en tant qu’autorité d’inscription, pour demander des certificats au nom d’un utilisateur. Le certificat dispose de l’utilisation améliorée de la clé Agent de demande de certificat. Cela permet de l’utiliser en guise d’identifiant d’autorisation lors de la demande de certificats utilisateur FAS.
Par défaut, le processus d’autorisation utilise les modèles suivants :
-
Citrix_RegistrationAuthority_ManualAuthorization
: le certificat créé à l’aide de ce modèle est temporaire, de courte validité et sert à amorcer le processus d’autorisation. -
Citrix_RegistrationAuthority
: le certificat créé à l’aide de ce modèle a une longue période de validité et est stocké par le serveur FAS.
Le processus d’autorisation du FAS se déroule selon les étapes suivantes :
-
Le FAS crée une paire de clés et envoie une Demande de signature de certificat (CSR) à l’autorité de certification, spécifiant la clé publique de la paire de clés et le modèle
Citrix_RegistrationAuthority_ManualAuthorization
. -
Les exigences d’émission du modèle précisent que la CSR doit être approuvée manuellement par l’administrateur de l’AC.
-
Une fois que l’administrateur de l’AC a approuvé la CSR, l’AC crée un certificat que le FAS récupère. Ce certificat valide un jour n’est utilisé que pour l’étape suivante. Une fois utilisés, le certificat et sa paire de clés sont détruits par le FAS.
-
Le FAS crée une autre paire de clés et envoie une deuxième CSR à l’autorité de certification, spécifiant la clé publique de cette paire de clés et le modèle
Citrix_RegistrationAuthority
. La demande est autorisée et signée avec le certificat de l’étape précédente. -
L’AC émet automatiquement le certificat, le FAS récupère le certificat et est désormais Autorisé. Par défaut, ce certificat d’autorisation a une validité de deux ans.
Les paramètres utilisés pour créer les paires de clés mentionnées précédemment peuvent être visualisés à l’aide de cette commande PowerShell :
Get-FasKeyConfig -Address localhost -CertificateType ra
Certificats utilisateur FAS
Le FAS crée des certificats utilisateur pour connecter les utilisateurs aux VDA.
Lorsque le FAS crée un certificat utilisateur, les étapes suivantes se produisent :
- Le FAS crée une paire de clés et envoie une CSR à l’AC, spécifiant la clé publique de la paire de clés, l’identité de l’utilisateur et, par défaut, le modèle
Citrix_SmartcardLogon
(le modèle utilisé est configurable). - La CSR est signée à l’aide du certificat d’autorisation FAS.
-
Le modèle Citrix_SmartcardLogon
est assorti d’une exigence d’émissionStratégie d'application : Agent de demande de certificat
. Comme cet attribut est présent dans le certificat d’autorisation FAS, l’AC émet automatiquement le certificat utilisateur. - Le FAS récupère le certificat et le stocke dans une base de données intégrée sur le serveur FAS.
- Par défaut, le certificat a une validité d’une semaine.
Plus tard, le certificat utilisateur est mis à la disposition du VDA pour connecter l’utilisateur.
Les paramètres utilisés pour créer la paire de clés mentionnée précédemment peuvent être visualisés à l’aide de la commande PowerShell suivante :
Get-FasKeyConfig -Address localhost -CertificateType user
Options de stockage de clés privées
Le FAS peut être configuré pour créer et stocker des paires de clés dans trois catégories de stockage :
- Logiciel : utilise normalement le fournisseur de stockage de clés logiciel Microsoft, qui est sécurisé uniquement par logiciel ; les données sont stockées sur le disque.
- Trusted Platform Module (TPM) : le TPM peut être un matériel physique sur l’ordinateur ou virtuel fourni par un hyperviseur.
- Module de sécurité matériel (HSM) : il s’agit d’un périphérique matériel ou réseau conçu pour stocker en toute sécurité les clés cryptographiques.
Remarque:
Il y a un compromis à prendre en compte. Le stockage matériel peut être plus sécurisé, mais il est souvent moins performant, en particulier lors de la création et du stockage d’un grand nombre de paires de clés de certificats utilisateur.
La clé privée associée au certificat d’autorisation FAS est particulièrement sensible. En effet, la stratégie du certificat permet à toute personne disposant de la clé privée d’autoriser les demandes de certificat pour n’importe quel utilisateur. En conséquence, toute personne contrôlant cette clé peut se connecter à l’environnement comme n’importe quel utilisateur.
Remarque:
Les autorités de certification Microsoft peuvent être configurées pour restreindre la puissance du certificat d’autorisation FAS, y compris l’ensemble des utilisateurs pour lesquels les certificats peuvent être émis. Reportez-vous à Agents d’inscription délégués.
Pour cette raison, le FAS vous permet de configurer les propriétés de la clé privée pour les certificats d’autorisation et les certificats utilisateur indépendamment.
Voici quelques configurations types :
Clé de certificat d’autorisation | Clés de certificat utilisateur | Commentaire |
---|---|---|
Logiciel | Logiciel | Configuration par défaut |
TPM | Logiciel | Le certificat d’autorisation bénéficie d’une protection matérielle |
HSM | HSM | Tous les certificats bénéficient d’une protection matérielle |
Remarque:
Un TPM matériel n’est pas recommandé pour les clés utilisateur. Utilisez un TPM uniquement pour la clé d’un certificat d’autorisation. Si vous prévoyez d’exécuter le serveur FAS dans un environnement virtualisé, vérifiez auprès de votre fournisseur d’hyperviseur si la virtualisation du TPM est prise en charge.
Commandes PowerShell de configuration des clés
Les commandes permettant de configurer des clés privées sont les suivantes :
Get-FasKeyConfig
Set-FasKeyConfig
Reset-FasKeyConfig
Test-FasKeyConfig
Pour de plus amples informations, consultez Applets de commande PowerShell.
La configuration des clés des certificats d’autorisation et des certificats utilisateur est indépendante et spécifiée par l’argument CertificateType
. Par exemple, pour obtenir la configuration de la clé privée utilisée lors d’une demande de certificat d’autorisation (certificat RA) :
Get-FasKeyConfig -Address localhost -CertificateType ra
Pour obtenir la configuration de la clé privée utilisée lors d’une demande de certificat utilisateur :
Get-FasKeyConfig -Address localhost -CertificateType user
Vous pouvez utiliser Set-FasKeyConfig et Get-FasKeyConfig pour définir et inspecter les propriétés de clé privée suivantes :
Propriété | Valeur par défaut | Commentaire |
---|---|---|
Length
|
2048
|
Longueur de la clé en bits. Notez que, dans l’interface graphique du modèle Microsoft, l’onglet Cryptographie spécifie la taille de clé minimale **. L’AC rejette la CSR si la longueur de clé configurée dans le FAS est inférieure à la taille de clé minimale spécifiée dans le modèle.
Pour les clés RSA, les longueurs peuvent être de 1024, 2048 ou 4096 bits. Pour les clés ECC, les longueurs peuvent être de 256, 384 ou 521 bits. |
Exportable | false | Indique si la clé privée peut être exportée depuis son fournisseur. |
Prefix | none | Spécifie un préfixe à ajouter à l’identifiant des clés privées générées par le FAS. Les identifiants générés sont composés du préfixe et d’un GUID. Par exemple, MonPréfixe70277985-6908-4C6F-BE59-B08691456804 . |
EllipticCurve | false | Si la valeur est définie sur true, une paire de clés ECC est générée, sinon il s’agit d’une paire de clés RSA. |
Key Storage Provider (KSP)
|
true
|
Si la valeur est définie sur true, le FAS utilise l’API CNG Windows moderne et un KSP doit être spécifié dans la propriété Provider.
Si la valeur est définie sur false, le FAS utilise l’API CAPI d’ancienne génération et un fournisseur de service cryptographique (CSP) doit être spécifié dans la propriété Provider. Citrix recommande d’utiliser un KSP. |
Provider | Fournisseur de stockage des clés de logiciel Microsoft | Nom du fournisseur où les paires de clés sont créées et stockées. Vous pouvez modifier cette propriété pour spécifier un TPM ou un HSM. Le KSP (ou CSP) d’un HSM est fourni par le fournisseur du HSM. Ils fournissent des instructions sur l’installation de leur logiciel et le nom du fournisseur. |
CSPType
|
24
|
Uniquement pertinent si la propriété KSP est définie sur false.
Fait référence à Microsoft KeyContainerPermissionAccessEntry.ProviderType Property PROV_RSA_AES 24 . Doit toujours être 24, sauf si vous utilisez un HSM avec un CSP et que le fournisseur du HSM spécifie le contraire. |
De plus, Set-FasKeyConfig peut être utilisé avec les commutateurs suivants, fournis pour plus de commodité :
Indicateur | Description |
---|---|
-UseDefaultSoftwareProvider | Définit la propriété Provider sur Microsoft Software Key Storage Provider et le champ KSP sur true. |
-UseDefaultTpmProvider | Définit la propriété Provider sur Microsoft Platform Crypto Provider et le champ KSP sur true. |
Le fournisseur de stockage de clés logiciel Microsoft est généralement utilisé pour créer et stocker des clés sur le disque.
Microsoft Platform Crypto Provider est le fournisseur habituellement utilisé pour créer et stocker des clés dans un TPM.
Get-FasKeyConfig fournit également des champs permettant de confirmer le fournisseur et l’algorithme à utiliser :
Champ | Signification |
---|---|
IsDefaultSoftwareProvider | Si la valeur est définie sur true, le fournisseur est Microsoft Software Key Storage Provider et le champ KSP est alors défini sur true. |
IsDefaultTpmProvider | Si la valeur est définie sur true, le fournisseur est Microsoft Platform Crypto Provider et le champ KSP est défini sur true. |
Algorithm
|
RSA indique que des clés RSA seront créées (la propriété EllipticCurve est définie sur false).
ECC indique que des clés ECC seront créées (la propriété EllipticCurve est définie sur true). |
Vous pouvez restaurer les paramètres par défaut en exécutant Reset-FasKeyConfig
.
Reset-FasKeyConfig -Address localhost -CertificateType ra
Reset-FasKeyConfig -Address localhost -CertificateType user
<!--NeedCopy-->
Remarque:
Les modifications apportées à la configuration de la clé privée (à l’aide de
Set-FasKeyConfig
ou deReset-FasKeyConfig
) s’appliquent immédiatement aux certificats nouvellement créés. En revanche, les certificats d’autorisation et les certificats utilisateur existants, dont la configuration est différente, ne sont pas affectés.Vous pouvez supprimer les certificats existants en annulant l’autorisation du service FAS à partir de la console d’administration ou en exécutant les commandes PowerShell fournies dans Annulation de l’autorisation du service FAS et suppression des certificats FAS.
Toutes les clés préalablement générées dans le pool de clés, qui ne sont pas conformes à la configuration de clé utilisateur actuelle, sont alors supprimées.
Exemples de scénario de configuration
Dans chaque scénario, avant d’autoriser le service FAS, définissez la configuration de clé à l’aide de la commande PowerShell fournie. En effet, les certificats existants ne sont pas affectés par les modifications de configuration.
Si certains certificats d’autorisation ou certificats utilisateur ont une configuration de clé incorrecte, vous pouvez les supprimer en effectuant les opérations suivantes : Inspection des certificats FAS et Annulation de l’autorisation du FAS et suppression des certificats FAS.
Si votre serveur FAS s’exécute dans un déploiement actif, envisagez de le placer en mode de maintenance le temps de modifier la configuration Mode de maintenance.
Exemple 1 – Stockage de toutes les clés dans le fournisseur de stockage de clés logiciel Microsoft
Étant donné qu’il s’agit du comportement par défaut, aucune configuration supplémentaire n’est requise.
Si vous avez déjà modifié la configuration de la clé, vous pouvez revenir à l’utilisation du fournisseur de stockage de clés logiciel Microsoft en exécutant les commandes suivantes :
Set-FasKeyConfig -Address localhost -CertificateType ra -UseDefaultSoftwareProvider
Set-FasKeyConfig -Address localhost -CertificateType user -UseDefaultSoftwareProvider
<!--NeedCopy-->
Vous pouvez exécuter Reset-FasKeyConfig
pour revenir au fournisseur de stockage de clés logiciel Microsoft et restaurer en même temps les valeurs par défaut de tous les autres paramètres de configuration de clé.
Exemple 2 – Stockage de la clé du certificat d’autorisation dans un TPM
Cet exemple illustre le stockage de la clé du certificat d’autorisation FAS dans un TPM (réel ou virtuel), tandis que les clés de certificat utilisateur sont stockées dans le fournisseur de stockage de clés logiciel Microsoft.
Bien que le service FAS puisse générer des certificats utilisateur avec des clés protégées par un TPM, le matériel TPM peut être trop lent ou de taille limitée pour les déploiements à grande échelle.
Exécutez les commandes PowerShell suivantes :
Set-FasKeyConfig -Address localhost -CertificateType ra -UseDefaultTpmProvider
Set-FasKeyConfig -Address localhost -CertificateType user -UseDefaultSoftwareProvider
<!--NeedCopy-->
Exemple 3 – Stockage de toutes les clés dans un HSM
Cet exemple illustre le stockage des clés privées du certificat d’autorisation et du certificat utilisateur dans un module HSM. Cet exemple suppose un HSM configuré. Le HSM devra porter le nom de fournisseur. Par exemple, Fournisseur de stockage de clés HSM.
Exécutez les commandes PowerShell suivantes (remplacez le texte de l’exemple par le nom réel de votre fournisseur HSM) :
Set-FasKeyConfig -Address localhost -CertificateType ra -Provider "HSM Vendor Key Storage Provider"
Set-FasKeyConfig -Address localhost -CertificateType user -Provider "HSM Vendor Key Storage Provider"
<!--NeedCopy-->
Exemple 4 – Utilisation de clés à courbe elliptique
Par défaut, le FAS génère des clés RSA. Dans cet exemple, les clés à courbe elliptique (ECC) sont configurées pour le certificat d’autorisation et les certificats utilisateur.
L’exemple utilise différentes longueurs de clé. Le certificat d’autorisation est configuré avec une clé de 384 bits et les certificats utilisateur avec une clé de 256 bits.
Set-FasKeyConfig -Address localhost -CertificateType ra -EllipticCurve $true -Length 384
Set-FasKeyConfig -Address localhost -CertificateType user -EllipticCurve $true -Length 256
<!--NeedCopy-->
À ce stade, l’autorité de certification peut rejeter les demandes de certificat d’autorisation et de certificat utilisateur parce que la taille de clé minimale dans les modèles de certificat FAS est définie sur 1 024 bits par défaut.
En conséquence, dans cet exemple, il est nécessaire de modifier la taille minimale de la clé dans les modèles comme suit :
-
Citrix_RegistrationAuthority_ManualAuthorization et Citrix_RegistrationAuthority
: remplace la taille minimale de la clé par 384 (ou moins) -
Citrix_SmartcardLogon
: remplace la taille minimale de la clé par 256 (ou moins)
Pour modifier les modèles, exécutez mmc.exe
et ajoutez le composant logiciel enfichable Modèles de certificats. Localisez le modèle et ouvrez ses propriétés. Le paramètre de taille de clé minimale se trouve dans l’onglet Cryptographie des propriétés du modèle.
Remarque:
Les certificats utilisateur avec clés ECC ne sont pris en charge que sur les VDA Windows exécutant Citrix Virtual Apps and Desktops 2411 ou version ultérieure. Les clés ECC ne sont pas prises en charge sur les VDA Linux.
Tester la configuration de clé privée
Bien que la commande Set-FasKeyConfig
effectue une certaine validation, il est toujours possible de définir une configuration de clé non valide. Par exemple, vous pourriez saisir le nom de votre fournisseur HSM de manière erronée, ou la longueur de clé que vous spécifiez peut être incompatible avec votre matériel.
La commande Test-FasKeyConfig
peut faciliter les choses. Elle tente de créer une paire de clés à partir de la configuration de clé actuelle et indique le résultat réussite ou échec. En cas d’échec, la raison est indiquée. En cas de réussite, la paire de clés est immédiatement détruite.
Les commandes PowerShell suivantes testent respectivement la configuration de la clé d’autorisation et de la clé utilisateur :
Test-FasKeyConfig -Address localhost -CertificateType ra
Test-FasKeyConfig -Address localhost -CertificateType user
<!--NeedCopy-->
Une fois que vous avez autorisé le serveur FAS et créé une règle, vous pouvez également créer une CSR de test pour un certificat utilisateur comme suit :
Test-FasCertificateSigningRequest -Address localhost -UserPrincipalName user@example.com -Rule default
Remplacez <utilisateur@exemple.com/> par un véritable UPN de votre déploiement Active Directory. La règle FAS est normalement nommée par défaut. Toutefois, si vous préférez tester une autre règle que vous avez configurée, spécifiez ce nom à la place.
Si la CSR réussit, le FAS rejette le certificat résultant.
Inspection des certificats FAS
Vous pouvez utiliser PowerShell pour inspecter les propriétés d’un certificat et déterminer l’emplacement de stockage de la clé privée associée.
Inspection du certificat d’autorisation
Vous pouvez afficher le certificat d’autorisation en cliquant sur le lien certificat d’autorisation dans la console d’administration FAS :
Cependant, pour des informations plus détaillées, utilisez PowerShell :
Get-FasAuthorizationCertificate -Address localhost -FullCertInfo
Plusieurs champs sont renvoyés, tels que PrivateKeyProvider, qui indique le fournisseur sur lequel le certificat a été créé et stocké.
PrivateKeyProvider | Emplacement de stockage de la clé |
---|---|
Fournisseur de stockage des clés de logiciel Microsoft | La clé est stockée sur le disque et protégée par le fournisseur logiciel Microsoft. |
Fournisseur de chiffrement de la plateforme Microsoft | La clé est stockée dans un TPM (réel ou virtuel). |
Fournisseur de stockage de clés HSM (exemple uniquement) | La clé est stockée dans un HSM (dans cet exemple, le fournisseur est nommé Fournisseur de stockage de clés HSM) |
Inspection des certificats utilisateur
Vous pouvez obtenir une liste de tous les certificats utilisateur mis en cache sur le serveur FAS comme suit :
Get-FasUserCertificate -Address localhost -KeyInfo $true
Le paramètre KeyInfo renvoie des informations supplémentaires sur la clé privée associée au certificat dans la sortie. En particulier, le champ PrivateKeyProvider indique où est stockée la paire de clés associée au certificat (reportez-vous à la section précédente pour interpréter cette valeur).
Vous pouvez filtrer l’ensemble des certificats renvoyés à l’aide de divers paramètres facultatifs, tels que -UserPrincipalName
.
Le champ de certificat dans la sortie de la commande contient un certificat utilisateur codé PEM. Copiez le texte dans un fichier .crt
pour afficher le certificat dans l’interface graphique Windows comme suit :
Commande | Description |
---|---|
$CertInfos = Get-FasUserCertificate -Address localhost |
Cette liste peut comporter plusieurs certificats utilisateur. |
$CertInfo = $CertInfos[0] |
Dans cet exemple, nous sélectionnons le tout premier certificat utilisateur. |
$CertInfo.Certificate > c:\temp\user.crt |
Transférez les données PEM vers un fichier .crt . |
c:\temp\user.crt |
Ouvrez le fichier .crt dans l’ interface graphique Windows. |
Mise à niveau à partir de versions du service FAS antérieures à Citrix Virtual Apps and Desktops 2411
Dans les versions du service FAS antérieures à Citrix Virtual Apps and Desktops 2411, les propriétés de clé privée étaient configurées en modifiant le fichier XML dans le dossier
%programfiles%\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe.config
<!--NeedCopy-->
Ce procédé a été remplacé par les commandes PowerShell décrites dans ce document. Elles offrent plus de flexibilité et les propriétés peuvent être appliquées sans redémarrer le serveur FAS.
De plus, contrairement aux paramètres du fichier XML, la configuration effectuée via PowerShell est conservée lorsque le serveur FAS est mis à niveau.
Les paramètres de configuration de la clé privée dans le fichier XML sont répertoriés ci-dessous, avec les paramètres PowerShell correspondants (utilisés dans Get-FasKeyConfig
et Set-FasKeyConfig
) :
Paramètres du fichier XML | Valeur par défaut dans le fichier XML | Équivalent Powershell | Commentaire |
---|---|---|---|
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyLength |
2048 | -Length | - |
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyProtection
|
GenerateNonExportableKey
|
-Exportable
-UseDefaultTpmProvider |
|
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderLegacyCsp
|
false
|
-Ksp
|
- ProviderLegacyCsp false est obtenu en définissant -Ksp sur $true -ProviderLegacyCsp true est obtenu en définissant -Ksp sur $false
|
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderName |
- | -Provider | - |
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderType |
- | -CspType | - |
Les valeurs par défaut de la configuration XML et celles de PowerShell sont pratiquement équivalentes. Autrement dit, par défaut, les propriétés des paires de clés générées par le service FAS dans cette version et dans les versions antérieures à Citrix Virtual Apps and Desktops 2411 sont les mêmes.
Pour cette raison, si vous n’avez modifié aucun des paramètres précédents dans le fichier de configuration XML, vous n’avez aucune action à effectuer lors de la mise à niveau du service FAS.
En revanche, si vous avez modifié l’un des paramètres précédents, mettez à niveau le service FAS comme suit :
- Placez le FAS en mode de maintenance : Mode maintenance.
- Mettez à niveau le FAS en place simplement en exécutant le programme d’installation FAS. Une fois la mise à niveau effectuée, les paramètres précédents ne figureront plus dans le fichier XML et ne pourront donc plus être configurés dans ce fichier.
- Exécutez la commande PowerShell
Set-FasKeyConfig
, comme décrit dans Commandes PowerShell de configuration de clé, pour définir la configuration de la clé privée FAS comme vous le souhaitez. Réfléchissez aux paramètres dont vous avez besoin pour les certificats d’autorisation et les certificats utilisateur. - Testez votre configuration, comme décrit dans la section Tester la configuration de la clé privée.
- Désactivez le mode de maintenance du serveur FAS.
Lors de la prochaine mise à niveau, les paramètres de configuration de la clé privée FAS seront conservés et aucune intervention particulière ne sera nécessaire.
Cryptographie à distance
Les clés privées associées aux certificats utilisateur FAS ne sont jamais transférées au VDA. Au lieu de cela, lorsque le VDA doit utiliser le certificat FAS d’un utilisateur, soit pour se connecter au VDA, soit pour une utilisation en session, la demande cryptographique est renvoyée à distance au serveur FAS. Ce procédé améliore la sécurité parce que les clés privées ne quittent jamais le stockage de clés FAS (qu’il s’agisse d’un stockage logiciel, d’un TPM ou d’un HSM).
Sur les VDA Windows, cette opération s’exécute à l’aide d’une paire de fournisseurs sur le VDA. L’application ou le code du système d’exploitation qui effectue la demande cryptographique ne sait pas que l’opération est renvoyée à distance au serveur FAS.
Dans les versions antérieures à Citrix Virtual Apps and Desktops 2411, les fournisseurs étaient des fournisseurs de services de cryptographie (CSP). L’accès aux applications et au code du système d’exploitation s’effectuait via l’ancienne API CAPI de Windows. Les fournisseurs étaient :
-
CitrixLogonCsp.dll
: pour l’authentification unique sur le VDA -
CitrixVirtualSmartcardCsp.dll
: pour les certificats en session
À partir de la version 2411 de Citrix Virtual Apps and Desktops, des fournisseurs de stockage de clés (KSP) supplémentaires sont fournis sur le VDA. Les applications et le code du système d’exploitation y accèdent avec l’API Windows CNG plus récente. Les nouveaux fournisseurs sont :
-
CitrixLogonKsp.dll
: pour l’authentification unique sur le VDA -
CitrixVirtualSmartcardKsp.dll
: pour les certificats en session
Les KSP offrent une méthode plus moderne pour exposer les opérations cryptographiques aux applications Windows et davantage de fonctionnalités. Par exemple :
- Prise en charge des certificats de clés ECC
- Prise en charge du remplissage du schéma de signature probabiliste (PSS)
La communication à distance avec les KSP est utilisée (c’est-à-dire via les nouveaux KSP) si le FAS et le VDA exécutent Citrix Virtual Apps and Desktops 2411 ou une version ultérieure. Dans le cas contraire, le système revient à l’utilisation des anciens CSP pour la communication à distance.
Désactivation de la communication à distance avec les KSP
En cas de problèmes de compatibilité, il est possible de désactiver la communication à distance avec les KSP afin de pouvoir toujours utiliser la communication à distance avec les anciens CSP.
Utilisez le PowerShell suivant :
Set-FasServer -Address localhost -KspRemoting $false
Mode de maintenance
Lorsque vous apportez des modifications à la configuration d’un serveur FAS actif, pensez à le placer en mode de maintenance.
Lorsque le FAS est en mode de maintenance, les comportements suivants se produisent :
- Lorsque Workspace ou StoreFront appelle le FAS dans le cadre de la séquence de lancement de l’application ou du bureau publié, le FAS indique qu’il est en mode de maintenance. L’appelant doit réagir en choisissant un autre serveur FAS.
- Par mesure de précaution supplémentaire, le FAS ne permet pas la création automatique de certificats utilisateur lorsque le mode de maintenance est activé. Cela évite ainsi la création accidentelle de certificats utilisateur avec des paramètres non intentionnels.
- Toutefois, les activités impliquant des certificats utilisateur existants, telles que la connexion au VDA ou l’utilisation en session, demeurent autorisées.
Bien que la création automatique de certificats utilisateur ne soit pas autorisée, les administrateurs peuvent toujours les créer à l’aide de commandes PowerShell telles que New-FasUserCertificate
ou Test-FasCertificateSigningRequest
.
Utilisation de la console d’administration
Utilisation de PowerShell
Placez un serveur FAS en mode de maintenance comme suit :
Set-FasServer -Address localhost -MaintenanceMode $true
Désactivez le mode de maintenance d’un serveur FAS (et rétablissez son fonctionnement normal) comme suit :
Set-FasServer -Address localhost -MaintenanceMode $false
Informations connexes
- L’article Installer et configurer est le document de référence principal pour obtenir des informations sur l’installation et la configuration de FAS.
- Les déploiements FAS courants sont résumés dans l’article Présentation des architectures de services d’authentification fédérés.
- D’autres informations pratiques sont disponibles dans l’article Configuration avancée.
Dans cet article
- Introduction
- Informations sur les certificats et modèles FAS
- Options de stockage de clés privées
- Exemples de scénario de configuration
- Tester la configuration de clé privée
- Inspection des certificats FAS
- Mise à niveau à partir de versions du service FAS antérieures à Citrix Virtual Apps and Desktops 2411
- Cryptographie à distance
- Mode de maintenance