Configuration de 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 :

  • Clé-certName. 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/.
  • clé. 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/.
  • mot de passe. 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.
  • ToucheFipsKey. 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.

  • informer. Format du certificat et des fichiers de clé privée, PEM ou DER.
  • mot de passe. 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.
  • Période de notification. Si ExpiryMonitor est activé, nombre de jours avant l’expiration du certificat pour émettre une alerte.
  • groupement. 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 :

  • nom de compte. Un nom pour le compte KCD.
  • mot de passe. Un mot de passe pour le compte KCD.
  • domaine. 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.
  • DOMAINE. Domaine du serveur Active Directory.
  • nom d’utilisateur. Nom d’utilisateur du compte KSA.
  • mot de passe. Mot de passe du compte KSA.
  • chemin. 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 :
    • Nom d’utilisateur du domaine. Nom d’utilisateur du compte KSA.
    • Mot de passe du domaine. Mot de passe du compte KSA.
    • Directeur de service. Nom principal de service pour le KSA.
    • Nom du fichier de sortie. 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 :

  • nom de compte. Un nom pour le compte KCD.
  • RealMSTR. Domaine du compte KCD, généralement le domaine pour lequel l’authentification SSO est configurée.
  • Utilisateur délégué. 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 : Faire 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 only 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érera.

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 Utilisateursou 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, choisissez 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.