Guide de déploiement : Découvrez comment configurer Citrix Gateway pour utiliser nFactor pour s’authentifier auprès d’un serveur RADIUS pour MFA
Vue d’ensemble
Comment configurer Citrix Gateway pour utiliser nFactor pour s’authentifier auprès d’un serveur RADIUS pour l’authentification multifacteur (MFA).
Cet article explique comment configurer Citrix ADC Gateway pour utiliser l’authentification nFactor pour l’authentification multifacteur basée sur LDAP et RADIUS, ainsi que les techniques générales de dépannage.
Dans cet article, nous supposons que votre Citrix ADC dispose d’une implémentation Citrix Gateway et de serveurs RADIUS et LDAP.
Cet article recommande également de se connecter à vos serveurs RADIUS et LDAP via des serveurs virtuels d’équilibrage de charge locaux, et suppose que les équilibreurs de charge ont déjà été créés. Vous pouvez en savoir plus sur la création de serveurs virtuels d’équilibrage de charge ici et sur la configuration de la persistance RADIUS sur un équilibreur de charge ici.
Présentation des communications RADIUS
Le flux de communication RADIUS commence par un paquet de demande d’accès provenant du client, dans ce cas, Citrix ADC. Le serveur RADIUS valide le client et authentifie les informations d’identification reçues dans la demande d’accès. Après validation, le serveur RADIUS répond par un Access-Accept, Reject ou Challenge demandant des informations supplémentaires à l’utilisateur.
Les serveurs RADIUS disposent d’une liste de clients valides et d’un secret partagé pour chacun d’entre eux. Un serveur RADIUS ignore généralement les demandes de clients non valides, mais certaines implémentations renvoient des échecs d’authentification. Le secret partagé crypte le composant mot de passe des informations d’identification. Lorsque le secret partagé est incorrect, le serveur rejette toujours les mots de passe car ils ne sont pas déchiffrés à la valeur correcte.
Par défaut, Citrix ADC envoie des demandes d’authentification RADIUS à partir du NSIP du nœud HA actif et cible un seul serveur RADIUS.
Plutôt que de définir les NSIP des deux ADC dans une paire HA en tant que clients sur vos serveurs RADIUS, Citrix recommande à l’ADC d’envoyer des demandes d’authentification via un serveur virtuel d’équilibrage de charge local. Le serveur virtuel d’équilibrage de charge ajoute également de la résilience à votre configuration.
Lorsque Citrix ADC envoie des demandes RADIUS via un serveur virtuel d’équilibrage de charge local, les demandes quittent l’ADC via un SNIP. Les SNIP sont des adresses IP flottantes et ne sont disponibles que sur le nœud HA principal actuel.
Lors de l’utilisation d’un serveur virtuel d’équilibrage de charge (LB), les NSIP des nœuds HA principal et secondaire adressent une demande à un VIP local. Le VIP LB envoie au serveur RADIUS à l’aide du SNIP de la paire HA.
Outils de dépannage RADIUS
Bien que la plupart des implémentations RADIUS soient effectuées sans, il peut être utile de comprendre les outils de dépannage les plus courants.
Le tube de débogage d’authentification « /tmp/aaad.debug » sur Citrix ADC
Vous pouvez afficher les événements d’authentification sur Citrix ADC en entrant le shell BSH avec « shell », puis en affichant le tube aaad.debug avec « cat /tmp/aaad.debug ».
Vous trouverez plus d’informations sur « aaad.debug » ici : https://support.citrix.com/article/CTX114999
NTRadPing
NTradping est un outil de test RADIUS tiers que vous pouvez utiliser pour générer des demandes d’authentification RADIUS et surveiller la réponse. Vous pouvez télécharger NTradping ici :
Grâce à NTradping, vous pouvez envoyer des demandes d’authentification RADIUS directement de votre client au serveur RADIUS et vous assurer qu’il est pleinement opérationnel. Sur le serveur RADIUS, vous devez définir l’adresse IP de votre client et un secret partagé. Vous aurez également besoin de règles de pare-feu pour permettre à votre client de communiquer avec le serveur RADIUS.
Vous pouvez également utiliser NTradping pour envoyer des demandes d’authentification au serveur virtuel LB sur l’ADC, qui les relaie au serveur RADIUS. Puisque ces requêtes proviennent de l’ADC, vous aurez besoin du même secret partagé dans NTradping que l’ADC. Vous aurez également besoin de règles de pare-feu pour permettre au client de communiquer avec le serveur virtuel RADIUS LB de l’ADC.
En testant chaque composant séparément, le test permet d’isoler l’endroit où se produit une défaillance. Supposons que vous puissiez envoyer des demandes réussies manuellement en utilisant le RADIUS de l’ADC. Dans ce cas, vous savez que le problème vient d’un élément antérieur, comme la définition du serveur RADIUS sur votre ADC, et vous pouvez concentrer vos efforts.
NTradping se compose de deux fichiers que vous extrayez dans le même répertoire à partir de son zip compressé. Au lancement, NTradping vous invite à :
- Le serveur RADIUS et le port
- Le secret RADIUS
- Nom d’utilisateur et mot de passe
- Type de demande d’authentification
Selon le test que vous effectuez, vous utiliserez l’adresse IP du serveur RADIUS ou celle du serveur virtuel LB de l’ADC comme destination. Le plus souvent, sur le port 1812.
Définissez un secret RADIUS pour votre client si vous envoyez directement des requêtes. Si vous envoyez des requêtes via le serveur virtuel LB de l’ADC pour imiter les demandes d’authentification de Gateway, utilisez le même secret partagé que celui que vous avez configuré pour l’ADC. Les champs de nom d’utilisateur et de mot de passe contiennent les informations d’identification que l’ADC doit envoyer au serveur RADIUS en votre nom. Généralement, le champ « mot de passe » contient la valeur du jeton MFA de l’utilisateur.
Lorsque vous cliquez sur « Envoyer », NTradping envoie une demande d’authentification depuis votre ordinateur vers la destination spécifiée et affiche la réponse (généralement un Access-Accept ou Access-Reject).
WireShark
Vous pouvez examiner la demande et la réponse RADIUS dans WireShark si vous effectuez un suivi de paquet sur Citrix ADC pendant le processus d’authentification.
WireShark est l’analyseur de protocole réseau le plus répandu et le plus utilisé au monde. WireShark est gratuit et disponible sans ici.
Vous pouvez trouver les filtres RADIUS de WireShark ici.
Vous trouverez les étapes à suivre pour effectuer un suivi des paquets sur un Citrix ADC ici.
Dans WireShark, vous verrez un paquet de demande d’accès suivi d’une réponse Access-Accept, Access-Reject ou Access-Challenge. Les réponses manquantes indiquent souvent un problème de communication tel que l’absence de règles de pare-feu ou l’absence de définition du client par le serveur RADIUS.
Instructions de l’interface
En supposant que la configuration sur vos serveurs RADIUS est déjà terminée, suivez les étapes suivantes pour l’authentification MFA avec Citrix Gateway :
Activer la fonction Authentification, autorisation et audit (AAA)
- Si la fonctionnalité AAA n’est pas déjà activée, accédez à Sécurité > AAA — Trafic des applications, puis cliquez avec le bouton droit de la souris pour activer la fonctionnalité.
Ajouter des serveurs d’authentification
-
Sélectionnez Sécurité > AAA — Trafic des applications, Stratégies, Authentification, Stratégies de base, RADIUS.
-
Sélectionnez l’onglet Serveurs, puis cliquez sur « Ajouter ».
-
Renseignez les détails de votre serveur RADIUS
Citrix vous recommande de ne pas cibler un serveur RADIUS individuel, mais plutôt votre serveur virtuel d’équilibrage de charge. À ce titre, utilisez le VIP de votre RADIUS LB comme adresse IP du serveur dans cette page. La clé secrète doit correspondre à la valeur sur votre serveur RADIUS pour le SNIP de l’ADC. -
Sélectionnez Sécurité > AAA — Trafic des applications, stratégies, authentification, stratégies de base, LDAP. Ensuite, sélectionnez l’onglet « Serveurs » et cliquez sur « Ajouter ».
-
Renseigner les détails de votre cible LDAP
Comme RADIUS, Citrix vous recommande d’utiliser un serveur virtuel d’équilibrage de charge (LB) local comme destination. À ce titre, utilisez le VIP de votre serveur virtuel LDAP LB comme adresse IP du serveur sur cette page.
Ajouter des stratégies d’authentification avancées
-
Sélectionnez Sécurité > AAA — Trafic des applications, Stratégies, Authentification, Stratégies avancées, Stratégie. Cliquez ensuite sur « Ajouter ».
-
Renseignez les détails de la stratégie comme indiqué, puis cliquez sur « Créer ».
-
Répétez l’étape pour créer une autre stratégie pour RADIUS, puis cliquez sur « Créer ».
Créer un serveur virtuel AAA
-
Accédez à Configuration > Sécurité > AAA - Trafic des applications > Serveurs virtuels.
-
Cliquez sur « Ajouter » pour créer un serveur virtuel d’authentification.
- Entrez les informations suivantes, puis cliquez sur OK.
-
Sous Certificat, sélectionnez « Aucun certificat de serveur ».
-
Cliquez sur « Cliquez pour sélectionner » pour sélectionner le certificat de serveur
-
Cliquez sur le bouton radio en regard d’un certificat pour le serveur virtuel AAA, puis cliquez sur « Sélectionner ». Le certificat choisi n’a pas d’importance car ce serveur n’est pas directement accessible.
-
Cliquez sur « Continuer » pour fermer la section Certificat.
-
Cliquez sur « Aucune stratégie d’authentification » dans « Stratégies d’authentification avancées ».
-
Cliquez sur « Click to select » sous le champ « Select Policy ».
-
Sélectionnez la stratégie « LDAP_Pol » et cliquez sur « Sélectionner ».
-
Cliquez sur « Cliquez pour sélectionner » sous le champ « Sélectionner le facteur suivant ».
-
Cliquez sur « Ajouter » dans « Étiquettes de stratégie d’authentification ».
-
Entrez un nom pour l’étiquette de stratégie que l’ADC utilise pour déclencher l’authentification RADIUS et cliquez sur « Continuer ».
-
Cliquez sur « Click to select » sous le champ « Select Policy ».
-
Sélectionnez la stratégie « Radius_Pol » et cliquez sur « Sélectionner ».
-
Cliquez sur « Lier » en bas de l’écran « Créer une étiquette de stratégie d’authentification ».
-
Cliquez sur « Terminé » en bas de l’écran « Étiquette de stratégie d’authentification ».
- Cliquez sur « Bind » en bas de l’écran « Policy Binding ».
Appliquer un schéma de connexion qui présente à l’utilisateur un champ de nom d’utilisateur, de mot de passe et de code secret
-
Cliquez sur « Login Schemas » dans le menu « Advanced Settings » situé à droite.
-
Cliquez sur « Aucun schéma de connexion » pour afficher une fenêtre permettant de sélectionner le schéma.
-
Sélectionnez la stratégie intégrée « lschema_dual_factor_builtin » et cliquez sur « Sélectionner ».
-
Cliquez sur « Lier » et sélectionnez « Terminé » pour quitter le menu de configuration du serveur virtuel AAA.
Remarque : La stratégie « lschema_dual_factor_builtin » a été ajoutée au microprogramme ADC 13.0. Si vous utilisez une version antérieure, vous devez créer une stratégie. Vous trouverez des instructions expliquant comment créer une stratégie ici.
Configurez votre serveur virtuel Gateway pour utiliser le nouveau serveur AAA
-
Sélectionnez « Citrix Gateway, Virtual Servers », puis sélectionnez votre serveur virtuel Gateway et cliquez sur « Edit ».
-
Sélectionnez « Profil d’authentification » dans le menu « Paramètres avancés » du côté droit.
-
Sélectionnez « Ajouter » dans la section « Profil d’authentification ».
-
Entrez un nom pour le nouveau profil d’authentification comme indiqué, puis cliquez sur « Click to select » sous « Authentication Virtual Server ».
-
Sélectionnez le serveur virtuel AAA que nous avons créé précédemment et cliquez sur « Sélectionner ».
Effectuer des tests
Vous êtes maintenant prêt à utiliser l’authentification multifacteur sur votre serveur virtuel Citrix Gateway.
Si vous rencontrez des difficultés d’authentification, veuillez vous reporter à la section de dépannage de ce document.
Instructions CLI
Si vous préférez configurer l’ADC à l’aide de l’interface de ligne de commande, le script de configuration suivant exécute toutes les étapes nécessaires.
# 1. Enable AAA
en ns feature aaa
# 2. Creating LDAP Server
add authentication ldapAction LDAP_for_Gateway -serverIP LDAP_LB_IP -serverPort 636 -ldapBase "DC=citrix,DC=lab" -ldapBindDn readonly@citrix.lab -ldapBindDnPassword PASSWORD -ldapLoginName sAMAccountName -groupAttrName memberOf
# 3. Creating LDAP Policy
add authentication Policy LDAP_Pol -rule true -action LDAP_for_Gateway
# 4. Creating RADIUS Server
add authentication radiusAction RADIUS_Server -serverIP 192.168.1.100 -serverPort 1812 -radKey sharedsecret
# 5. Create RADIUS Policy
add authentication Policy RADIUS_Pol -rule true -action RADIUS_Server
# 6. Create a PolicyLabel triggering the RADIUS Policy
add authentication policylabel RADIUS_PolicyLabel -loginSchema LSCHEMA_INT
bind authentication policylabel RADIUS_PolicyLabel -policyName RADIUS_Pol -priority 100
# 7. Create the AAA virtual server
add authentication vserver nFactorAuthvServer SSL 0.0.0.0
# 8. Bind an SSL certificate to the AAA virtual server
bind ssl vserver nFactorAuthvServer -certkeyName "Example Cert"
# 9. Bind the LDAP policy and RADIUS PolicyLabel to the AAA virtual server
bind authentication vserver nFactorAuthvServer -policy LDAP_Pol -priority 100 -nextFactor RADIUS_PolicyLabel -gotoPriorityExpression NEXT
# 10. Bind the builtin Login Schema for dual factor authentication to the AAA virtual server
bind authentication vserver nFactorAuthvServer -policy lschema_dual_factor_builtin -priority 100 -gotoPriorityExpression END
# 11. Create an Authentication Profile attached to the AAA virtual server
add authentication authnProfile MFA_Authentication_Profile -authnVsName nFactorAuthvServer
# 12. Configure your existing Gateway virtual server to use the Authentication Profile
set vpn vserver "Steven Demo Gateway" -authnprofile "MFA_Authentication_Profile"
<!--NeedCopy-->
Dans cet article
- Vue d’ensemble
- Présentation des communications RADIUS
- Outils de dépannage RADIUS
- Instructions de l’interface
- Ajouter des stratégies d’authentification avancées
- Créer un serveur virtuel AAA
- Appliquer un schéma de connexion qui présente à l’utilisateur un champ de nom d’utilisateur, de mot de passe et de code secret
- Configurez votre serveur virtuel Gateway pour utiliser le nouveau serveur AAA
- Effectuer des tests
- Instructions CLI