Prise en charge OTP native pour l’authentification
Citrix ADC prend en charge les mots de passe à usage unique (OTP) sans avoir à utiliser de 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.
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 du protocole OTP natif
- 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 que 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.
Remarque : L’enregistrement de l’appareil peut être effectué à l’aide d’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é.
La figure suivante illustre le flux d’enregistrement et de gestion des appareils.
La figure suivante illustre le flux de l’utilisateur final pour la fonctionnalité OTP native.
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 ADC 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. Pour plus d’informations, voir Serveur virtuel d’authentification
- 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 Configuration de l’authentification nFactor.
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
- Accédez à Sécurité > Trafic des applications AAA > Schéma de connexion.
- Accédez à Profils et cliquez sur Ajouter.
- 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.
- Cliquez sur le dossier LoginSchema .
- Faites défiler l’écran vers le bas pour sélectionner SingleAuthManageOTP.xml et cliquez sur Sélectionner.
- Cliquez sur Créer.
- Cliquez sur Stratégies, puis sur Ajouter.
-
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 lschema_single_auth_manage_otp dans la liste.
Règle : HTTP.REQ.COOKIE.VALUE(“NSC_TASS”).EQ(“manageotp”)
Configuration du serveur virtuel d’authentification, d’autorisation et d’audit
-
Accédez à Sécurité > AAA — Trafic des applications > Serveurs virtuels d’authentification. Cliquez pour modifier le serveur virtuel existant. Pour plus d’informations, voir Serveur virtuel d’authentification
- Cliquez sur l’icône + en regard de Schemas de connexion sous Paramètres avancés dans le volet droit.
- Sélectionnez Aucun schéma de connexion.
- Cliquez sur la flèche et sélectionnez la stratégie lpol_single_auth_manage_otp_by_url, cliquez sur Sélectionner, puis sur Lier.
- Faites défiler la page vers le haut et sélectionnez 1 Stratégie d’authentification sous Stratégie d’authentification avancée .
- Cliquez avec le bouton droit sur la stratégie nFactor et sélectionnez Modifier la liaison . Cliquez avec le bouton droit sur la stratégie nFactor déjà configurée ou reportez-vous à NFactor pour en créer une et sélectionner Modifier la liaison.
- Cliquez sur la flèche située sous Sélectionner le facteur suivant pour sélectionner une configuration existante ou cliquez sur Ajouter pour créer un facteur.
-
Dans l’écran Créer une stratégie d’authentification, entrez ce qui suit et cliquez sur Continuer :
Nom : manage_otp_flow_label
Schéma de connexion : Lschema_Int
-
Sur l’écran Étiquette de stratégie d’authentification, cliquez sur Ajouter pour créer une stratégie.
Create a policy for a normal LDAP server.
-
Dans l’écran Créer une stratégie d’authentification, entrez les éléments suivants :
Nom : auth_pol_ldap_native_otp
- Sélectionnez le type d’action comme LDAP à l’aide de la liste Type d’action .
-
Dans le champ Action, cliquez sur Ajouter pour créer une action.
Create the first LDAP action with authentication enabled to be used for single factor.
-
Sur la page Créer un serveur LDAP d’authentification, sélectionnez le bouton radio IP du serveur, décochez la case à côté de Authentification, entrez les valeurs suivantes et sélectionnez Testerla connexion. Voici un exemple de configuration.
Nom : ldap_native_otp
Adresse IP : 192.168.xx.xx
DN de base : DC=Formation, DC=Lab
Administrateur : Administrator@training.lab
Mot de passe :
xxxxx
Create a policy for OTP .
-
Dans l’écran Créer une stratégie d’authentification, entrez les éléments suivants :
Nom : auth_pol_ldap_otp_action
- Sélectionnez le type d’action comme LDAP à l’aide de la liste Type d’action .
-
Dans le champ Action, cliquez sur Ajouter pour créer une action.
Create the second LDAP action to set OTP authenticator with OTP secret configuration and authentication unchecked.
-
Sur la page Créer un serveur LDAP d’authentification, sélectionnez le bouton radio IP du serveur, décochez la case à côté de Authentification, entrez les valeurs suivantes et sélectionnez Testerla connexion. Voici un exemple de configuration.
Nom : ldap_otp_action
Adresse IP : 192.168.xx.xx
DN de base : DC=Formation, DC=Lab
Administrateur : Administrator@training.lab
Mot de passe :
xxxxx
- 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.
- Utilisez le menu déroulant pour sélectionner Attribut de nom SSO comme Nouveau et saisissez userprincipalname.
- Saisissez « UserParameters » dans le champ secret OTP et cliquez sur Plus.
-
Saisissez les attributs suivants.
Attribute 1 = mail Attribute 2 = objectGUID Attribute 3 = immutableID
- Cliquez sur OK.
- Sur la page Créer une stratégie d’authentification, définissez l’expression sur true et cliquez sur Créer.
- Sur la page Créer une étiquette de stratégie d’authentification, cliquez sur Liaison, puis sur Terminé.
- Sur la page Liaison de stratégie, cliquez sur Liaison.
-
Dans la page Stratégie d’authentification, cliquez sur Fermer et cliquez sur Terminé .
Create OTP for OTP verification.
-
Dans l’écran Créer une stratégie d’authentification, entrez les éléments suivants :
Nom : auth_pol_ldap_otp_verify
- Sélectionnez le type d’action comme LDAP à l’aide de la liste Type d’action .
-
Dans le champ Action, cliquez sur Ajouter pour créer une action.
Create the third LDAP action to verify OTP.
-
Sur la page Créer un serveur LDAP d’authentification, sélectionnez le bouton radio IP du serveur, décochez la case à côté de Authentification, entrez les valeurs suivantes et sélectionnez Testerla connexion. Voici un exemple de configuration.
Nom : ldap_verify_otp
Adresse IP : 192.168.xx.xx
DN de base : DC=Formation, DC=Lab
Administrateur : Administrator@training.lab
Mot de passe :
xxxxx
- 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.
- Utilisez le menu déroulant pour sélectionner Attribut de nom SSO comme Nouveau et saisissez userprincipalname.
- Saisissez « UserParameters » dans le champ secret OTP et cliquez sur Plus.
-
Saisissez les attributs suivants.
Attribute 1 = mail Attribute 2 = objectGUID Attribute 3 = immutableID
- Cliquez sur OK.
- Sur la page Créer une stratégie d’authentification, définissez l’expression sur true et cliquez sur Créer.
- Sur la page Créer une étiquette de stratégie d’authentification, cliquez sur Liaison, puis sur Terminé.
- Sur la page Liaison de stratégie, cliquez sur Liaison.
- Dans la page Stratégie d’authentification, cliquez sur Fermer et cliquez sur Terminé .
Vous ne disposez probablement pas déjà d’une stratégie d’authentification avancée pour votre serveur LDAP normal. Changez le type d’action sur LDAP. Sélectionnez votre serveur LDAP normal, qui est celui sur lequel l’authentification est activée. Saisissez true comme expression. Cela utilise la syntaxe par défaut au lieu de la syntaxe classique. Cliquez sur Créer.
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
- Accédez à Sécurité > Trafic des applications AAA > Serveurs virtuels. Sélectionnez le serveur virtuel à modifier.
- Faites défiler l’écran vers le bas et sélectionnez 1 schéma de connexion.
- Cliquez sur Add Binding.
- Dans la section Liaison de stratégie, cliquez sur Ajouter pour ajouter une stratégie.
- Sur la page Créer une stratégie de schéma de connexion d’authentification, entrez un nom et cliquez sur Ajouter.
- Sur la page Créer un schéma de connexion d’authentification, entrez le nom et cliquez sur l’icône en forme de crayon à côté de noschema.
- Cliquez sur le dossier Loginschema, sélectionnez DualAuthManageOTP.xml, puis cliquez sur Sélectionner.
- Cliquez sur Plus et faites défiler vers le bas.
- Dans le champ Index des informations d’identification du mot de passe, entrez 1. Cela amène nFactor à enregistrer le mot de passe de l’utilisateur dans l’attribut d’authentification, d’autorisation et d’audit #1, qui peut être utilisé ultérieurement dans une stratégie de trafic pour l’authentification unique à StoreFront. Si ce n’est pas le cas, Citrix Gateway essaie d’utiliser le code secret pour s’authentifier auprès de StoreFront, ce qui ne fonctionne pas.
- Cliquez sur Créer.
- Dans la section Règle, saisissez Vrai. Cliquez sur Créer.
- Cliquez sur Bind.
- Notez les deux facteurs d’authentification. Cliquez sur Fermer, puis sur Terminé .
Stratégie de trafic pour l’authentification unique
- Accédez à Citrix Gateway > Stratégies > Trafic.
- Dans l’onglet Profils de trafic, cliquez sur Ajouter.
- Entrez le nom du profil de trafic.
-
Faites défiler vers le bas, dans la zone Expression de mot de passe SSO, entrez ce qui suit, puis cliquez sur Créer. C’est ici que nous utilisons l’attribut mot de passe du schéma de connexion spécifié pour le deuxième facteur OTP.
AAA.USER.ATTRIBUTE(1)
-
Dans l’onglet Stratégies de trafic, cliquez sur Ajouter.
-
Dans le champ Nom, entrez un nom pour la stratégie de trafic.
-
Dans le champ Demander un profil, sélectionnez le profil de trafic que vous avez créé.
-
Dans la zone Expression, saisissez True. Si votre serveur virtuel Citrix Gateway autorise un VPN complet, modifiez l’expression comme suit.
http.req.method.eq(post)||http.req.method.eq(get) && false
-
Cliquez sur Créer.
-
Liez la stratégie de trafic à un serveur virtuel VPN.
- Accédez à Sécurité > AAA - Trafic des applications > Profil d’authentification.
- Configurez le profil d’authentification en sélectionnant le serveur virtuel NetScaler Gateway, puis en cliquant sur OK.
- Accédez à Citrix Gateway > Serveurs virtuels Citrix Gateway et sélectionnez le serveur virtuel NetScaler Gateway. La page du serveur virtuel VPN s’affiche.
- Dans la section Stratégies, cliquez sur l’icône +.
- Sélectionnez le type de stratégie Trafic et cliquez sur Continuer.
- Sélectionnez la stratégie de trafic et cliquez sur Lier.
- Cliquez sur Terminé.
Configurer la stratégie de commutation de contenu pour gérer OTP
Les configurations suivantes sont requises si vous utilisez Unified Gateway.
-
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.
-
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>
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 des appareils : URL ou nom d’hôte.
Remarque :
Actuellement, l’enregistrement et la gestion des appareils ne peuvent être effectués qu’à l’aide d’un navigateur.
-
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
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
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
Pour créer une stratégie de trafic pour l’authentification unique et la lier à un serveur virtuel VPN
add vpn trafficAction vpn_html_pol http -userExpression aaa.user.attribute(1) -passwdExpression aaa.user.attribute(2)
add vpn trafficpolicy tf1 'http.req.method.eq(post)||http.req.method.eq(get) && false' vpn_html_pol
bind vpn vserver vpn1 -policy tf1 -priority 10
<!--NeedCopy-->
Enregistrez votre appareil avec Citrix ADC
- Dans votre navigateur, 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.
-
Cliquez sur l’icône + pour ajouter un appareil.
- Entrez le nom d’un appareil et appuyez sur Go. Un code-barres apparaît à l’écran.
- Cliquez sur Commencer la configuration, puis sur Scanner le code-barres.
-
Survolez le code QR avec la caméra de l’appareil. Vous pouvez éventuellement saisir le code.
Remarque :
Le code QR affiché est valide pendant 3 minutes.
-
Une fois la numérisation réussie, un code temporel à 6 chiffres vous est présenté, qui peut être utilisé pour vous connecter.
- Pour tester, cliquez sur Terminé sur l’écran QR, puis cliquez sur la coche verte à droite.
- 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.
- 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
- Accédez à votre première URL destinée au public et saisissez votre OTP depuis Google Authenticator pour vous connecter.
-
Authentifiez-vous sur la page de démarrage de Citrix ADC.
Dans cet article
- Avantages de la prise en charge du protocole OTP natif
- Workflow OTP natif
- Conditions préalables
- Configuration du protocole OTP natif à l’aide de l’interface graphique
- Configuration du protocole OTP natif à l’aide de la CLI
- Afficher la page d’enregistrement et de gestion des périphériques
- Enregistrez votre appareil avec Citrix ADC
- Connectez-vous à Citrix ADC à l’aide de l’OTP