Guide PoC : nFactor pour l’authentification Citrix Gateway avec OTP natif
Introduction
La mise en œuvre de l’authentification multifactorielle est l’un des meilleurs moyens de vérifier l’identité et d’améliorer la sécurité. Natif (basé sur le temps) One Time Password (OTP) est un moyen pratique d’implémenter un autre facteur à l’aide d’applications d’authentification facilement disponibles. Il permet aux utilisateurs d’entrer des codes de validation de leur application d’authentification, dans un formulaire de passerelle, pour s’authentifier.
Citrix Gateway prend en charge l’OTP natif et peut fournir une authentification pour divers services, y compris les services Web, VPN et Citrix Virtual Apps and Desktops. Dans ce guide POC, nous démontrons son utilisation pour l’authentification dans un environnement Citrix Virtual Apps and Desktops.
Architecture conceptuelle
Vue d’ensemble
Ce guide explique comment implémenter un environnement Proof of Concept à l’aide de l’authentification à deux facteurs avec Citrix Gateway. Il utilise LDAP pour valider les informations d’identification Active Directory comme premier facteur, et OTP natif comme second facteur.
Il émet des hypothèses sur l’installation terminée et la configuration des composants suivants :
- Citrix Gateway installé, sous licence et configuré avec un serveur virtuel accessible en externe lié à un certificat générique
- Citrix Gateway intégré à un environnement Citrix Virtual Apps and Desktops qui utilise LDAP pour l’authentification
- Point de terminaison avec l’application Citrix Workspace installée
- Application Authenticator prise en charge, prenant en charge l’OTP basé sur le temps, installée (y compris Microsoft Authenticator, Google Authenticator ou Citrix SSO)
- Active Directory (AD) est disponible dans l’environnement
Reportez-vous à la documentation Citrix pour connaître la dernière version du produit et les exigences de licence : Authentification OTP native
nFactor
Stratégies LDAP
Tout d’abord, nous créons deux stratégies LDAP que nous référençons plus tard lorsque nous construisons notre flux NFactor.
Inscription OTP natif
Cette stratégie d’enregistrement LDAP est utilisée pour échanger et stocker la clé utilisée pour générer le code OTP basé sur le temps.
- Connectez-vous à l’interface utilisateur Citrix ADC
- Accédez à Sécurité > Trafic des applications AAA-> Stratégies > Authentification > Stratégies avancées > Stratégie
- Cliquez sur
Add
- Entrez le nom
polldap_notpmanage
de la stratégie, puis modifiez le type d’action parLDAP
. - Cliquez
Add
sous Action - Remplissez les champs suivants :
- Nom - entrer
actldap_notpmanage
- Nom du serveur/adresse IP : sélectionnez un nom de domaine complet ou une adresse IP pour le ou les serveurs AD. Nous entrons
192.0.2.50
- Désactivez
Authentication
ce paramètre ainsi que le secret OTP ci-dessous indiquent que la stratégie définira, plutôt que d’obtenir, les attributs d’objet - DN de base - entrez le chemin d’accès au conteneur utilisateur AD. Nous entrons
DC=workspaces, DC=wwco, DC=net
- Administrateur Bind DN - entrez le compte admin/service pour interroger AD pour authentifier les utilisateurs. Nous entrons
workspacessrv@workspaces.wwco.net
- Confirmer/Mot de passe administrateur - saisissez/confirmez le mot de passe du compte admin/service
- Cliquez sur Tester la connectivité réseau pour garantir la connexion.
- Attribut du nom d’ouverture de session du serveur - dans le deuxième champ sous ce champ, entrez
userPrincipalName
- OTP Secret - Enter
userParameters
Ceci est l’objet LDAP de l’utilisateur qui sera mis à jour avec la clé qui est utilisée avec le hachage pour générer le code OTP basé sur le temps
- Nom - entrer
- Sélectionnez Créer un
- Entrez l’expression
true
, puis cliquez surOK
Authentification OTP native
Cette stratégie d’authentification LDAP est utilisée pour effectuer l’authentification du premier facteur.
- Accéder à
Security > AAA-Application Traffic > Policies > Authentication > Advanced Policies > Policy
- Cliquez sur
Add
- Entrez le nom
polldap_notpauth
de la stratégie, puis modifiez le type d’action parLDAP
. - Cliquez
Add
sous Action - Remplissez les champs suivants :
- Nom - entrer
actldap_notpauth
- Nom du serveur/adresse IP : sélectionnez un nom de domaine complet ou une adresse IP pour le ou les serveurs AD. Nous entrons
192.0.2.50
- DN de base - entrez le chemin d’accès au conteneur utilisateur AD. Nous entrons
DC=workspaces, DC=wwco, DC=net
- Administrateur Bind DN - entrez le compte admin/service pour interroger AD pour authentifier les utilisateurs. Nous entrons
workspacessrv@workspaces.wwco.net
- Confirmer/Mot de passe administrateur - saisissez/confirmez le mot de passe du compte admin/service
- Cliquez sur Tester la connectivité réseau pour garantir la connexion.
- Attribut du nom d’ouverture de session du serveur - dans le deuxième champ sous ce champ, entrez
userPrincipalName
- Nom - entrer
- Sélectionnez Créer un
- Entrez l’expression
true
, puis cliquez surOK
Pour plus d’informations, voir Stratégies d’authentification LDAP.
Schémas de connexion
Les schémas de connexion sont utilisés lorsque des données doivent être collectées pour le compte d’une stratégie.
LSchema OTP natif - Authentification unique
Ce schéma de connexion d’enregistrement correspond à la stratégie d’enregistrement LDAP.
- Accéder à
Security > AAA-Application Traffic > Login Schema
- Sélectionnez l’onglet
Profile
- Cliquez
Add
sous Profil et nommez-le.prolschema_notpsingle
- Cliquez sur l’icône de crayon en regard de
noschema
- Cliquez sur
Login Schema
, puis faites défiler vers le bas pour sélectionnerSingleAuthManageOTP.xml
, puis sélectionnez le bleuSelect
dans le coin droit. - Cliquez sur
Create
LSchema OTP natif - Authentification double
Ce schéma de connexion d’enregistrement correspond à l’authentification à double facteur où l’utilisateur saisit à la fois son mot de passe et le code d’accès OTP.
- Sous l’onglet
Profile
, cliquez à nouveau surAdd
- Entrez le nom
pollschema_notpdual
- Cliquez
Add
sous Profil, et nommez-leprolschema_notpdual
- Cliquez sur l’icône de crayon en regard de
noschema
- Cliquez sur
Login Schema
, puis faites défiler vers le bas pour sélectionnerDualAuth.xml
, puis sélectionnez le bleuSelect
dans le coin droit. - Cliquez sur
More
- Dans le champ,
Password Credential Index
entrez1
- Cliquez sur
Create
AAA
virtuel OTP natif - Flux de visualiseur
Serveur - Suivant accédez à
Security > AAA - Application Traffic > nFactor Visualizer > nFactor Flows
- Cliquez sur
Add
- Cliquez sur le
+
signe pour créer le facteur initial. Ce facteur ne prendra pas d’action, plutôt gérera la direction du trafic entrant vers les flux de facteurs d’enregistrement ou d’authentification. - Entrez
factor0-notp
, puis cliquez surCreate
Flux d’enregistrement
- Sélectionnez
Add Policy
- Sélectionner
Add
à côté deSelect Policy
- Entrer nom
polfactor0-notpmanage
- Définissez la
Action Type
valeurNO_AUTHN
- Coller
HTTP.REQ.COOKIE.VALUE(“NSC_TASS”).EQ(“manageotp”)
pour l’expression OU la créer avec Expression BuilderVous pouvez éventuellement limiter l’enregistrement aux points de terminaison sur le réseau interne en ajoutant un critère d’adresse IP source tel que
http.req.cookie.value("NSC_TASS").eq("manageotp") && client.IP.SRC.IN_SUBNET(10.0.0.0/8)
- Cliquez sur
Create
, suivi deAdd
- Sélectionnez le vert
+
à droite de lapolfactor0-notpmanage
stratégie que vous venez de créer - Entrez
factor1-notpmanage
, puis cliquez surCreate
- Dans la zone Nouveau facteur, sélectionnez
Add Schema
- Sélectionnez
prolschema_notpsingle
, puis cliquez surOk
- Sélectionnez
Add Policy
- Dans la liste déroulante sous
Select Policy
Sélectionnerpolldap_notpauth
, puis cliquez surAdd
- Sélectionnez le vert
+
à droite de la stratégiepolldap_notpauth
- Entrez
factor2-notpmanage
, puis cliquez surCreate
- Dans la zone Nouveau facteur, sélectionnez
Add Policy
- Dans la liste déroulante, sous
Select Policy
sélectionnezpolldap_notpmanage
, puis cliquez surAdd
Flux d’authentification
- Maintenant, dans la boîte de facteur initial que nous avons créée
factor0-notp
, sélectionnez le bleu+
- Sélectionner
Add
à côté deSelect Policy
- Entrer nom
polfactor0-notpauth
- Définir
Action Type
la valeur NO_AUTHN - Entrez
true
pour l’expression - Cliquez sur
Create
, suivi deAdd
Noter que la priorité de la stratégie a augmenté à 110, ce qui signifie qu’elle ne sera exécutée que si la stratégie ci-dessuspolfactor0-notpmanage
à 100 n’est pas une correspondance. - Sélectionnez le vert
+
à droite de lapolfactor0-notpauth
stratégie que vous venez de créer - Entrez
factor1-notpauth
, puis cliquez surCreate
- Dans la zone Nouveau facteur, sélectionnez
Add Schema
- Sélectionnez
prolschema_notpdual
, puis cliquez surOk
- Sélectionnez
Add Policy
- Dans la liste déroulante sous
Select Policy
Sélectionnerpolldap_notpauth
, puis cliquez surAdd
- Sélectionnez le vert
+
à droite de lapolldap_notpauth
stratégie que vous venez de créer - Entrez
OTPCheck
, puis cliquez surCreate
- Sélectionnez
Add Policy
- Dans la liste déroulante sous
Select Policy
Sélectionnerpolldap_notpmanage
, puis cliquez surAdd
- Sélectionnez
Done
AAA
virtuel OTP natif
Serveur Ce serveur AAA
virtuel est l’endroit où les stratégies et le schéma sont liés avec la priorité appropriée.
- Accédez à Gestion du trafic > SSL> Certificats > Tous les certificats pour vérifier que votre certificat de domaine est installé. Dans cet exemple POC, nous avons utilisé un certificat générique correspondant à notre domaine Active Directory. Consultez la section Certificats SSL Citrix ADC pour plus d’informations.
- Ensuite, accédez à
Security > AAA - Application Traffic > Virtual Servers
, puis sélectionnez Ajouter - Entrez les champs suivants :
- Nom - une valeur unique. Nous entrons
nativeotp_authvserver
- Type d’adresse IP -
Non Addressable
- Nom - une valeur unique. Nous entrons
- Cliquez sur
Ok
- Sélectionnez Aucun certificat de serveur, sélectionnez la flèche sous
Select Server Certificate
, sélectionnez le certificat de domaine, cliquez sur Sélectionner, Lier et Continuer - Sous
Advanced Authentication Policies
, sélectionnezNo Nfactor Flow
- Sélectionnez la flèche droite sous
Select nFactor Flow
, sélectionnezfactor0_notp
, cliquez surSelect
, cliquez surBind
- Cliquez sur
Continue
, suivi deDone
Stratégie de trafic
Maintenant, nous créons une stratégie de trafic pour relayer le mot de passe LDAP à StoreFront, au lieu du code d’accès OTP.
- Accédez à Citrix Gateway > Serveurs virtuels > Stratégies > Trafic
- Sélectionnez l’onglet
Traffic Profiles
, puis cliquez sur Ajouter - Entrez le nom
notp_trafficprofile
- Sélectionnez
HTTP
- Dans l’expression de mot de passe SSO, entrez
http.REQ.USER.ATTRIBUTE(1)
- Cliquez sur Créer un
- Cliquez maintenant sur l’onglet Stratégies de trafic
- Dans le champ Profil de demande, sélectionnez le profil de trafic
notp_trafficprofile
que vous venez de créer. - Entrez le nom
nOTP_TrafficPolicy
- Dans la zone Express, entrez
true
- Cliquez sur
Create
Serveur virtuel de passerelle
Le serveur virtuel de passerelle est lié au serveur AAA
virtuel OTP natif pour fournir l’authentification pour Citrix Virtual Apps and Desktops.
- Accéder à
Citrix Gateway > Virtual Servers
- Sélectionnez votre passerelle actuelle, puis cliquez sur
Edit
- Sélectionnez Profil d’authentification dans le panneau Paramètres avancés sur le côté droit
- Sélectionnez
Add
- Saisissez un nom de profil. Nous entrons
nativeotp_authprofile
- Sous Stratégie, sélectionnez la flèche et sélectionnez le serveur
AAA
virtuel OTP natifnativeotp_authvserver
- Cliquez sur
Create
- Sélectionnez Stratégies dans le panneau Paramètres avancés sur le côté droit
- Sélectionnez le
+
signe à ajouter - Sous
Choose Policy
Traffic
Sélectionner et sousChoose Type
SélectionnerRequest
. La sélectionContinue
- Cliquez sur la flèche droite
notp_trafficpolicy
, sélectionnez et sélectionnezOK
- Cliquez sur
Done
, puis enregistrez la configuration en cours d’exécution
Point de terminaison utilisateur
Nous testons maintenant l’OTP natif en nous authentifiant dans notre environnement Citrix Virtual Apps and Desktops.
Enregistrement avec l’application Citrix SSO
Tout d’abord, l’utilisateur enregistre son appareil pour l’OTP natif à l’aide de l’application Citrix SSO.
- Ouvrez un navigateur et accédez au nom de domaine complet géré par Citrix Gateway avec
/manageotp
ajouté à la fin du nom de domaine complet. Nous utilisonshttps://gateway.workspaces.wwco.net/manageotp
- Une fois que votre navigateur est redirigé vers un écran de connexion, entrez l’UPN utilisateur et le mot de passe
- Dans l’écran suivant, sélectionnez Ajouter un périphérique, entrez un nom. Nous utilisons l’
iPhone7_nOTP
- Sélectionnez Go, et un code QR apparaît
- Sur votre appareil mobile, ouvrez votre application Citrix SSO ou une autre application d’authentification telle que Microsoft ou Google (disponible en téléchargement depuis les magasins d’applications)
- Sélectionnez Ajouter un nouveau jeton
- Sélectionnez Scanner le code QR
- Sélectionnez Orienter votre caméra sur le code QR, puis une fois qu’il est capturé, sélectionnez Ajouter un
- Sélectionnez Enregistrer pour stocker le jeton
- Le jeton est maintenant actif et commence à afficher les codes
- Sélectionnez Terminé et vous verrez la confirmation que l’appareil a été ajouté avec succès
Authentification, publication et lancement de Citrix Virtual Apps and Desktops
Ensuite, l’utilisateur entre son UserPrincipalName, son mot de passe et le code d’accès OTP à partir de l’application Citrix SSO pour accéder à ses applications virtuelles et bureaux.
- Ouvrez un navigateur et accédez au nom de domaine complet géré par Citrix Gateway. Nous utilisons
https://gateway.workspaces.wwco.net
- Une fois votre navigateur redirigé vers un écran de connexion, entrez utilisateur UserPrincipalName et mot de passe
- Ouvrez l’application Citrix SSO, entrez le code OTP dans le champ Code d’accès pour l’entrée de l’appareil
iPhone7_nOTP
.
- Vérifiez que les utilisateurs, les applications virtuelles et les bureaux sont énumérés et lancez-les une fois connecté (
Résolution des problèmes
Ici, nous examinons quelques zones de dépannage communes pour Native OTP.
Erreurs NTP
Lors de la connexion avec votre code OTP, la page peut poster un message vous conseillant de vérifier la synchronisation NTP. L’heure du Citrix ADC doit être synchronisée afin de générer le bon OTP basé sur l’heure. Si vous n’avez pas implémenté NTP, procédez comme suit :
- Réglez l’heure manuellement sur votre Citrix ADC sur l’heure actuelle. Cela accélérera la synchronisation qui prendrait autrement une période plus longue
- Ajouter un serveur NTP
- Si vous recevez toujours une erreur NTP lors de l’envoi du code OTP, consultez l’ affichage de l’heure sur NetScaler ne se synchronise pas à l’aide de NTP.
Erreurs d’authentification
-
Cannot complete your request.
- si ce message d’erreur se produit après une authentification réussie, il indique probablement une erreur en transmettant les informations d’identification de l’utilisateur à StoreFront. Vérifiez le schéma d’authentification double et les paramètres de stratégie de trafic. -
Try again or contact your help desk
- ce message d’erreur indique souvent un échec de connexion LDAP.Si vous avez vérifié que le mot de passe est correct, vérifiez que le mot de passe de liaison administrateur a été défini. Il se peut que vous ayez une stratégie d’authentification LDAP existante et que vous avez créé la stratégie de gestion en la sélectionnant, puis sélectionnez ajouter. Cette étape permet de gagner du temps en remplissant les paramètres existants tels que le
Base DN
, et vous pouvez voir que le champ Mot de passe administrateur semble être renseigné, mais vous DEVEZ saisir à nouveau le mot de passe.
Résumé
Avec Citrix Workspace et Citrix Gateway, les entreprises peuvent améliorer leur posture de sécurité en implémentant l’authentification multifacteur sans rendre l’expérience utilisateur complexe. Les utilisateurs peuvent accéder à leurs applications virtuelles Citrix Virtual Apps and Desktops, en entrant leur nom d’utilisateur de domaine et leur mot de passe, puis en confirmant simplement leur identité en saisissant un mot de passe unique à partir de leur application d’authentification enregistrée.
Références
Pour plus d’informations, reportez-vous à :
Authentification OTP native : trouvez plus de détails sur la mise en œuvre de l’OTP natif et les cas d’utilisation.