ADC
Merci pour vos commentaires

Ce article a été traduit automatiquement. (Clause de non responsabilité)

Configurer SMS OTP pour l’authentification Web

NetScaler peut désormais être intégré à un fournisseur de SMS tiers pour fournir un niveau d’authentification supplémentaire.

L’appliance NetScaler peut être configurée pour envoyer un OTP sur le mobile de l’utilisateur en tant que deuxième facteur d’authentification. L’appliance présente à l’utilisateur un formulaire d’ouverture de session pour entrer dans l’OTP après une connexion AD réussie. Ce n’est qu’après la validation réussie de l’authentification OTP par SMS que l’utilisateur reçoit la ressource demandée.

Pour réaliser l’authentification OTP par SMS, l’appliance NetScaler s’appuie sur les facteurs suivants dans le back-end.

  1. Authentifiez l’utilisateur à l’aide de l’authentification LDAP et extrayez le numéro de téléphone portable de l’utilisateur.
  2. Créez OTP et stockez-le dans la variable NS. Configuration et utilisation de variables.
  3. Envoyez l’OTP via la méthode d’authentification WebAuth au numéro de téléphone portable extrait de LDAP.
  4. Validez l’OTP.

Pré-requis

Activer les fonctionnalités et ajouter SNIP

Exécutez les commandes suivantes pour activer les fonctionnalités requises pour cette configuration :

enable ns feature LB SSL SSLVPN AAA add ns ip <SNIP-IP> <subnet mask> -type SNIP

Configurer le magasin OTP

Les administrateurs doivent configurer une base de données/un magasin pour enregistrer les OTP utilisés pour l’authentification par SMS.

La plage de configuration recommandée pour le paramètre expires (expiration OTP) est comprise entre 30 et 180 secondes. Toute valeur en dehors de cette plage peut entraîner l’échec de la configuration OTP SMS et du flux nFactor.

add ns variable otp_store -type "map(text(65),text(6),100000)" -ifValueTooBig undef -ifNoValue undef -expires 60

Générer un OTP aléatoire par session utilisateur

Utilisez la commande suivante pour générer un OTP aléatoire à 6 chiffres par session utilisateur et enregistrez-le dans le magasin OTP.

add ns assignment generate_otp -variable "$otp_store[AAA.USER.SESSIONID]" -set ("000000" + SYS.RANDOM.MUL(1000000).TYPECAST_UNSIGNED_LONG_AT.TYPECAST_TEXT_T).SUFFIX(6)

Configurer l’authentification OTP par SMS avec NetScaler

  • Avant de configurer la fonctionnalité d’authentification à deux facteurs par SMS, vous devez configurer une authentification LDAP sur une appliance NetScaler comme premier facteur avec l’authentification activée. Pour obtenir des instructions sur la configuration de l’authentification LDAP, reportez-vous à la section Pour configurer l’authentification LDAP à l’aide de l’utilitaire de configuration.

  • Configurez LDAP et extrayez le numéro de téléphone portable à utiliser pour l’authentification OTP par SMS.

Exemple de configuration du premier facteur

Configurez LDAP comme premier facteur d’authentification.

add authentication ldapAction ldap_extraction_action -serverIP <IP_Adress> -ldapBase OU=Sanity,dc=aaa,dc=local -ldapBindDn administrator@aaa.local -ldapBindDnPassword <password> -ldapLoginName samaccountname -groupAttrName memberof -subAttributeName CN -authentication disabled add authentication Policy ldap_extraction_policy -rule true -action ldap_extraction_action

Remarque

Le numéro de téléphone portable peut être extrait à AAA.USER.ATTRIBUTE(1)l’aide et peut être inclus lors de son envoi au serveur principal.

Exemple de configuration du deuxième facteur

À l’aide de l’exemple de configuration suivant, un OTP qui doit être envoyé à l’utilisateur final est généré.

add authentication Policy set_otp -rule true -action generate_otp add authentication policylabel set_otp_label -loginSchema LSCHEMA_INT bind authentication policylabel set_otp_label -policyName set_otp -priority 1 add authentication Policy cascade_noauth -rule true -action NO_AUTHN

Stratégie et action en matière d’authentification Web

Configurez maintenant l’action d’authentification Web pour envoyer l’OTP à tout expéditeur de SMS tiers avec le numéro de mobile extrait de la stratégie LDAP.

Vérifiez l’OTP et envoyez l’OTP généré à un fournisseur de SMS tiers ou à tout serveur Web tel que configuré ci-dessous :

add policy expression otp_exp_post ""Message: OTP is " + $otp_store[AAA.USER.SESSIONID] + " for login into secure access gateway. Valid till EXPIRE_TIME. Do not share the OTP with anyone for security reasons&Mobile:" + AAA.USER.ATTRIBUTE(1)" add authentication webAuthAction sms_post -serverIP <web_application_ip> -serverPort 80 -fullReqExpr q{"POST /MyPHP/auth.php HTTP/" + http.req.version.major + "." + http.req.version.major + "\r\nAccept:\*/\*\r\nHost: <web_application_ip> \r\nContent-Length:100\r\n\r\n" + otp_exp_post} -scheme http -successRule true add authentication Policy post_wpp -rule true -action sms_post

Vérifiez l’OTP

Ajoutez la stratégie et l’étiquette de stratégie suivantes pour vérifier si l’OTP existe pour la session utilisateur :

add authentication policylabel check_otp_label -loginSchema LSCHEMA_INT add authentication Policy check_otp -rule "$otp_store.valueExists(AAA.USER.SESSIONID)" -action NO_AUTHN

Vérification OTP en comparant la valeur fournie par l’utilisateur et la valeur de stockage OTP

Exécutez les commandes suivantes pour vérifier l’OTP en comparant la valeur fournie par l’utilisateur et la valeur de stockage OTP :

add authentication loginSchema onlypassword -authenticationSchema "/nsconfig/loginschema/LoginSchema/OnlyPassword.xml" add authentication policylabel otp_verify_label -loginSchema onlypassword add authentication Policy otp_verify -rule "AAA.LOGIN.PASSWORD.EQ($otp_store[AAA.USER.SESSIONID])" -action NO_AUTHN

Liez la stratégie à l’étiquette de la stratégie d’authentification

bind authentication policylabel set_otp_label -policyName cascade_noauth -priority 2 -gotoPriorityExpression NEXT -nextFactor check_otp_label bind authentication policylabel check_otp_label -policyName post_wpp -priority 1 -gotoPriorityExpression NEXT -nextFactor otp_verify_label bind authentication policylabel otp_verify_label -policyName otp_verify -priority 1 -gotoPriorityExpression NEXT

Création d’un serveur virtuel d’authentification et d’un serveur virtuel d’équilibrage de charge

add authentication vserver avs SSL <ipadresss> 443 add ssl certKey aaa_local -cert aaatm_wild.cer -key aaatm_wild.key bind ssl vserver avs -certkeyName aaa_local bind authentication vserver avs -policy ldap_extraction_policy -priority 1 -nextFactor set_otp_label -gotoPriorityExpression NEXT add lb vserver lb HTTP <ip_adresss> 80 -persistenceType NONE -cltTimeout 180 -AuthenticationHost <auth_server> -Authentication ON add service svc <Ip_adresss> HTTP 80 bind lb vserver lb svc

Remarque :

La stratégie d’authentification en cascade a été ajoutée pour permettre une authentification fiable et continue pour les utilisateurs finaux. Si le facteur actuel échoue, le facteur suivant est évalué de telle sorte qu’il n’y ait aucun impact sur l’expérience utilisateur.

La version officielle de ce document est en anglais. Certains contenus de la documentation Cloud Software Group ont été traduits de façon automatique à des fins pratiques uniquement. Cloud Software Group n'exerce aucun contrôle sur le contenu traduit de façon automatique, qui peut contenir des erreurs, des imprécisions ou un langage inapproprié. Aucune garantie, explicite ou implicite, n'est fournie quant à l'exactitude, la fiabilité, la pertinence ou la justesse de toute traduction effectuée depuis l'anglais d'origine vers une autre langue, ou quant à la conformité de votre produit ou service Cloud Software Group à tout contenu traduit de façon automatique, et toute garantie fournie en vertu du contrat de licence de l'utilisateur final ou des conditions d'utilisation des services applicables, ou de tout autre accord avec Cloud Software Group, quant à la conformité du produit ou service à toute documentation ne s'applique pas dans la mesure où cette documentation a été traduite de façon automatique. Cloud Software Group ne pourra être tenu responsable de tout dommage ou problème dû à l'utilisation de contenu traduit de façon automatique.
Configurer SMS OTP pour l’authentification Web