Configuration de l’authentification unique
La configuration de l’authentification unique (SSO) Citrix ADC pour l’authentification par usurpation d’identité est plus simple que la configuration de SSO pour l’authentification par délégation, et est donc préférable lorsque votre configuration le permet. Vous créez un compte KCD. Vous pouvez utiliser le mot de passe de l’utilisateur.
Si vous ne disposez pas du mot de passe de l’utilisateur, vous pouvez configurer Citrix ADC SSO pour l’authentification par délégation. Bien que plus complexe que la configuration de l’authentification unique pour s’authentifier par emprunt d’identité, la méthode de délégation offre une flexibilité dans la mesure où les informations d’identification d’un utilisateur peuvent ne pas être disponibles pour l’appliance Citrix ADC en toutes circonstances.
Pour l’emprunt d’identité ou la délégation, vous devez également activer l’authentification intégrée sur le serveur d’applications Web.
Activer l’authentification intégrée sur le serveur d’applications Web
Pour configurer l’authentification unique Kerberos Citrix ADC sur chaque serveur d’applications Web géré par l’authentification unique Kerberos, utilisez l’interface de configuration sur ce serveur pour configurer le serveur afin qu’il exige l’authentification. Sélectionnez l’authentification Kerberos (négocier) par préférence, avec recours à NTLM pour les clients qui ne prennent pas en charge Kerberos.
Les instructions suivantes permettent de configurer Microsoft Internet Information Server (IIS) pour exiger l’authentification. Si votre serveur d’applications Web utilise un logiciel autre que IIS, consultez la documentation de ce logiciel de serveur Web pour obtenir des instructions.
Pour configurer Microsoft IIS afin d’utiliser l’authentification intégrée
- Ouvrez une session sur le serveur IIS et ouvrez le Gestionnaire des services Internet.
- Sélectionnez le site Web pour lequel vous souhaitez activer l’authentification intégrée. Pour activer l’authentification intégrée pour tous les serveurs Web IIS gérés par IISM, configurez les paramètres d’authentification pour le site Web par défaut. Pour activer l’authentification intégrée pour des services individuels (tels que Exchange, Exadmin, ExchWeb et Public), configurez ces paramètres d’authentification pour chaque service individuellement.
- Ouvrez la boîte de dialogue Propriétés du site Web par défaut ou du service individuel, puis cliquez sur l’onglet Sécurité du répertoire .
- À côté de Authentification et contrôle d’accès, sélectionnez Modifier.
- Désactivez l’accès anonyme.
- Activez l’authentification Windows intégrée (uniquement). L’activation de l’authentification Windows intégrée doit automatiquement définir la négociation de protocole pour le serveur Web sur Négocier, NTLM, qui spécifie l’authentification Kerberos avec retour à NTLM pour les périphériques non compatibles Kerberos. Si cette option n’est pas sélectionnée automatiquement, définissez manuellement la négociation de protocole sur Négocier, NTLM.
Configurer l’authentification unique par emprunt d’identité
Vous pouvez configurer le compte KCD pour Citrix ADC SSO par emprunt d’identité. Dans cette configuration, l’appliance Citrix ADC obtient le nom d’utilisateur et le mot de passe de l’utilisateur lorsque l’utilisateur s’authentifie auprès du serveur d’authentification et utilise ces informations d’identification pour emprunter l’identité de l’utilisateur afin d’obtenir un ticket d’octroi de ticket (TGT). Si le nom de l’utilisateur est au format UPN, l’appliance obtient le domaine de l’utilisateur auprès de l’UPN. Sinon, il obtient le nom et le domaine de l’utilisateur en les extrayant du domaine SSO utilisé lors de l’authentification initiale ou du profil de session.
Remarque
Vous ne pouvez pas ajouter un nom d’utilisateur avec un domaine si le nom d’utilisateur est déjà ajouté sans domaine. Si le nom d’utilisateur avec domaine est ajouté d’abord suivi du même nom d’utilisateur sans domaine, l’appliance Citrix ADC ajoute le nom d’utilisateur à la liste des utilisateurs.
Lors de la configuration du compte KCD, vous devez définir le paramètre de domaine sur le domaine du service auquel l’utilisateur accède. Le même domaine est également utilisé comme domaine de l’utilisateur si le domaine de l’utilisateur ne peut pas être obtenu à partir de l’authentification auprès de l’appliance Citrix ADC ou du profil de session.
Pour créer le compte KCD pour l’authentification unique par emprunt d’identité à l’aide d’un mot de passe
À l’invite de commandes, tapez la commande suivante :
add aaa kcdaccount <accountname> -realmStr <realm>
<!--NeedCopy-->
Pour les variables, remplacez les valeurs suivantes :
- accountname. Le nom du compte KCD.
- realm. Domaine attribué à l’authentification unique Citrix ADC.
Exemple
Pour ajouter un compte KCD nommé kcdccount1 et utiliser le keytab nommé kcdvserver.keytab, tapez la commande suivante :
add aaa kcdAccount kcdaccount1 -keytab kcdvserver.keytab
<!--NeedCopy-->
Pour plus d’informations sur la configuration de l’usurpation d’identité Kerberos via l’interface graphique Citrix ADC, consultez le support Citrix.
Configurer l’authentification SSO par délégation
Pour configurer l’authentification unique par délégation, vous devez effectuer les tâches suivantes :
- Si vous configurez la délégation par certificat d’utilisateur délégué, installez les certificats d’autorité de certification correspondants sur l’appliance Citrix ADC et ajoutez-les à la configuration Citrix ADC.
- Créez le compte KCD sur l’appliance. L’appliance utilise ce compte pour obtenir des tickets de service pour vos applications protégées.
- Configurez le serveur Active Directory.
Remarque
Pour plus d’informations sur la création d’un compte KCD et la configuration sur le boîtier NetScaler, reportez-vous aux rubriques suivantes :
Installation du certificat d’autorité de certification client sur l’appliance Citrix ADC
Si vous configurez l’authentification unique Citrix ADC avec un certificat client, vous devez copier le certificat d’autorité de certification correspondant pour le domaine de certificat client (le certificat d’autorité de certification client) sur l’appliance Citrix ADC, puis installer le certificat d’autorité de certification. Pour copier le certificat d’autorité de certification client, utilisez le programme de transfert de fichiers de votre choix pour transférer le certificat et le fichier de clé privée vers l’appliance Citrix ADC, puis stockez les fichiers dans /nsconfig/ssl.
Pour installer le certificat d’autorité de certification client sur l’appliance Citrix ADC
À l’invite de commandes, tapez la commande suivante :
add ssl certKey <certkeyName> -cert <cert> [(-key <key> [-password]) | -fipsKey <fipsKey>][-inform ( DER | PEM )][-expiryMonitor ( ENABLED | DISABLED | UNSET ) [-notificationPeriod <positive_integer>]] [-bundle ( YES | NO )]
<!--NeedCopy-->
Pour les variables, remplacez les valeurs suivantes :
- CertKeyName. Nom du certificat d’autorité de certification client. Doit commencer par un caractère alphanumérique ASCII ou un trait de soulignement (_) et doit comprendre de un à trente et un caractères. Les caractères autorisés sont les caractères alphanumériques ASCII, le trait de soulignement, le dièse (#), le point (.), l’espace, les deux points (:), l’arobase (@), le signe égal (=) et le trait d’union (-). Ne peut pas être modifié après la création de la paire de clés de certificat. Si le nom comprend un ou plusieurs espaces, mettez-le entre guillemets doubles ou simples (par exemple, « mon certificat » ou « mon certificat »).
- cert. Chemin d’accès complet et nom de fichier du fichier de certificat X509 utilisé pour former la paire de clés de certificat. Le fichier de certificat doit être stocké sur l’appliance Citrix ADC, dans le répertoire /nsconfig/ssl/.
- key. Chemin d’accès complet et nom de fichier du fichier contenant la clé privée du fichier de certificat X509. Le fichier clé doit être stocké sur l’appliance Citrix ADC dans le répertoire /nsconfig/ssl/.
- password. Si une clé privée est spécifiée, la phrase secrète utilisée pour chiffrer la clé privée. Utilisez cette option pour charger des clés privées chiffrées au format PEM.
-
fipsKey. Nom de la clé FIPS créée dans le module de sécurité matérielle (HSM) d’un dispositif FIPS ou d’une clé importée dans le HSM.
Remarque
Vous pouvez spécifier une clé ou une clé FipsKey, mais pas les deux.
- inform. Format du certificat et des fichiers de clé privée, PEM ou DER.
- passplain. Phrase secrète utilisée pour chiffrer la clé privée. Obligatoire lors de l’ajout d’une clé privée chiffrée au format PEM.
- expiryMonitor. Configurez l’appliance Citrix ADC pour émettre une alerte lorsque le certificat est sur le point d’expirer. Valeurs possibles : ENABLED, DISABLED, UNSET.
-
notificationPeriod. Si cette option
expiryMonitor
est ACTIVÉE, le nombre de jours avant l’expiration du certificat pour émettre une alerte. - bundle. Analysez la chaîne de certificats en tant que fichier unique après avoir lié le certificat du serveur au certificat de son émetteur dans le fichier. Valeurs possibles : OUI, NON.
Exemple
L’exemple suivant ajoute le certificat utilisateur délégué customer-cert.pem spécifié à la configuration Citrix ADC avec la clé customer-key.pem, et définit le mot de passe, le format du certificat, le moniteur d’expiration et la période de notification.
Pour ajouter le certificat d’utilisateur délégué, vous devez taper les commandes suivantes :
add ssl certKey customer -cert "/nsconfig/ssl/customer-cert.pem"
-key "/nsconfig/ssl/customer-key.pem" -password "dontUseDefaultPWs!"
-inform PEM -expiryMonitor ENABLED [-notificationPeriod 14]
<!--NeedCopy-->
Création du compte KCD
Si vous configurez Citrix ADC SSO par délégation, vous pouvez configurer le compte KCD pour utiliser le nom de connexion et le mot de passe de l’utilisateur, pour utiliser le nom de connexion et l’onglet de clé de l’utilisateur, ou pour utiliser le certificat client de l’utilisateur. Si vous configurez l’authentification unique avec un nom d’utilisateur et un mot de passe, l’appliance Citrix ADC utilise le compte d’utilisateur délégué pour obtenir un ticket d’octroi de ticket (TGT), puis utilise le TGT pour obtenir des tickets de service pour les services spécifiques demandés par chaque utilisateur. Si vous configurez l’authentification unique avec un fichier keytab, l’appliance Citrix ADC utilise le compte d’utilisateur délégué et les informations de keytab. Si vous configurez l’authentification unique avec un certificat utilisateur délégué, l’appliance Citrix ADC utilise le certificat utilisateur délégué.
Remarque :
Pour les domaines interdomaines, le ServicePrincipalName de l’utilisateur délégué doit être au format
host/<name>
. S’il n’est pas dans ce format, remplacez le ServicePrincipalName de l’utilisateur<servicePrincipalName>
délégué parhost/<service-account-samaccountname>
. Vous pouvez vérifier l’attribut du compte d’utilisateur délégué dans le contrôleur de domaine. Une méthode de modification consiste à modifier l’attributlogonName
de l’utilisateur délégué.
Pour créer le compte KCD pour l’authentification unique par délégation avec un mot de passe
À l’invite de commandes, tapez les commandes suivantes :
add aaa kcdAccount <kcdAccount> {-realmStr <string>} {-delegatedUser <string>} {-kcdPassword } [-userRealm <string>]
[-enterpriseRealm <string>] [-serviceSPN <string>]
<!--NeedCopy-->
Pour les variables, remplacez les valeurs suivantes :
- kcdAccount - Nom du compte KCD. Il s’agit d’un argument obligatoire. Longueur maximale : 31
- realmStr - Le royaume de Kerberos. Longueur maximale : 255
-
DelegatedUser : nom d’utilisateur qui peut effectuer une délégation limitée Kerberos. Le nom d’utilisateur délégué est dérivé du ServicePrincipalName de votre contrôleur de domaine. Pour le cross-realm, le ServicePrincipalName de l’utilisateur délégué doit être au format
host/<name>
. Longueur maximale : 255. - kcdPassword - Mot de passe pour l’utilisateur délégué. Longueur maximale : 31
- userRealm - Domaine de l’utilisateur. Longueur maximale : 255
- enterpriseRealm : domaine d’entreprise de l’utilisateur. Cela n’est donné que dans certains déploiements KDC où le KDC attend un nom d’utilisateur d’entreprise au lieu du nom principal. Longueur maximale : 255
- serviceSPN - Service SPN. Lorsqu’elle est spécifiée, elle est utilisée pour récupérer les tickets Kerberos. S’il n’est pas spécifié, Citrix ADC construit le SPN à l’aide du nom de domaine complet du service. Longueur maximale : 255
Exemple (format UPN) :
Pour ajouter un compte KCD nommé kcdaccount1 à la configuration de l’appliance Citrix ADC avec un mot de passe password1 et un domaine de EXAMPLE.COM, en spécifiant le compte d’utilisateur délégué au format UPN (en tant que root), vous devez taper les commandes suivantes :
add aaa kcdaccount kcdaccount1 –delegatedUser root
-kcdPassword password1 -realmStr EXAMPLE.COM
<!--NeedCopy-->
Exemple (format SPN) :
Pour ajouter un compte KCD nommé kcdaccount1 à la configuration de l’appliance Citrix ADC avec un mot de passe password1 et un domaine EXAMPLE.COM, en spécifiant le compte d’utilisateur délégué au format SPN, vous devez taper les commandes suivantes :
add aaa kcdAccount kcdaccount1 -realmStr EXAMPLE.COM
-delegatedUser "host/kcdvserver.example.com" -kcdPassword password1
<!--NeedCopy-->
Création du compte KCD pour l’authentification unique par délégation avec un keytab
Si vous prévoyez d’utiliser un fichier keytab pour l’authentification, créez d’abord le keytab. Vous pouvez créer le fichier keytab manuellement en vous connectant au serveur AD et en utilisant l’utilitaire ktpass
, ou vous pouvez utiliser l’utilitaire de configuration Citrix ADC pour créer un script de commandes, puis exécuter ce script sur le serveur AD pour générer le fichier keytab. Ensuite, utilisez FTP ou un autre programme de transfert de fichiers pour transférer le fichier keytab vers l’appliance Citrix ADC et placez-le dans le répertoire /nsconfig/krb. Enfin, configurez le compte KCD pour Citrix ADC SSO par délégation et fournissez le chemin d’accès et le nom de fichier du fichier keytab à l’appliance Citrix ADC.
Remarque :
Pour les domaines interdomaines, si vous souhaitez obtenir le fichier Keytab dans le compte KCD, utilisez la commande suivante pour le nom d’utilisateur délégué mis à jour.
Dans le contrôleur de domaine, créez un fichier Keytab mis à jour.
ktpass /princ <servicePrincipalName-with-prefix<host/>Of-delegateUser>@<DC REALM in uppercase> /ptype KRB5_NT_PRINCIPAL /mapuser <DC REALM in uppercase>\<sAMAccountName> /pass <delegatedUserPassword> -out filepathfor.keytab
Le fichier
filepathfor.keytab
peut être placé dans l’appliance Citrix ADC et peut être utilisé dans le cadre de la configuration Keytab dans le compte ADC KCD.
Pour créer le fichier keytab manuellement
Ouvrez une session sur la ligne de commande du serveur AD et, à l’invite de commandes, tapez la commande suivante :
ktpass princ <SPN> ptype KRB5_NT_PRINCIPAL mapuser <DOMAIN><username> pass <password> -out <File_Path>
<!--NeedCopy-->
Pour les variables, remplacez les valeurs suivantes :
- SPN. Nom du principal de service pour le compte de service KCD.
- DOMAIN. Le domaine du serveur Active Directory.
- username. Le nom d’utilisateur du compte KSA.
- password. Le mot de passe du compte KSA.
- path. Le chemin d’accès complet du répertoire dans lequel stocker le fichier keytab après sa génération.
Pour utiliser l’utilitaire de configuration Citrix ADC afin de créer un script afin de générer le fichier keytab
- Accédez à Sécurité > AAA - Trafic des applications.
- Dans le volet de données, sous Délégation contrainte Kerberos, cliquez sur Fichier batch pour générer Keytab.
- Dans la boîte de dialogue Générer un script Keytab KCD (délégation contrainte Kerberos), définissez les paramètres suivants :
- Nom d’utilisateur du domaine. Le nom d’utilisateur du compte KSA.
- Mot de passe du domaine Le mot de passe du compte KSA.
- Directeur de service. Le nom principal de service pour le Royaume d’Arabie Saoudite.
- Nom du fichier de sortie. Chemin d’accès complet et nom de fichier vers lesquels enregistrer le fichier keytab sur le serveur AD.
- Désactivez la case à cocher Créer un compte d’utilisateur de domaine .
- Cliquez sur Générer un script.
- Ouvrez une session sur le serveur Active Directory et ouvrez une fenêtre de ligne de commande.
- Copiez le script à partir de la fenêtre Script généré et collez-le directement dans la fenêtre de ligne de commande du serveur Active Directory. Le keytab est généré et stocké dans le répertoire sous le nom de fichier que vous avez spécifié comme Nom du fichier de sortie.
- Utilisez l’utilitaire de transfert de fichiers de votre choix pour copier le fichier keytab du serveur Active Directory vers l’appliance Citrix ADC et le placer dans le répertoire /nsconfig/krb.
Pour créer le compte KCD
À l’invite de commandes, tapez la commande suivante :
add aaa kcdaccount <accountname> –keytab <keytab>
<!--NeedCopy-->
Exemple
Pour ajouter un compte KCD nommé kcdccount1 et utiliser le keytab nommé kcdvserver.keytab, vous devez taper les commandes suivantes :
add aaa kcdaccount kcdaccount1 –keytab kcdvserver.keytab
<!--NeedCopy-->
Pour créer le compte KCD pour l’authentification unique par délégation avec un certificat utilisateur délégué
À l’invite de commandes, tapez la commande suivante :
add aaa kcdaccount <accountname> -realmStr <realm> -delegatedUser <user_nameSPN> -usercert <cert> -cacert <cacert>
<!--NeedCopy-->
Pour les variables, remplacez les valeurs suivantes :
- accountname. Nom du compte KCD.
- realmStr. Domaine du compte KCD, généralement le domaine pour lequel l’authentification unique est configurée.
- delegatedUser. Le nom d’utilisateur délégué, au format SPN.
- usercert. Chemin d’accès complet et nom du fichier de certificat utilisateur délégué sur l’appliance Citrix ADC. Le certificat utilisateur délégué doit contenir à la fois le certificat client et la clé privée, et doit être au format PEM. Si vous utilisez l’authentification par carte à puce, vous devez créer un modèle de certificat de carte à puce pour permettre l’importation de certificats avec la clé privée.
- cacert. Chemin d’accès complet et nom du fichier de certificat d’autorité de certification sur l’appliance Citrix ADC.
Exemple
Pour ajouter un compte KCD nommé kcdccount1 et utiliser le keytab nommé kcdvserver.keytab, tapez la commande suivante :
add aaa kcdaccount kcdaccount1 -realmStr EXAMPLE.COM
-delegatedUser "host/kcdvserver.example.com" -usercert /certs/usercert
-cacert /cacerts/cacert
<!--NeedCopy-->
Configuration d’Active Directory pour Citrix ADC SSO
Lorsque vous configurez l’authentification unique par délégation, en plus de créer le compte KCD sur l’appliance Citrix ADC, vous devez également créer un compte de service Kerberos (KSA) correspondant sur votre serveur Active Directory LDAP et configurer le serveur pour l’authentification unique. Pour créer la KSA, utilisez le processus de création de compte sur le serveur Active Directory. Pour configurer l’authentification unique sur le serveur Active Directory, ouvrez la fenêtre des propriétés du KSA. Dans l’onglet Délégation, activez les options suivantes : Faire confiance à cet utilisateur pour la délégation à des services spécifiés uniquement et Utiliser un protocole d’authentification quelconque. (L’option Kerberos only ne fonctionne pas, car elle n’active pas la transition de protocole ou la délégation contrainte.) Enfin, ajoutez les services gérés par Citrix ADC SSO.
Remarque :
Si l’onglet Délégation n’est pas visible dans la boîte de dialogue des propriétés du compte KSA, avant de pouvoir configurer le KSA comme décrit, vous devez utiliser l’outil de ligne de commande Microsoft setspn pour configurer le serveur Active Directory afin que l’onglet soit visible.
Pour configurer la délégation pour le compte de service Kerberos
- Dans la boîte de dialogue de configuration du compte LDAP pour le compte de service Kerberos que vous avez créé, cliquez sur l’onglet Délégation .
- Choisissez Faire confiance à cet utilisateur pour la délégation aux services spécifiés uniquement.
- Sous Faire confiance à cet utilisateur pour la délégation aux services spécifiés uniquement, choisissez Utiliser un protocole d’authentification quelconque.
- Sous Services auxquels ce compte peut présenter des informations d’identification déléguées, cliquez sur Ajouter.
- Dans la boîte de dialogue Ajouter des services, cliquez sur Utilisateurs ou Ordinateurs, choisissez le serveur qui héberge les ressources à affecter au compte de service, puis cliquez sur OK.
Remarque :
- La délégation contrainte ne prend pas en charge les services hébergés dans des domaines autres que le domaine attribué au compte, même si Kerberos peut avoir une relation d’approbation avec d’autres domaines.
- Utilisez la commande suivante pour créer
setspn
si un nouvel utilisateur est créé dans Active Directory :setspn -A host/kcdvserver.example.com example\kcdtest
- De retour dans la boîte de dialogue Ajouter des services, dans la liste Services disponibles, choisit les services affectés au compte de service. Citrix ADC SSO prend en charge les services HTTP et MSSQLSVC.
- Cliquez sur OK.
Changements de configuration pour permettre à KCD de prendre en charge les domaines enfants
Si le compte KCD est configuré avec samAccountName
pour -delegatedUser
, KCD ne fonctionne pas pour les utilisateurs qui accèdent aux services à partir de domaines enfants. Dans ce cas, vous pouvez modifier la configuration de l’appliance Citrix ADC et d’Active Directory.
-
Modifier le nom d’ouverture de session du compte de service
<service-account-samaccountname>
(qui est configuré en tant que DelegateUser sur le compte KCD) sur AD au formathost/<service-account-samaccountname>.<completeUSERDNSDOMAIN>
(par exemple,host/svc_act.child.parent.com
).Vous pouvez modifier le compte de service manuellement ou à l’aide de la commande
ktpass
.ktpass
met automatiquement à jour le compte de service.ktpass /princ host/svc_act.child.parent.com@CHILD.PARENT.COM /ptype KRB5_NT_PRINCIPAL /mapuser CHILD\sv_act /pass serviceaccountpassword -out filepathfor.keytab
- Modifiez delegatedUser dans le compte KCD sur l’appliance Citrix ADC.
- Modifiez le paramètre -delegatedUser dans le compte KCD en tant que
host/svc_act.child.parent.com
Points à noter lorsque des cryptages avancés sont utilisés pour configurer le compte KCD
- Exemple de configuration lorsque keytab est utilisé :
add kcdaccount lbvs_keytab_aes256 -keytab "/nsconfig/krb/kcd2_aes256.keytab"
- Utilisez la commande suivante lorsque keytab possède plusieurs types de cryptage. La commande capture également les paramètres utilisateur du domaine :
add kcdaccount lbvs_keytab_aes256 -keytab "/nsconfig/krb/kcd2_aes256.keytab" –domainUser "HTTP/lbvs.aaa.local”
- Utilisez les commandes suivantes lorsque les informations d’identification de l’utilisateur sont utilisées :
add kcdaccount kslb2_user -realmStr AAA.LOCAL -delegatedUser lbvs -kcdPassword <password>
- Assurez-vous que les informations DomainUser correctes sont fournies. Vous pouvez rechercher le nom d’ouverture de session de l’utilisateur dans AD.
Dans cet article
- Activer l’authentification intégrée sur le serveur d’applications Web
- Configurer l’authentification unique par emprunt d’identité
- Configurer l’authentification SSO par délégation
- Changements de configuration pour permettre à KCD de prendre en charge les domaines enfants
- Points à noter lorsque des cryptages avancés sont utilisés pour configurer le compte KCD