Configuration de l’authentification Kerberos sur l’appliance Citrix ADC
Cette rubrique fournit les étapes détaillées pour configurer l’authentification Kerberos sur l’appliance Citrix ADC à l’aide de l’interface de ligne de commande et de l’interface graphique.
Configuration de l’authentification Kerberos sur la CLI
-
Activez la fonctionnalité d’authentification, d’autorisation et d’audit pour garantir l’authentification du trafic sur l’appliance.
ns-cli-prompt> enable ns feature AAA
-
Ajoutez le fichier keytab à l’appliance Citrix ADC. Un fichier keytab est nécessaire pour déchiffrer le secret reçu du client lors de l’authentification Kerberos. Un seul fichier keytab contient les détails d’authentification pour tous les services liés au serveur virtuel de gestion du trafic sur l’appliance Citrix ADC.
Générez d’abord le fichier keytab sur le serveur Active Directory, puis transférez-le vers l’appliance Citrix ADC.
-
Connectez-vous au serveur Active Directory et ajoutez un utilisateur pour l’authentification Kerberos. Par exemple, pour ajouter un utilisateur nommé « Kerb-SVC-Account » :
net user Kerb-SVC-Account freebsd!@#456 /add
Remarque
Dans la section Propriétés de l’utilisateur, assurez-vous que l’option « Modifier le mot de passe à la prochaine ouverture de session » n’est pas sélectionnée et que l’option « Le mot de passe n’expire pas » est sélectionnée.
-
Mappez le service HTTP à l’utilisateur ci-dessus et exportez le fichier keytab. Par exemple, exécutez la commande suivante sur le serveur Active Directory :
ktpass /out keytabfile /princ HTTP/owa.newacp.com@NEWACP.COM /pass freebsd!@#456 /mapuser newacp\dummy /ptype KRB5_NT_PRINCIPAL
Remarque
Vous pouvez mapper plusieurs services si l’authentification est requise pour plusieurs services. Si vous souhaitez mapper d’autres services, répétez la commande ci-dessus pour chaque service. Vous pouvez donner le même nom ou des noms différents au fichier de sortie.
-
Transférez le fichier keytab vers l’appliance Citrix ADC à l’aide de la commande ftp unix ou de tout autre utilitaire de transfert de fichiers de votre choix. Téléchargez le fichier keytab dans le répertoire /nsconfig/krb/ de l’appliance Citrix ADC.
-
-
L’appliance Citrix ADC doit obtenir l’adresse IP du contrôleur de domaine auprès du nom de domaine complet (FQDN). Par conséquent, Citrix recommande de configurer Citrix ADC avec un serveur DNS.
ns-cli-prompt> add dns nameserver <ip-address>
Remarque
Vous pouvez également ajouter des entrées d’hôte statiques ou utiliser tout autre moyen afin que l’appliance Citrix ADC puisse résoudre le nom de domaine complet du contrôleur de domaine en une adresse IP.
-
Configurez l’action d’authentification, puis associez-la à une stratégie d’authentification.
-
Configurez l’action de négociation.
ns-cli-prompt> add authentication negotiateAction <name> -domain <domain name> -domainUser <domain user name> -domainUserPasswd <domain user password> -defaultAuthenticationGroup <default authentication group> -keytab <string> -NTLMPath <string>
Remarque : Pour la configuration de l’utilisateur du domaine et du nom de domaine, accédez au client et utilisez la commande klist comme illustré dans l’exemple suivant :
Client: username @ AAA.LOCAL
Server: HTTP/onprem_idp.aaa.local @ AAA.LOCAL
add authentication negotiateAction <name> -domain
-domainUser <HTTP/onprem_idp.aaa.local> -
Configurez la stratégie de négociation et associez l’action de négociation à cette stratégie.
ns-cli-prompt> add authentication negotiatePolicy <name> <rule> <reqAction>
-
-
Créez un serveur virtuel d’authentification et associez-le à la stratégie de négociation.
-
Créez un serveur virtuel d’authentification.
ns-cli-prompt> add authentication vserver <name> SSL <ipAuthVserver> 443 -authenticationDomain <domainName>
-
Liez la stratégie de négociation au serveur virtuel d’authentification.
ns-cli-prompt> bind authentication vserver <name> -policy <negotiatePolicyName>
-
-
Associez le serveur virtuel d’authentification au serveur virtuel de gestion du trafic (équilibrage de charge ou commutation de contenu).
ns-cli-prompt> set lb vserver <name> -authn401 ON -authnVsName <string>
Remarque
Des configurations similaires peuvent également être effectuées sur le serveur virtuel de commutation de contenu.
-
Vérifiez les configurations en procédant comme suit :
-
Accédez au serveur virtuel de gestion du trafic à l’aide du nom de domaine complet. Par exemple, Sample
-
Affichez les détails de la session sur l’interface de ligne de commande.
ns-cli-prompt> show aaa session
-
Configuration de l’authentification Kerberos sur l’interface graphique
-
Activez la fonctionnalité d’authentification, d’autorisation et d’audit.
Accédez à Système > Paramètres, cliquez sur Configurer les fonctionnalités de base et activez la fonctionnalité d’authentification, d’autorisation et d’audit.
-
Ajoutez le fichier keytab comme détaillé à l’étape 2 de la procédure CLI mentionnée ci-dessus.
-
Ajoutez un serveur DNS.
Accédez à Gestion du trafic > DNS > Serveurs de nomset spécifiez l’adresse IP du serveur DNS.
-
Configurez l’action et la stratégie Négocier .
Accédez à Sécurité > AAA - Trafic des applications > Stratégies > Authentification > Stratégies avancées > Stratégieet créez une stratégie avec Négocier comme type d’action. Cliquez sur AJOUTER pour créer un nouveau serveur de négociation d’authentification ou sur Modifier pour configurer les détails existants.
-
Liez la stratégie de négociation au serveur virtuel d’authentification.
Accédez à Sécurité > AAA - Trafic des applications > Serveurs virtuelset associez la stratégie de négociation au serveur virtuel d’authentification.
-
Associez le serveur virtuel d’authentification au serveur virtuel de gestion du trafic (équilibrage de charge ou commutation de contenu).
Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuelset spécifiez les paramètres d’authentification appropriés.
Remarque
Des configurations similaires peuvent également être effectuées sur le serveur virtuel de commutation de contenu.
-
Vérifiez les configurations décrites à l’étape 7 de la procédure CLI mentionnée ci-dessus.