Citrix ADC

Prise en charge native OTP pour l’authentification

Citrix ADC prend en charge les mots de passe à usage unique (OTP) sans avoir à utiliser un serveur tiers. Un mot de passe 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 de passe généré est aléatoire. Auparavant, des firmes spécialisées, telles que RSA avec des dispositifs spécifiques qui génèrent des nombres aléatoires, offraient 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 auprès d’un serveur virtuel Citrix ADC 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 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 à l’appliance Citrix ADC, offrant ainsi un contrôle exceptionnel aux administrateurs.
  • Élimine la dépendance du client à l’égard d’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 double 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 périphériques 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 de l’appareil pour enregistrer un nouveau périphérique pour recevoir OTP.

Flux de travail OTP

Remarque : L’enregistrement de l’appareil peut se faire en utilisant un certain nombre de facteurs. Le facteur unique (tel que spécifié dans la figure précédente) est utilisé comme exemple pour expliquer le processus d’enregistrement de l’appareil.

La figure suivante illustre la vérification de l’OTP par l’intermédiaire de l’appareil enregistré.

Flux de travail de vérification OTP

La figure suivante illustre l’enregistrement et le flux de gestion de l’appareil.

Enregistrement et gestion des appareils

La figure suivante illustre le flux utilisateur final de la fonction OTP natif.

Workflow de l'utilisateur

Conditions préalables

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

  • La version de la version de la fonctionnalité Citrix ADC est 12.0 build 51.24 et versions ultérieures.
  • La licence Advanced ou Premium Edition est installée sur Citrix Gateway.
  • Citrix ADC est configuré avec l’adresse IP de gestion et la console de gestion est accessible à 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’articleCTX222713.

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

  • Longueur minimale d’attribut de 256 caractères.
  • Le type d’attribut doit être ‘DirectoryString’ tel que UserParameters. Ces attributs peuvent contenir des valeurs de chaîne.
  • Le type de chaîne d’attribut doit être Unicode, si le nom de périphérique 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.

Configurer OTP natif à l’aide de l’interface graphique

L’enregistrement OTP natif n’est pas seulement une authentification par facteur unique. Les sections suivantes vous aident à configurer l’authentification à un 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. Dans la page Créer un schéma de connexion d’authentification, entrez lschema_single_auth_manage_otp sous le champ Nom et cliquez sur Modifier en regard de noschema.
  4. Cliquez sur le dossier LoginsSchema .
  5. Faites défiler la page vers le bas pour sélectionner SingleAuth.xml et 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« )

Configurer l’authentification, l’autorisation et l’audit du serveur virtuel

  1. Accédez à Sécurité > AAA — Trafic d’applications > Authentification Virtual Serveurs. 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 + présente sous Sélectionner le facteur suivant, créez un facteur suivant, puis cliquez sur Lier.
  10. Dans l’écran Créer une authentification PolicyLabel, entrez ce qui suit, puis cliquez sur Continuer :

    Nom : manage_otp_flow_label

    Schéma de connexion : Lschema_Int

  11. Dans l’écran Étiquette de stratégie d’authentification, cliquez sur l’icône + pour créer une stratégie.

  12. Dans l’écran Créer une stratégie d’authentification, entrez les éléments suivants :

    Nom : auth_pol_ldap_otp_action

  13. Sélectionnez le type d’action à l’aide de 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 une authentification serveur LDAP, sélectionnez le bouton radio IP du serveur, désactivez la case à cocher en regard de Authentification, entrez les valeurs suivantes et 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 la page jusqu’à la section Autres paramètres . Utilisez le menu déroulant pour sélectionner les options suivantes. Attribut du nom d’ouverture de session du serveur comme Nouveau et tapez userprincipalname.
  17. Utilisez le menu déroulant pour sélectionner l’attribut de nom SSO comme Nouveau et tapez userprincipalname .
  18. Entrez « UserParameters » dans le champ secret OTP et cliquez sur Plus .
  19. Entrez les attributs suivants.

    Attribut 1 = mail Attribut 2 = ObjectGUID Attribut 3 = ImmutableID

  20. Cliquez sur OK.
  21. Dans la page Créer une stratégie d’authentification, définissez l’expression sur true et cliquez sur Créer .
  22. Dans la page Créer un libellé de stratégie d’authentification, cliquez sur Liaison, puis cliquez sur Terminé.
  23. Dans 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, 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 la page vers le bas et sélectionnez 1 schéma de connexion.
  3. Cliquez sur Ajouter une liaison.
  4. Sous la section Liaison de stratégie, cliquez sur l’icône + pour ajouter une stratégie.
  5. Dans la page Créer une stratégie de schéma de connexion d’authentification, entrez Nom en tant que OTP, puis cliquez sur l’icône + pour créer un profil.
  6. Dans la page Créer un schéma de connexion d’authentification, entrez Nom en tant que 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, entrez True . 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, puis sélectionnez Modifier.

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

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

Configurer OTP natif à l’aide de l’interface de ligne de commande

Vous devez disposer des informations suivantes pour configurer la page de gestion des périphériques OTP :

  • IP assignée au serveur virtuel d’authentification
  • Nom de domaine complet correspondant à l’adresse IP assignée
  • Certificat de serveur pour l’authentification serveur virtuel

Remarque : Native OTP est une solution basée uniquement sur le Web.

Pour configurer la page d’enregistrement et de gestion des périphériques 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

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, 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>

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

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

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"

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 de l’appareil : 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
  • Utilisation du 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 de l’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

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

Pour créer une action de validation de code d’accès 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>`

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

Important : La différence entre l’ouverture de session LDAP et l’action OTP est 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

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

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

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

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

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

Enregistrez votre appareil avec Citrix ADC

  1. Accédez à votre 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 périphérique.

    Page d'ouverture de session de passerelle

  3. Entrez un nom de périphérique et appuyez sur Aller. Un code-barres apparaît à l’écran.
  4. Cliquez sur Commencer la configuration, puis sur Scanner le code-barres .
  5. Placez la souris sur le code QR sur la caméra de l’appareil. Vous pouvez éventuellement entrer le code à 16 chiffres.

    Code QR

    Remarque : Le code QR affiché est valide pendant 3 minutes.

  6. Une fois l’analyse réussie, vous êtes présenté avec un code temporel à 6 chiffres qui peut être utilisé pour vous connecter.

    Message de réussite de l'ouverture de session

  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 entrez le code de Google Authenticator (doit être bleu, pas rouge) et cliquez sur Go.
  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’outil OTP

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

    page Authentification ADC