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

Inscription OTP natif

Authentification OTP native

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.

  1. Connectez-vous à l’interface utilisateur Citrix ADC
  2. Accédez à Sécurité > Trafic des applications AAA-> Stratégies > Authentification > Stratégies avancées > Stratégie
  3. Cliquez sur Add
  4. Entrez le nom polldap_notpmanage de la stratégie, puis modifiez le type d’action par LDAP.
  5. Cliquez Add sous Action
  6. 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
  7. Sélectionnez Créer un OTP natif
  8. Entrez l’expression true, puis cliquez sur OK Native OTP

Authentification OTP native

Cette stratégie d’authentification LDAP est utilisée pour effectuer l’authentification du premier facteur.

  1. Accéder à Security > AAA-Application Traffic > Policies > Authentication > Advanced Policies > Policy
  2. Cliquez sur Add
  3. Entrez le nom polldap_notpauth de la stratégie, puis modifiez le type d’action par LDAP.
  4. Cliquez Add sous Action
  5. 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
  6. Sélectionnez Créer un OTP natif
  7. Entrez l’expression true, puis cliquez sur OK Native OTP

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.

  1. Accéder à Security > AAA-Application Traffic > Login Schema
  2. Sélectionnez l’onglet Profile
  3. Cliquez Add sous Profil et nommez-le. prolschema_notpsingle
  4. Cliquez sur l’icône de crayon en regard de noschema
  5. Cliquez sur Login Schema, puis faites défiler vers le bas pour sélectionner SingleAuthManageOTP.xml, puis sélectionnez le bleu Select dans le coin droit.
  6. Cliquez sur Create Native OTP

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.

  1. Sous l’onglet Profile, cliquez à nouveau sur Add
  2. Entrez le nom pollschema_notpdual
  3. Cliquez Add sous Profil, et nommez-le prolschema_notpdual
  4. Cliquez sur l’icône de crayon en regard de noschema
  5. Cliquez sur Login Schema, puis faites défiler vers le bas pour sélectionner DualAuth.xml, puis sélectionnez le bleu Select dans le coin droit.
  6. Cliquez sur More
  7. Dans le champ, Password Credential Index entrez 1
  8. Cliquez sur Create Native OTP

Serveur AAA virtuel OTP natif - Flux de visualiseur

  1. Suivant accédez à Security > AAA - Application Traffic > nFactor Visualizer > nFactor Flows
  2. Cliquez sur Add
  3. 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.
  4. Entrez factor0-notp, puis cliquez sur Create Native OTP

Flux d’enregistrement

  1. Sélectionnez Add Policy
  2. Sélectionner Add à côté de Select Policy
  3. Entrer nom polfactor0-notpmanage
  4. Définissez la Action Type valeur NO_AUTHN
  5. Coller HTTP.REQ.COOKIE.VALUE(“NSC_TASS”).EQ(“manageotp”) pour l’expression OU la créer avec Expression Builder Native OTP Vous 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)
  6. Cliquez sur Create, suivi de Add Native OTP
  7. Sélectionnez le vert + à droite de la polfactor0-notpmanage stratégie que vous venez de créer
  8. Entrez factor1-notpmanage, puis cliquez sur Create Native OTP
  9. Dans la zone Nouveau facteur, sélectionnez Add Schema
  10. Sélectionnez prolschema_notpsingle, puis cliquez sur Ok
  11. Sélectionnez Add Policy
  12. Dans la liste déroulante sous Select Policy Sélectionner polldap_notpauth, puis cliquez sur Add
  13. Sélectionnez le vert + à droite de la stratégie polldap_notpauth
  14. Entrez factor2-notpmanage, puis cliquez sur Create Native OTP
  15. Dans la zone Nouveau facteur, sélectionnez Add Policy
  16. Dans la liste déroulante, sous Select Policy sélectionnez polldap_notpmanage, puis cliquez sur Add Native OTP

Flux d’authentification

  1. Maintenant, dans la boîte de facteur initial que nous avons créée factor0-notp, sélectionnez le bleu +
  2. Sélectionner Add à côté de Select Policy
  3. Entrer nom polfactor0-notpauth
  4. Définir Action Type la valeur NO_AUTHN
  5. Entrez true pour l’expression
  6. Cliquez sur Create, suivi de Add 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-dessus polfactor0-notpmanage à 100 n’est pas une correspondance. OTP natif
  7. Sélectionnez le vert + à droite de la polfactor0-notpauth stratégie que vous venez de créer
  8. Entrez factor1-notpauth, puis cliquez sur Create
  9. Dans la zone Nouveau facteur, sélectionnez Add Schema
  10. Sélectionnez prolschema_notpdual, puis cliquez sur Ok
  11. Sélectionnez Add Policy
  12. Dans la liste déroulante sous Select Policy Sélectionner polldap_notpauth, puis cliquez sur Add
  13. Sélectionnez le vert + à droite de la polldap_notpauth stratégie que vous venez de créer
  14. Entrez OTPCheck, puis cliquez sur Create
  15. Sélectionnez Add Policy
  16. Dans la liste déroulante sous Select Policy Sélectionner polldap_notpmanage, puis cliquez sur Add
  17. Sélectionnez Done OTP natif

Serveur AAA virtuel OTP natif

Ce serveur AAA virtuel est l’endroit où les stratégies et le schéma sont liés avec la priorité appropriée.

  1. 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 Certificats SSL Citrix ADC pour plus d’informations.
  2. Ensuite, accédez à Security > AAA - Application Traffic > Virtual Servers, puis sélectionnez Ajouter
  3. Entrez les champs suivants :
    • Nom - une valeur unique. Nous entrons nativeotp_authvserver
    • Type d’adresse IP - Non Addressable
  4. Cliquez sur Ok
  5. 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
  6. Sous Advanced Authentication Policies, sélectionnez No Nfactor Flow
  7. Sélectionnez la flèche droite sous Select nFactor Flow, sélectionnez factor0_notp, cliquez sur Select, cliquez sur Bind OTP natif
  8. Cliquez sur Continue, suivi de Done Native OTP

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.

  1. Accédez à Citrix Gateway > Serveurs virtuels > Stratégies > Trafic
  2. Sélectionnez l’onglet Traffic Profiles, puis cliquez sur Ajouter
  3. Entrez le nom notp_trafficprofile
  4. Sélectionnez HTTP
  5. Dans l’expression de mot de passe SSO, entrez http.REQ.USER.ATTRIBUTE(1)
  6. Cliquez sur Créer un OTP natif
  7. Cliquez maintenant sur l’onglet Stratégies de trafic
  8. Dans le champ Profil de demande, sélectionnez le profil de trafic notp_trafficprofile que vous venez de créer.
  9. Entrez le nom nOTP_TrafficPolicy
  10. Dans la zone Express, entrez true
  11. Cliquez sur Create Native OTP

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.

  1. Accéder à Citrix Gateway > Virtual Servers
  2. Sélectionnez votre passerelle actuelle, puis cliquez sur Edit
  3. Sélectionnez Profil d’authentification dans le panneau Paramètres avancés sur le côté droit
  4. Sélectionnez Add
  5. Saisissez un nom de profil. Nous entrons nativeotp_authprofile
  6. Sous Stratégie, sélectionnez la flèche et sélectionnez le serveur AAA virtuel OTP natif nativeotp_authvserver
  7. Cliquez sur Create
  8. Sélectionnez Stratégies dans le panneau Paramètres avancés sur le côté droit
  9. Sélectionnez le + signe à ajouter
  10. Sous Choose PolicyTrafficSélectionner et sous Choose Type Sélectionner Request. La sélection Continue
  11. Cliquez sur la flèche droite notp_trafficpolicy, sélectionnez et sélectionnez OK
  12. Cliquez sur Done, puis enregistrez la configuration en cours d’exécution Native OTP

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.

  1. 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 utilisons https://gateway.workspaces.wwco.net/manageotp
  2. Une fois que votre navigateur est redirigé vers un écran de connexion, entrez l’UPN utilisateur et le mot de passe Native OTP Registration
  3. Dans l’écran suivant, sélectionnez Ajouter un périphérique, entrez un nom. Nous utilisons l’ iPhone7_nOTP enregistrement OTP natif
  4. Sélectionnez Go, et un code QR apparaît Enregistrement OTP natif
  5. 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)
  6. Sélectionnez Ajouter un nouveau jeton
  7. Sélectionnez Scanner le code QR Enregistrement OTP natif
  8. Sélectionnez Orienter votre caméra sur le code QR, puis une fois qu’il est capturé, sélectionnez Ajouter un enregistrement OTP natif
  9. Sélectionnez Enregistrer pour stocker le jeton Enregistrement OTP natif
  10. Le jeton est maintenant actif et commence à afficher les codes OTP toutes les 30 secondes.
  11. Sélectionnez Terminé et vous verrez la confirmation que l’appareil a été ajouté avec succès Enregistrement OTP natif

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.

  1. Ouvrez un navigateur et accédez au nom de domaine complet géré par Citrix Gateway. Nous utilisons https://gateway.workspaces.wwco.net
  2. Une fois votre navigateur redirigé vers un écran de connexion, entrez utilisateur UserPrincipalName et mot de passe
  3. 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 Enregistrement OTP natif.
  4. Vérifiez que les utilisateurs, les applications virtuelles et les bureaux sont énumérés et lancez-les une fois connecté ( Native OTP Registration)

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 :

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. OTP natif
  • Try again or contact your help desk - ce message d’erreur indique souvent un échec de connexion LDAP. OTP natif 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. OTP natif

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.

Guide PoC : nFactor pour l’authentification Citrix Gateway avec OTP natif