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.
-
Configurez un serveur virtuel d’authentification sans adresse IP. Il n’est pas obligatoire de lier un certificat au serveur virtuel d’authentification.
-
Configurez un profil d’authentification avec le nom du serveur virtuel d’authentification.
-
Configurez un serveur virtuel VPN.
-
Définissez le profil d’authentification sur ce serveur virtuel VPN.
-
Configurez une action et une stratégie WebAuth.
-
Configurez l’action et la stratégie LDAP.
-
Configurez une action de schéma de connexion pour le facteur LDAP.
-
Configurez une étiquette de stratégie pour le facteur LDAP à l’aide de l’action de schéma de connexion pour le facteur LDAP.
-
Liez la stratégie LDAP à l’étiquette de stratégie LDAP.
-
Liez la stratégie WebAuth au serveur virtuel d’authentification avec 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 satisfait à l’expression mentionnée dans le paramètre SuccessRule de l’action WebAuth, cette stratégie est acceptée.
-
NetScaler Gateway passe maintenant au second facteur. Il vérifie la configuration de l’étiquette de stratégie LDAP_Factor qui est lié comme facteur suivant. Étant donné qu’un LoginSchema est mentionné dans cette étiquette de stratégie, 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.
Configuration à l’aide de l’interface de ligne de commande
-
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.
-
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.
-
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 virtuel et cliquez sur Ajouter.
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-->
-
Configurez une action et une stratégie WebAuth.
Accédez à Appexpert > Expression > Expression avancée.
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-->
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 stratégie. Une expression de stratégie (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 stratégie 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-->
-
Configurez l’action et la stratégie LDAP pour le changement de 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.
-
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.
-
Configurez une étiquette de stratégie pour le facteur LDAP à l’aide de l’action LoginsSchema pour le facteur LDAP :
add authentication policylabel LDAP_factor -loginSchema LDAP_schema <!--NeedCopy-->
-
Liez la stratégie LDAP à l’étiquette de stratégie LDAP.
bind authentication policylabel LDAP_factor –policyName ldap_policy –priority 10 <!--NeedCopy-->
-
Liez la stratégie WebAuth au serveur virtuel d’authentification avec une étiquette de stratégie 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
Le premier facteur ici est Webauth suivi de LDAP avec l’option de changement de mot de passe activée.
-
Accédez à Sécurité > Trafic des applications AAA > Visualiseur nFactor > Flux nFactor et cliquez sur Ajouter.
-
Cliquez sur le signe + pour ajouter le flux nFactor.
-
Ajoutez un facteur. Le nom que vous entrez pour ce facteur est le nom du flux nFactor.
-
Cliquez sur Ajouter une stratégie pour ajouter la stratégie Webauth et l’action/serveur Webauth.
-
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.
-
Cliquez sur Ajouter un schéma pour ajouter le schéma de connexion pour l’authentification LDAP.
-
Cliquez sur Ajouter une stratégie pour ajouter la stratégie d’authentification LDAP et l’action/le serveur LDAP.
Pour créer une action/serveur LDAP, reportez-vous à l’articlehttps://support.citrix.com/article/CTX219939.
-
Une fois les deux facteurs configurés, vous devez lier le flux au serveur virtuel d’authentification, d’autorisation et d’audit.
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.
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