Citrix Gateway

Prise en charge OTP native pour l’authentification

Citrix Gateway prend en charge les mots de passe à usage unique (OTP) sans avoir à utiliser un serveur tiers. Le mot de passe à usage unique est une option hautement sécurisée pour l’authentification auprès de serveurs sécurisés, car le numéro ou le code d’accès généré est aléatoire. Auparavant, des entreprises spécialisées, telles que RSA avec des appareils spécifiques générant des nombres aléatoires, proposaient les OTP. Ce système doit être en communication constante avec le client pour générer un nombre attendu par le serveur.

En plus de réduire les dépenses d’investissement et d’exploitation, cette fonctionnalité améliore le contrôle de l’administrateur en conservant l’intégralité de la configuration sur l’appliance Citrix ADC.

Remarque :

étant donné que les serveurs tiers ne sont plus nécessaires, l’administrateur Citrix ADC doit configurer une interface pour gérer et valider les machines utilisateur.

L’utilisateur doit être inscrit sur un serveur virtuel Citrix Gateway pour utiliser la solution OTP. L’enregistrement n’est requis qu’une seule fois par appareil unique et peut être limité à certains environnements. La configuration et la validation d’un utilisateur enregistré sont similaires à la configuration d’une stratégie d’authentification supplémentaire.

Avantages de la prise en charge native d’OTP

  • Réduit les coûts d’exploitation en éliminant la nécessité de disposer d’une infrastructure supplémentaire sur un serveur d’authentification en plus d’Active Directory.
  • Consolide la configuration uniquement sur l’appliance Citrix ADC, offrant ainsi un excellent contrôle aux administrateurs.
  • Élimine la dépendance du client à un serveur d’authentification supplémentaire pour générer un nombre attendu par les clients.

Workflow OTP natif

La solution OTP native est un processus à deux volets et le flux de travail est classé comme suit :

  • Enregistrement de l’appareil
  • Connexion de l’utilisateur final

Important : Vous pouvez ignorer le processus d’enregistrement si vous utilisez des solutions tierces ou si vous gérez d’autres appareils en dehors de l’appliance Citrix ADC. La chaîne finale que vous ajoutez doit être au format spécifié par Citrix ADC.

La figure suivante illustre le flux d’enregistrement des appareils pour enregistrer un nouveau périphérique à recevoir OTP.

Flux de travail OTP

Remarque :

L’enregistrement de l’appareil peut être effectué en utilisant un certain nombre de facteurs. Le facteur unique (tel que spécifié dans la figure précédente) est utilisé à titre d’exemple pour expliquer le processus d’enregistrement des appareils.

La figure suivante illustre la vérification de l’OTP via l’appareil enregistré.

Flux de travail de vérification OTP

Conditions préalables

Pour utiliser la fonctionnalité OTP native, assurez-vous que les conditions préalables suivantes sont remplies.

  • La version de la fonctionnalité Citrix ADC est 12.0 build 51.24 et ultérieur.
  • La licence Advanced ou Premium Edition est installée sur Citrix Gateway.
  • Citrix Gateway est configuré avec une adresse IP de gestion et la console de gestion est accessible à la fois à l’aide d’un navigateur et d’une ligne de commande.
  • Citrix ADC est configuré avec l’authentification, l’autorisation et l’audit du serveur virtuel pour authentifier les utilisateurs.
  • L’appliance Citrix ADC est configurée avec Unified Gateway et le profil d’authentification, d’autorisation et d’audit est attribué au serveur virtuel Gateway.
  • La solution OTP native est limitée au flux d’authentification nFactor. Des stratégies avancées sont nécessaires pour configurer la solution. Pour plus de détails, consultez l’article CTX222713.

Vérifiez également ce qui suit pour Active Directory :

  • La longueur minimale des attributs est de 256 caractères.
  • Le type d’attribut doit être « DirectoryString », par exemple UserParameters. Ces attributs peuvent contenir des valeurs de chaîne.
  • Le type de chaîne d’attribut doit être Unicode, si le nom de l’appareil est en caractères non anglais.
  • L’administrateur LDAP Citrix ADC doit disposer d’un accès en écriture à l’attribut AD sélectionné.
  • L’appliance Citrix ADC et la machine cliente doivent être synchronisées avec un serveur de temps réseau commun.

Configuration du protocole OTP natif à l’aide de l’interface graphique

L’enregistrement OTP natif n’est pas seulement une authentification à facteur unique. Les sections suivantes vous aident à configurer l’authentification à un facteur et à un deuxième facteur.

Créer un schéma de connexion pour le premier facteur

  1. Accédez à Sécurité AAA > Trafic des applications > Schéma de connexion.
  2. Accédez à Profils et cliquez sur Ajouter.
  3. Sur la page Créer un schéma de connexion d’authentification, saisissez lschema_single_auth_manage_otp dans le champ Nom et cliquez sur Modifier en regard de noschema.
  4. Cliquez sur le dossier LoginSchema .
  5. Faites défiler l’écran vers le bas pour sélectionner SingleAuth.xml, puis cliquez sur Sélectionner.
  6. Cliquez sur Créer.
  7. Cliquez sur Stratégies, puis sur Ajouter.
  8. Dans l’écran Créer une stratégie de schéma de connexion d’authentification, entrez les valeurs suivantes.

    Nom : lpol_single_auth_manage_otp_by_url Profil : sélectionnez lpol_single_auth_manage_otp_by_url dans la liste. Règle : HTTP.REQ.COOKIE.VALUE("NSC_TASS").EQ("manageotp")

Configuration du serveur virtuel d’authentification, d’autorisation et d’audit

  1. Accédez à Sécurité > AAA — Trafic des applications > Serveurs virtuels d’authentification. Cliquez pour modifier le serveur virtuel existant.
  2. Cliquez sur l’icône + en regard de Schemas de connexion sous Paramètres avancés dans le volet droit.
  3. Sélectionnez Aucun schéma de connexion.
  4. Cliquez sur la flèche et sélectionnez la stratégie lpol_single_auth_manage_otp_by_url .
  5. Sélectionnez la stratégie lpol_single_auth_manage_otp_by_url et cliquez sur Sélectionner.
  6. Cliquez sur Bind.
  7. Faites défiler la page vers le haut et sélectionnez 1 Stratégie d’authentification sous Stratégie d’authentification avancée .
  8. Cliquez avec le bouton droit sur la stratégie nFactor et sélectionnez Modifier la liaison .
  9. Cliquez sur l’ icône+située sous Sélectionner le facteur suivant, créez un facteur suivant, puis cliquez sur Lier.
  10. Dans l’écran Créer une authentification PolicyLabel, saisissez les informations suivantes, puis cliquez sur Continuer :

    Nom : manage_otp_flow_label

    Schéma de connexion : Lschema_Int

  11. Sur l’écran Authentication PolicyLabel, cliquez sur l’icône + pour créer une stratégie.

  12. Dans l’écran Créer une stratégie d’authentification, entrez ce qui suit :

    Nom : auth_pol_ldap_otp_action

  13. Sélectionnez le type d’action dans la liste Type d’action .
  14. Dans le champ Action, cliquez sur l’icône + pour créer une action.
  15. Dans la page Créer un serveur LDAP d’authentification, sélectionnez le bouton radio IP du serveur, désélectionnez la case à cocher en regard de Authentification, entrez les valeurs suivantes, puis sélectionnez Tester la connexion.

    Nom : ldap_otp_action

    Adresse IP : 192.168.10.11

    DN de base : DC=Formation, DC=Lab

    Administrateur : Administrator@training.lab

    Mot de passe : xxxxx

  16. Faites défiler l’écran jusqu’à la section Autres paramètres . Utilisez le menu déroulant pour sélectionner les options suivantes. Attribut de nom d’ouverture de session du serveur comme nouveau et saisissez userprincipalname.
  17. Utilisez le menu déroulant pour sélectionner Attribut de nom SSO comme Nouveau et saisissez userprincipalname.
  18. Saisissez « UserParameters » dans le champ secret OTP et cliquez sur Plus.
  19. Saisissez les attributs suivants.

    Attribut 1 = mail Attribut 2 = ObjectGuid Attribut 3 = ImmutableID

  20. Cliquez sur OK.
  21. Sur la page Créer une stratégie d’authentification, définissez l’expression sur true et cliquez sur Créer.
  22. Sur la page Créer une étiquette de stratégie d’authentification, cliquez sur Liaison, puis sur Terminé.
  23. Sur la page Liaison de stratégie, cliquez sur Liaison.
  24. Dans la page Stratégie d’authentification, cliquez sur Fermer et cliquez sur Terminé .

Remarque :

Le serveur virtuel d’authentification doit être lié au thème du portail RFWebUI. Liez un certificat de serveur au serveur. L’adresse IP du serveur « 1.2.3.5 » doit avoir un nom de domaine complet correspondant, à savoir otpauth.server.com, pour une utilisation ultérieure.

Créer un schéma de connexion pour le deuxième facteur OTP

  1. Accédez à Sécurité > Trafic des applications AAA > Serveurs virtuels. Sélectionnez le serveur virtuel à modifier.
  2. Faites défiler l’écran vers le bas et sélectionnez 1 schéma de connexion.
  3. Cliquez sur Ajouter une liaison.
  4. Dans la section Liaison de stratégie, cliquez sur l’icône + pour ajouter une stratégie.
  5. Sur la page Créer une stratégie de schéma de connexion d’authentification, saisissez Name as OTP, puis cliquez sur l’icône + pour créer un profil.
  6. Sur la page Créer un schéma de connexion d’authentification, saisissez Name as OTP, puis cliquez sur l’icône en regard de noschema.
  7. Cliquez sur le dossier Loginschema, sélectionnez DualAuthManageOTP.xml, puis cliquez sur Sélectionner.
  8. Cliquez sur Créer.
  9. Dans la section Règle, saisissez Vrai. Cliquez sur Créer.
  10. Cliquez sur Bind.
  11. Notez les deux facteurs d’authentification. Cliquez sur Fermer, puis sur Terminé .

Configurer la stratégie de commutation de contenu pour gérer OTP

Les configurations suivantes sont requises si vous utilisez Unified Gateway.

  1. Accédez à Gestion du trafic > Changement de contenu > Stratégies. Sélectionnez la stratégie de changement de contenu, cliquez avec le bouton droit de la souris et sélectionnez Modifier.

  2. Modifiez l’expression pour évaluer l’instruction OR suivante, puis cliquez sur OK :

is_vpn_url   HTTP.REQ.URL.CONTAINS(“manageotp”)

Configuration du protocole OTP natif à l’aide de la CLI

Vous devez disposer des informations suivantes pour configurer la page de gestion des appareils OTP :

  • IP attribuée au serveur virtuel d’authentification
  • FQDN correspondant à l’adresse IP attribuée
  • Certificat de serveur pour serveur virtuel d’authentification

Remarque :

Native OTP est une solution Web uniquement.

Pour configurer la page d’enregistrement et de gestion des appareils OTP

Créer un serveur virtuel d’authentification

add authentication vserver authvs SSL 1.2.3.5 443
bind authentication vserver authvs -portaltheme RFWebUI
bind ssl vserver authvs -certkeyname otpauthcert
<!--NeedCopy-->

Remarque :

Le serveur virtuel d’authentification doit être lié au thème du portail RFWebUI. Liez un certificat de serveur au serveur. L’adresse IP du serveur « 1.2.3.5 » doit avoir un nom de domaine complet correspondant, à savoir otpauth.server.com, pour une utilisation ultérieure.

Pour créer une action d’ouverture de session LDAP

add authentication ldapAction <LDAP ACTION NAME> -serverIP <SERVER IP> -  serverPort <SERVER PORT> -ldapBase <BASE> -ldapBindDn <AD USER> -ldapBindDnPassword <PASSWO> -ldapLoginName <USER FORMAT>
<!--NeedCopy-->

Exemple :

add authentication ldapAction ldap_logon_action -serverIP 1.2.3.4 -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD -ldapLoginName userprincipalname
<!--NeedCopy-->

Pour ajouter une stratégie d’authentification pour l’ouverture de session LDAP

add authentication Policy auth_pol_ldap_logon -rule true -action ldap_logon_action
<!--NeedCopy-->

Pour présenter l’interface utilisateur via LoginsChema

Afficher le champ nom d’utilisateur et le champ de mot de passe aux utilisateurs lors de l’ouverture de session

add authentication loginSchema lschema_single_auth_manage_otp -authenticationSchema "/nsconfig/loginschema/LoginSchema/SingleAuthManageOTP.xml"
<!--NeedCopy-->

Afficher la page d’enregistrement et de gestion des périphériques

Citrix recommande deux façons d’afficher l’écran d’enregistrement et de gestion des appareils : URL ou nom d’hôte.

  • Utilisation de l’URL

    Lorsque l’URL contient « /manageotp »

    • add authentication loginSchemaPolicy lpol_single_auth_manage_otp_by_url -rule "http.req.cookie.value("NSC_TASS").contains("manageotp")" -action lschema_single_auth_manage_otp
    • bind authentication vserver authvs -policy lpol_single_auth_manage_otp_by_url -priority 10 -gotoPriorityExpression END
  • Utiliser le nom d’hôte

    Lorsque le nom d’hôte est « alt.server.com »

    • add authentication loginSchemaPolicy lpol_single_auth_manage_otp_by_host -rule "http.req.header("host").eq("alt.server.com")" -action lschema_single_auth_manage_otp
    • bind authentication vserver authvs -policy lpol_single_auth_manage_otp_by_host -priority 20 -gotoPriorityExpression END

Pour configurer la page de connexion utilisateur à l’aide de l’interface de ligne de commande

Vous devez disposer des informations suivantes pour configurer la page Ouverture de session utilisateur :

  • IP pour un serveur virtuel d’équilibrage de charge
  • Nom de domaine complet correspondant pour le serveur virtuel d’équilibrage de charge
  • Certificat de serveur pour le serveur virtuel d’équilibrage de charge

     bind ssl vserver lbvs_https -certkeyname lbvs_server_cert
     <!--NeedCopy-->
    

Le service back-end dans l’équilibrage de charge est représenté comme suit :

add service iis_backendsso_server_com 1.2.3.210 HTTP 80
bind lb vserver lbvs_https iis_backendsso_server_com
<!--NeedCopy-->

Pour créer une action de validation du code secret OTP

add authentication ldapAction <LDAP ACTION NAME> -serverIP <SERVER IP> -serverPort <SERVER PORT> -ldapBase <BASE> -ldapBindDn <AD USER> -ldapBindDnPassword <PASSWORD> -ldapLoginName <USER FORMAT> -authentication DISABLED -OTPSecret <LDAP ATTRIBUTE>
<!--NeedCopy-->

Exemple :

add authentication ldapAction ldap_otp_action -serverIP 1.2.3.4 -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD -ldapLoginName userprincipalname -authentication DISABLED -OTPSecret userParameters
<!--NeedCopy-->

Important :

La différence entre l’ouverture de session LDAP et l’action OTP réside dans la nécessité de désactiver l’authentification et d’introduire un nouveau paramètre OTPSecret. N’utilisez pas la valeur de l’attribut AD.

Pour ajouter une stratégie d’authentification pour la validation du code d’accès OTP

add authentication Policy auth_pol_otp_validation -rule true -action ldap_otp_action
<!--NeedCopy-->

Pour présenter l’authentification à deux facteurs via LoginSchema

Ajoutez l’interface utilisateur pour l’authentification à deux facteurs.

add authentication loginSchema lscheme_dual_factor -authenticationSchema "/nsconfig/loginschema/LoginSchema/DualAuth.xml"
add authentication loginSchemaPolicy lpol_dual_factor -rule true -action lscheme_dual_factor
<!--NeedCopy-->

Pour créer un facteur de validation de code secret via l’étiquette de stratégie

Créer une étiquette de stratégie de flux OTP de gestion pour le facteur suivant (le premier facteur est l’ouverture de session LDAP)

add authentication loginSchema lschema_noschema -authenticationSchema noschema
add authentication policylabel manage_otp_flow_label -loginSchema lschema_noschema
<!--NeedCopy-->

Pour lier la stratégie OTP à l’étiquette de stratégie

bind authentication policylabel manage_otp_flow_label -policyName  auth_pol_otp_validation -priority 10 -gotoPriorityExpression NEXT
<!--NeedCopy-->

Pour lier le flux de l’interface utilisateur

Liez l’ouverture de session LDAP suivie de la validation OTP avec le serveur virtuel d’authentification.

bind authentication vserver authvs -policy auth_pol_ldap_logon -priority 10 -nextFactor  manage_otp_flow_label -gotoPriorityExpression NEXT
bind authentication vserver authvs -policy lpol_dual_factor -priority 30 -gotoPriorityExpression END
<!--NeedCopy-->

Enregistrez votre appareil avec Citrix ADC

  1. Accédez au nom de domaine complet Citrix ADC (première adresse IP publique), avec un suffixe /manageotp. Par exemple, https://otpauth.server.com/manageotp connectez-vous avec les informations d’identification de l’utilisateur.
  2. Cliquez sur l’icône + pour ajouter un appareil.

    Page de connexion à la passerelle

  3. Entrez le nom d’un appareil et appuyez sur Go. Un code-barres apparaît à l’écran.
  4. Cliquez sur Commencer la configuration, puis sur Scanner le code-barres.
  5. Survolez le code QR avec la caméra de l’appareil. Vous pouvez éventuellement saisir le code.

    Code QR

    Remarque :

    Le code QR affiché est valide pendant 3 minutes.

  6. Une fois la numérisation réussie, un code temporel à 6 chiffres vous est présenté, qui peut être utilisé pour vous connecter.

    Message de réussite de la connexion

  7. Pour tester, cliquez sur Terminé sur l’écran QR, puis cliquez sur la coche verte à droite.
  8. Sélectionnez votre appareil dans le menu déroulant et saisissez le code de Google Authenticator (il doit être bleu et non rouge), puis cliquez sur OK.
  9. Assurez-vous de vous déconnecter à l’aide du menu déroulant situé dans le coin supérieur droit de la page.

Connectez-vous à Citrix ADC à l’aide de l’OTP

  1. Accédez à votre première URL publique et saisissez votre OTP à partir de Google Authenticator pour ouvrir une session.
  2. Authentifiez-vous sur la page de démarrage de Citrix ADC.

    Page d'authentification ADC