Configuration de l’authentification unique
La configuration de l’authentification unique (SSO) de NetScaler pour l’authentification par usurpation d’identité est plus simple que la configuration de l’authentification unique 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 NetScaler SSO pour qu’il s’authentifie par délégation. Bien que plus complexe que la configuration du SSO pour s’authentifier par usurpation d’identité, la méthode de délégation offre une certaine flexibilité dans la mesure où les informations d’identification d’un utilisateur peuvent ne pas être disponibles pour l’appliance NetScaler 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 NetScaler Kerberos sur chaque serveur d’applications Web géré par Kerberos SSO, utilisez l’interface de configuration de ce serveur pour configurer le serveur de manière à exiger une 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 NetScaler SSO par usurpation d’identité. Dans cette configuration, l’appliance NetScaler obtient le nom d’utilisateur et le mot de passe de l’utilisateur lorsque celui-ci s’authentifie auprès du serveur d’authentification et utilise ces informations d’identification pour se faire passer pour 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 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é en premier, suivi du même nom d’utilisateur sans domaine, l’appliance NetScaler 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 par authentification auprès de l’appliance NetScaler ou à partir 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. Le domaine attribué au NetScaler SSO.
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-->
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 utilisateur délégué, installez les certificats CA correspondants sur l’appliance NetScaler et ajoutez-les à la configuration NetScaler.
- 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 CA client sur l’appliance NetScaler
Si vous configurez le NetScaler SSO avec un certificat client, vous devez copier le certificat CA correspondant pour le domaine du certificat client (le certificat CA client) sur l’appliance NetScaler, puis installer le certificat CA. Pour copier le certificat CA 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 NetScaler, puis stockez les fichiers dans /nsconfig/ssl.
Pour installer le certificat CA client sur l’appliance NetScaler
À 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 NetScaler, 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 NetScaler 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 NetScaler 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 NetScaler 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 NetScaler 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 le keytab de l’utilisateur, ou pour utiliser le certificat client de l’utilisateur. Si vous configurez le SSO avec un nom d’utilisateur et un mot de passe, l’appliance NetScaler utilise le compte 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 le SSO avec le fichier keytab, l’appliance NetScaler utilise le compte utilisateur délégué et les informations keytab. Si vous configurez le SSO avec un certificat utilisateur délégué, l’appliance NetScaler 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. Si ce n’est pas spécifié, NetScaler construit le SPN à l’aide du FQDN du service. Longueur maximale : 255
Exemple (format UPN) :
Pour ajouter un compte KCD nommé kcdaccount1 à la configuration de l’appliance NetScaler avec le mot de passe password1 et le domaine EXAMPLE.COM, en spécifiant le compte 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 NetScaler avec le mot de passe password1 et le domaine EXAMPLE.COM, en spécifiant le compte 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’ ktpass
utilitaire, ou vous pouvez utiliser l’utilitaire de configuration NetScaler 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 NetScaler et le placer dans le répertoire /nsconfig/krb. Enfin, configurez le compte KCD pour NetScaler SSO par délégation et fournissez le chemin et le nom de fichier du fichier keytab à l’appliance NetScaler.
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
filepathfor.keytab
fichier peut être placé dans l’appliance NetScaler et peut être utilisé dans le cadre de la configuration Keytab du 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 NetScaler pour 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 NetScaler 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. Le chemin complet et le nom du fichier de certificat utilisateur délégué sur l’appliance NetScaler. 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. Le chemin complet et le nom du fichier de certificat CA sur l’appliance NetScaler.
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 NetScaler SSO
Lorsque vous configurez le SSO par délégation, en plus de créer le compte KCDAccount sur l’appliance NetScaler, vous devez également créer un compte de service Kerberos (KSA) correspondant sur votre serveur LDAP Active Directory et configurer le serveur pour le SSO. 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 uniquement ne fonctionne pas car elle ne permet pas la transition de protocole ni la délégation sous contrainte.) Enfin, ajoutez les services gérés par NetScaler 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. NetScaler 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 sur l’appliance NetScaler et sur 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 l’utilisateur délégué dans le compte KCD sur l’appliance NetScaler.
- 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