Citrix ADC

Configuration de SSO

La configuration de l’authentification SSO Citrix ADC pour s’authentifier par emprunt d’identité est plus simple que la configuration de l’authentification SSO pour s’authentifier 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 l’authentification unique Citrix ADC pour qu’elle s’authentifie par délégation. Bien que plus complexe que la configuration de l’authentification SSO 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 Citrix ADC Kerberos sur chaque serveur d’applications Web géré par Kerberos SSO, utilisez l’interface de configuration sur ce serveur pour configurer le serveur pour qu’il requiert une authentification. Sélectionnez l’authentification Kerberos (négocier) par préférence, avec une solution de secours NTLM pour les clients qui ne prennent pas en charge Kerberos.

Voici les instructions pour 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 pour utiliser l’authentification intégrée

  1. Connectez-vous au serveur IIS et ouvrez Internet Information Services Manager.
  2. 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.
  3. 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é d’annuaire.
  4. En regard de l’authentification et du contrôle d’accès, sélectionnez Modifier.
  5. Désactivez l’accès anonyme.
  6. Activer 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 repli vers NTLM pour les périphériques non compatibles Kerberos. Si cette option n’est pas automatiquement sélectionnée, définissez manuellement la négociation de protocole sur Négocier, NTLM.

Configurer l’identité SSO 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 tickets (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 l’extrayant à partir 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 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 realm sur le domaine du service auquel l’utilisateur accède. Le même domaine est également utilisé comme domaine de domaine de l’utilisateur si celui-ci ne peut pas être obtenu à partir de l’authentification avec l’appliance Citrix ADC ou du profil de session.

Pour créer le compte KCD pour SSO par emprunt d’identité avec un mot de passe

À l’invite de commandes, tapez la commande suivante :


add aaa kcdaccount <accountname> -realmStr <realm>

Pour les variables, remplacez les valeurs suivantes :

  • accountname. Nom du compte KCD.
  • realm. Domaine attribué à SSO 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

Pour plus d’informations sur la configuration de l’emprunt d’identité Kerberos via l’interface graphique Citrix ADC, reportez-vous à la section support Citrix.

Configurer l’authentification SSO par délégation

Pour configurer SSO par délégation, vous devez effectuer les tâches suivantes :

  • Si vous configurez la délégation par certificat utilisateur délégué, installez les certificats d’autorité de certification correspondants sur l’appliance Citrix ADC et ajoutez-les à la configuration de 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 l’appliance NetScaler, reportez-vous aux rubriques suivantes :

Installation du certificat d’autorité de certification client sur l’appliance Citrix ADC

Si vous configurez l’authentification SSO 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) vers l’appliance Citrix ADC, puis installer le certificat d’autorité de certification. Pour copier le certificat de l’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 et stocker 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 )]

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 être composé de un à trente et un caractères. Les caractères autorisés comprennent les caractères alphanumériques ASCII, soulignement, hachage (#), point (.), espace, deux-points ( :), at (@), égal (=) et tiret (-). Ne peut pas être modifié après la création de la paire de clés de certificat. Si le nom comporte un ou plusieurs espaces, placez le nom entre guillemets doubles ou simples (par exemple, « mon cert » ou « mon cert »).
  • Cert. Nom du chemin d’accès complet et nom 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. Nom du chemin d’accès complet et nom du fichier contenant la clé privée du fichier de certificat X509. Le fichier de 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 Hardware Security Module (HSM) d’une appliance 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. Expression de passage 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 ExpiryMonitor est activé, 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 montre comment ajouter le certificat utilisateur délégué spécifié customer-cert.pem à la configuration de Citrix ADC avec la clé customer-key.pem, puis définir le mot de passe, le format du certificat, le moniteur d’expiration et la période de notification.

Pour ajouter le certificat utilisateur délégué, tapez 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]

Création du compte KCD

Si vous configurez l’authentification unique Citrix ADC par délégation, vous pouvez configurer le compte KCD pour qu’il utilise le nom d’ouverture de session et le mot de passe de l’utilisateur, pour utiliser le nom d’ouverture de session et l’onglet keytab 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 tickets (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 SSO avec le fichier keytab, l’appliance Citrix ADC utilise les informations relatives au compte d’utilisateur délégué et à l’onglet keytab. Si vous configurez l’authentification SSO avec un certificat utilisateur délégué, l’appliance Citrix ADC utilise le certificat utilisateur délégué.

Pour créer le compte KCD pour SSO par délégation avec un mot de passe

À l’invite de commandes, tapez les commandes suivantes :


add aaa kcdaccount <accountname> -delegatedUser root -kcdPassword <password> -realmStr <realm>

Pour les variables, remplacez les valeurs suivantes :

  • accountname. Un nom pour le compte KCD.
  • password. Un mot de passe pour le compte KCD.
  • realm. Domaine du compte KCD, généralement le domaine pour lequel SSO est actif.

Exemple (format UPN)

Pour ajouter un compte KCD nommé kcdaccount1 à la configuration de l’appliance Citrix ADC avec un mot de passe de password1 et un domaine d’EXAMPLE.COM, en spécifiant le compte utilisateur délégué au format UPN (en tant que root), tapez les commandes suivantes :


add aaa kcdaccount kcdaccount1 –delegatedUser root
-kcdPassword password1 -realmStr EXAMPLE.COM

Exemple (format SPN)

Pour ajouter un compte KCD nommé kcdaccount1 à la configuration de l’appliance Citrix ADC avec un mot de passe de password1 et un domaine d’EXAMPLE.COM, en spécifiant le compte d’utilisateur délégué au format SPN, tapez les commandes suivantes :


add aaa kcdAccount kcdaccount1 -realmStr EXAMPLE.COM
-delegatedUser "host/kcdvserver.example.com" -kcdPassword password1

Création du compte KCD pour SSO par délégation avec un keytab

Si vous prévoyez d’utiliser un fichier keytab pour l’authentification, commencez par créer l’onglet keytab. Vous pouvez créer manuellement le fichier keytab 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 batch, 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 le placer dans le répertoire /nsconfig/krb. Enfin, configurez le compte KCD pour Citrix ADC SSO par délégation et indiquez le chemin d’accès et le nom de fichier du fichier keytab à l’appliance Citrix ADC.

Pour créer manuellement le fichier keytab

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>

Pour les variables, remplacez les valeurs suivantes :

  • SPN. Nom principal de service du compte de service KCD.
  • DOMAIN. Domaine du serveur Active Directory.
  • username. Nom d’utilisateur du compte KSA.
  • password. Mot de passe du compte KSA.
  • path. Nom du chemin d’accès complet du répertoire dans lequel stocker le fichier keytab une fois qu’il est généré.
Pour utiliser l’utilitaire de configuration Citrix ADC pour créer un script pour générer le fichier keytab
  1. Accédez à Sécurité > AAA - Trafic des applications.
  2. Dans le volet de données, sous Délégation contrainte Kerberos, cliquez sur Fichier batchpour générer l’onglet Keytab.
  3. Dans la boîte de dialogue Générer KCD (Kerberos Constrained Délégation) Keytab Script, définissez les paramètres suivants :
    • Domain User Name. Nom d’utilisateur du compte KSA.
    • Domain Password. Mot de passe du compte KSA.
    • Service Principal. Nom principal de service pour le KSA.
    • Output File Name. Chemin d’accès complet et nom de fichier vers lesquels enregistrer le fichier keytab sur le serveur AD.
  4. Désactivez la case à cocher Créer un compte d’utilisateur de domaine .
  5. Cliquez sur Générer un script.
  6. Ouvrez une session sur le serveur Active Directory et ouvrez une fenêtre de ligne de commande.
  7. 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. L’onglet keytab est généré et stocké dans le répertoire sous le nom de fichier que vous avez spécifié comme Nom de fichier de sortie.
  8. 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>

Exemple

Pour ajouter un compte KCD nommé kcdccount1 et utiliser le keytab nommé kcdvserver.keytab, tapez les commandes suivantes :


add aaa kcdaccount kcdaccount1 –keytab kcdvserver.keytab

Pour créer le compte KCD pour SSO par délégation avec un certificat d’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>

Pour les variables, remplacez les valeurs suivantes :

  • accountname. Un nom pour le compte KCD.
  • realmStr. Domaine du compte KCD, généralement le domaine pour lequel l’authentification SSO est configurée.
  • delegatedUser. 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 devrez peut-être créer un modèle de certificat de carte à puce pour autoriser 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

Configuration d’Active Directory pour Citrix ADC SSO

Lorsque vous configurez SSO par délégation, en plus de créer le KCDAccount sur l’appliance Citrix ADC, vous devez également créer un compte Kerberos Service (KSA) correspondant sur votre serveur Active Directory LDAP et configurer le serveur pour SSO. Pour créer le 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 de l’authentification de base de données. Dans l’onglet Délégation, activez les options suivantes : Faites confiance à cet utilisateur pour la délégation aux services spécifiés uniquement et Utiliser n’importe quel protocole d’authentification. (L’option Kerberos uniquement ne fonctionne pas, car elle n’active pas la transition de protocole ou la délégation contrainte.) Enfin, ajoutez les services que Citrix ADC SSO gère.

Remarque

Si l’onglet Délégation n’est pas visible dans la boîte de dialogue 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

  1. 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 .
  2. Choisissez « Faire confiance à cet utilisateur pour la délégation aux services spécifiés uniquement ».
  3. Sous « Faire confiance à cet utilisateur pour la délégation aux services spécifiés uniquement », choisissez « Utiliser n’importe quel protocole d’authentification ».
  4. Sous « Services auxquels ce compte peut présenter des informations d’identification déléguées », cliquez sur Ajouter.
  5. 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 le setspn si un nouvel utilisateur est créé dans Active Directory : setspn -A host/kcdvserver.example.com examplekcdtest
  6. Dans la boîte de dialogue Ajouter des services, dans la liste Services disponibles, choisit les services affectés au compte de service. L’authentification SSO Citrix ADC prend en charge les services HTTP et MSSQLSVC.
  7. Cliquez sur OK.