ADC

Configurer nFactor pour NetScaler Gateway avec WebAuth comme premier facteur et LDAP avec changement de mot de passe comme deuxième facteur

Les étapes de haut niveau suivantes concernent la configuration de nFactor pour NetScaler Gateway avec WebAuth comme premier facteur et LDAP avec changement de mot de passe comme second facteur.

  1. Configurez un serveur virtuel d’authentification sans adresse IP. Il n’est pas obligatoire de lier un certificat au serveur virtuel d’authentification.

  2. Configurez un profil d’authentification avec le nom du serveur virtuel d’authentification.

  3. Configurez un serveur virtuel VPN.

  4. Définissez le profil d’authentification sur ce serveur virtuel VPN.

  5. Configurez une action et une politique WebAuth.

  6. Configurez l’action et la politique LDAP.

  7. Configurez une action de schéma de connexion pour le facteur LDAP.

  8. Configurez une étiquette de politique pour le facteur LDAP à l’aide de l’action du schéma de connexion pour le facteur LDAP.

  9. Liez la stratégie LDAP à l’étiquette de stratégie LDAP.

  10. Liez la politique WebAuth au serveur virtuel d’authentification en utilisant une étiquette de stratégie LDAP comme facteur suivant.

Fonctionnement

  • L’utilisateur saisit le nom de domaine complet de NetScaler Gateway dans le navigateur et est redirigé vers la page /logon/logonpoint/tmindex.html.

  • Cette page affiche le schéma de connexion lié à un serveur virtuel d’authentification. S’il n’existe aucun schéma de connexion lié à un serveur virtuel d’authentification (comme dans notre configuration), un schéma par défaut s’affiche.

  • L’utilisateur saisit les informations d’identification pour le premier facteur, qui dans ce cas est WebAuth.

  • NetScaler Gateway vérifie l’action WebAuth et contacte le serveur WebAuth. Il envoie la requête HTTP mentionnée dans le paramètre FullReqExpr au serveur WebAuth. Si la réponse du serveur WebAuth répond à l’expression mentionnée dans le paramètre SuccessRule de l’action WebAuth, cette politique est adoptée.

  • NetScaler Gateway passe maintenant au second facteur. Il vérifie la configuration de l’étiquette de politique LDAP_Factor qui est liée en tant que facteur suivant. Comme un LoginSchema est mentionné dans cette étiquette de politique, NetScaler Gateway envoie ce schéma XML au client.

  • Le client reçoit le schéma et saisit les informations d’identification LDAP pour l’authentification à second facteur.

  • NetScaler Gateway essaie d’accéder au serveur LDAP et vérifie si les informations d’identification du client sont correctes. S’ils sont corrects, la phase d’authentification se termine et l’utilisateur se connecte au mode VPN configuré.

La figure suivante montre une séquence d’authentification nFactor dans laquelle le premier facteur est WebAuth et le second est LDAP.

Nfactor-auth-sequence

Configuration à l’aide de l’interface de ligne de commande

  1. Configurez un serveur virtuel d’authentification.

    add authentication vserver auth1 ssl
    <!--NeedCopy-->
    

    Dans l’interface graphique, accédez à Sécurité > AAA - Trafic d’applications > Serveur virtuel et cliquez sur Ajouter.

    Ajouter un serveur virtuel d'authentification

  2. Configurez un profil d’authentification.

    add authnProfile auth_profile –authnVsname auth1
    <!--NeedCopy-->
    

    Dans l’interface graphique, accédez à Sécurité > AAA - Trafic d’applications > Profil d’authentification et cliquez sur Ajouter.

    Créer un profil d'authentification

  3. Configurez un serveur virtuel VPN.

    add vpn vserver vpn1 ssl 10.1.1.1 443
    
    add ssl certkey ckp –cert test.cer –key test.key
    
    bind ssl vserver vpn1 –certKey ckp
    <!--NeedCopy-->
    

    Accédez àNetScaler Gateway > Serveur virtuelet cliquez sur Ajouter.

    Ajouter un serveur virtuel VPN

    Une fois le serveur virtuel VPN créé, liez le certificat à celui-ci.

    Définissez le profil d’authentification sur le serveur virtuel VPN

    set vpn vserver vpn1 –authnProfile auth_profile
    <!--NeedCopy-->
    

    définir le profil d'authentification

  4. Configurez une action et une politique WebAuth.

    Accédez à Appexpert > Expression > Expression avancée.

    Configuration de la politique d'authentification Web

    add policy expression post_data ""myusername=" +
    
    http.REQ.BODY(3000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("login=").BEFORE_STR("&") + "&mypassword=" +
    
    http.REQ.BODY(3000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("passwd=")"
    <!--NeedCopy-->
    

    Créer une expression

    add policy expression length_post_data "("myusername=" +
    
    http.REQ.BODY(1000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("login=").BEFORE_STR("&") + "&mypassword=" +
    
    \http.REQ.BODY(1000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("passwd=")).length"
    <!--NeedCopy-->
    

    Configuration de Nfactor à l’aide de l’interface de ligne de commande :

    add authentication webAuthAction webAuth_action -serverIP 10.102.39.132 -serverPort 443 -fullReqExpr q{"POST /customAuth.aspx HTTP/" + http.req.version.major + "." + http.req.version.minor + "\r\nAccept: \*/\*\r\nHost: 10.102.39.132\r\nUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)\r\nContent-Type: application/x-www-form-urlencoded\r\n" + "Content-Length: " + length_post_data + "\r\nConnection: Keep-Alive\r\n\r\n" + post_data} -scheme https -successRule "http.RES.STATUS.EQ(200)"
    
    add authentication policy webAuth_policy –rule TRUE –action webAuth_action
    <!--NeedCopy-->
    

    L’action WebAuth configurée précédemment utilise deux expressions de politique. Une expression de politique (post_data) crée le corps POST. L’autre (length_post_data) calcule la longueur du corps POST, qui est utilisé pour renseigner l’en-tête Content-Length dans la requête POST.

    L’expression de politique qui crée le corps POST analyse la demande de connexion et extrait le nom d’utilisateur et le mot de passe saisis par l’utilisateur. Il crée ensuite le corps POST dans le format attendu par le serveur WebAuth, en utilisant le nom d’utilisateur et le mot de passe extrait de la demande de connexion.

    Enfin, l’action WebAuth crée la demande ci-dessous, qui est envoyée au serveur WebAuth.

    POST /customAuth.aspx HTTP/1.1
    Accept: \*/\*
    Host: 10.102.39.132
    Accept-Language: en-US
    User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
    Content-Type: application/x-www-form-urlencoded
    Content-Length:43
    Connection: Keep-Alive
    
    myusername=test_user&mypassword=test_passwd
    <!--NeedCopy-->
    
  5. Configurez l’action et la politique LDAP pour la modification du mot de passe.

    add authentication ldapAction ldap_action -serverIP 10.102.39.133 -serverPort 636 -secType SSL -ldapBase "dc=domain,dc=com" -ldapBindDn administrator -ldapBindDnPassword password -ldapLoginName samAccountName -passwdChange ENABLED
    add authentication policy ldap_policy –rule TRUE –action ldap_action
    <!--NeedCopy-->
    

    L’action LDAP est configurée avec —PasswdChange ENABLED, qui permet à l’utilisateur de modifier le mot de passe après la connexion au VPN.

  6. Configurez une action LoginSchema pour le facteur LDAP.

    add authentication loginSchema LDAP_schema -authenticationSchema /nsconfig/loginschema/LoginSchema/SingleAuth.xml
    <!--NeedCopy-->
    

    Le facteur LDAP nécessite un nom d’utilisateur et un mot de passe de la part de l’utilisateur final. Le formulaire de connexion affiché à l’utilisateur final doit comporter un champ de nom d’utilisateur et de mot de passe.

    NetScaler possède quelques XML LoginSchema par défaut qui se trouvent à l’emplacement /nsconfig/ LoginSchema/LoginSchema sur le shell NetScaler. Vous pouvez utiliser l’un des fichiers XML LoginSchema par défaut présents à l’emplacement précédent.

  7. Configurez une étiquette de politique pour le facteur LDAP à l’aide de l’action LoginSchema pour le facteur LDAP :

    add authentication policylabel LDAP_factor -loginSchema LDAP_schema
    <!--NeedCopy-->
    
  8. Liez la stratégie LDAP à l’étiquette de stratégie LDAP.

    bind authentication policylabel LDAP_factor –policyName ldap_policy –priority 10
    <!--NeedCopy-->
    
  9. Liez la politique WebAuth au serveur virtuel d’authentification avec une étiquette de politique LDAP comme facteur suivant.

    bind authentication vserver auth1 –policy webAuth_policy –nextFactor LDAP_factor –priority 10
    <!--NeedCopy-->
    

    La configuration nFactor précédente peut également être effectuée à l’aide du visualiseur nFactor dans NetScaler, disponible à partir de la version 13.0 du microprogramme.

Configuration à l’aide de nFactor Visualizer

Représentation de la configuration dans le visualiseur nfactor

Le premier facteur ici est Webauth suivi de LDAP avec l’option de changement de mot de passe activée.

  1. Accédez à Sécurité > Trafic des applications AAA > Visualiseur nFactor > Flux nFactor et cliquez sur Ajouter.

  2. Cliquez sur le signe + pour ajouter le flux nFactor.

    Ajouter un flux nFactor

  3. Ajoutez un facteur. Le nom que vous entrez pour ce facteur est le nom du flux nFactor.

    Nom du flux nFactor

  4. Cliquez sur Ajouter une politique pour ajouter la politique Webauth et l’action/le serveur Webauth.

    Cliquez sur Ajouter une politique

    Choisissez une politique

    Créer une politique d'authentification

  5. Cliquez sur le signe vert + pour ajouter le facteur suivant, à savoir l’authentification LDAP avec l’option de modification du mot de passe activée.

    Ajoutez le facteur suivant qui est LDAP

  6. Cliquez sur Ajouter un schéma pour ajouter le schéma de connexion pour l’authentification LDAP.

    Ajouter un schéma pour l'authentification LDAP

  7. Cliquez sur Ajouter une politique pour ajouter la politique d’authentification LDAP et l’action/le serveur LDAP.

    Ajouter une politique pour l'authentification LDAP

    Pour créer une action/un serveur LDAP, consultez l’article. https://support.citrix.com/article/CTX219939

  8. Une fois les deux facteurs configurés, vous devez lier le flux au serveur virtuel d’authentification, d’autorisation et d’audit.

    Cliquez sur Lier au serveur d'authentification

    sélectionnez le facteur et établissez une liaison avec le serveur d'authentification

Débogage — Journaux et compteurs

Les journaux s’affichent après une connexion réussie avec WebAuth et LDAP. Pour consulter la plupart des journaux suivants, définissez le niveau du journal d’audit sur TOUS, afin qu’il affiche également les journaux de débogage.

set audit syslogparams –loglevel ALL
<!--NeedCopy-->

Remarque : Les horodatages sont supprimés des journaux par souci de concision.

Journaux d'échantillons

Les compteurs suivants sont incrémentés après une connexion réussie avec WebAuth et LDAP.

  • pcp_hits authn (WebAuth_Policy)
  • aaa_tot_webauth_primary_auth
  • aaa_tot_webauth_prim_auth_success
  • aaa_tot_webauth_prim_succ_check_thru
  • pcp_hits authn (WebAuth_Policy)
  • pcp_hits authn (ldap_policy)
  • aaa_auth_succ
Configurer nFactor pour NetScaler Gateway avec WebAuth comme premier facteur et LDAP avec changement de mot de passe comme deuxième facteur