Authentification à deux facteurs pour Citrix ADC Console

L’authentification à deux facteurs est un mécanisme de sécurité dans lequel une appliance Citrix ADC authentifie un utilisateur système à deux niveaux d’authentification. L’appliance n’autorise l’accès à l’utilisateur qu’après validation réussie des mots de passe par les deux niveaux d’authentification. Si un utilisateur est authentifié localement, le profil utilisateur doit être créé dans la base de données Citrix ADC. Si l’utilisateur est authentifié en externe, le nom d’utilisateur et le mot de passe doivent correspondre à l’identité utilisateur enregistrée sur le serveur d’authentification externe.

Remarque : La fonctionnalité d’authentification à deux facteurs fonctionne sur Citrix ADC 12.1 version 51.16 à partir.

Fonctionnement de l’authentification à deux facteurs

Envisagez un utilisateur qui tente de se connecter à une appliance Citrix ADC. Le serveur d’applications demandé envoie le nom d’utilisateur et le mot de passe au premier serveur d’authentification externe (RADIUS, TACACS, LDAP ou AD). Une fois le nom d’utilisateur et le mot de passe validés, l’utilisateur est invité à entrer un deuxième niveau d’authentification. L’utilisateur peut désormais fournir le deuxième mot de passe. Uniquement si les deux mots de passe sont corrects, l’utilisateur est autorisé à accéder à l’appliance Citrix ADC. Le diagramme ci-dessous illustre le fonctionnement de l’authentification à deux facteurs pour une appliance Citrix ADC.

image localisée

Voici les différents cas d’utilisation pour configurer l’authentification à deux facteurs pour les utilisateurs externes et système.

Configuration de l’authentification à deux facteurs pour l’accès à la gestion de Citrix ADC

Vous pouvez configurer la fonctionnalité d’authentification à deux facteurs sur une appliance Citrix ADC de différentes manières. Les scénarios de configuration sont donnés ci-dessous :

  1. Authentification à deux facteurs (2FA) sur Citrix ADC, GUI, CLI, API et SSH.
  2. Authentification externe activée et authentification locale désactivée pour les utilisateurs système.
  3. Authentification externe activée avec l’authentification locale basée sur des stratégies pour les utilisateurs système.
  4. Authentification externe désactivée pour les utilisateurs système avec l’authentification locale activée.
  5. Authentification externe activée et authentification locale activée pour les utilisateurs système.
  6. Authentification externe activée pour les utilisateurs LDAP sélectionnés

Cas 1 : Authentification à deux facteurs (2FA) sur Citrix ADC, GUI, CLI, API et SSH

L’authentification à deux facteurs est activée et disponible sur tous les accès à la gestion Citrix ADC pour l’interface graphique, l’API et SSH.

Cas 2 : L’authentification à deux facteurs est prise en charge sur les serveurs d’authentification externes tels que LDAP, RADIUS, Active Directory et TACACS

Vous pouvez configurer l’authentification à deux facteurs sur les serveurs d’authentification externes suivants pour l’authentification utilisateur de premier et de deuxième niveau.

  • RADIUS
  • LDAP
  • Active Directory
  • TACACS

Cas 3 : Authentification externe activée et authentification locale désactivée pour les utilisateurs système

Vous démarrez le processus d’authentification en activant l’option d’authentification externe et en désactivant l’authentification locale pour les utilisateurs système.

image localisée

Procédez comme suit à l’aide de l’interface de ligne de commande :

  1. Ajouter une action d’authentification pour la stratégie LDAP
  2. Ajouter une stratégie d’authentification pour la stratégie LDAP
  3. Ajouter une action d’authentification pour la stratégie RADIUS
  4. Ajouter une stratégie d’authentification pour la stratégie RADIUS
  5. Ajouter un schéma de connexion d’authentification
  6. Ajouter et lier l’étiquette de stratégie d’authentification au serveur RADIUS
  7. Lier l’authentification globale du système pour la stratégie LDAP
  8. Désactiver l’authentification locale dans le paramètre système

Ajouter une action d’authentification pour le serveur LDAP (authentification de premier niveau)

À l’invite de commandes, tapez :

add authentication ldapaction <ldap action name> -serverip <IP> -ldapbase <> -ldapbinddn <binddn name> -ldapbinddnpassword <password>-ldaploginname <loginname> -groupattrname <grp attribute name> -subAttributename <string>-ssoNameAttribute <string>

Exemple :

add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password -ldapLoginName name -groupAttrName name -subAttributeName name -ssoNameAttribute name

Ajouter une stratégie d’authentification pour le serveur LDAP (authentification de premier niveau)

À l’invite de commandes, tapez : add authentication policy <ldap policy name> -rule true -action <ldap action name>

Exemple : add authentication policy pol1 -rule true -action ldapact1

Ajouter une action d’authentification pour le serveur RADIUS (authentification de deuxième niveau)

À l’invite de commandes, tapez :

add authentication radiusaction <rad action name> -serverip <rad server ip> -radkey <key> -radVendorID <ID >-radattributetype <rad attribute type>

Exemple :

add authentication radiusaction radact1 -serverip 1.1.1.1 -radkey 123 -radVendorID 1234 -radAttributeType 2

Ajouter une stratégie d’authentification pour le serveur RADIUS (authentification de deuxième niveau)

À l’invite de commandes, tapez :

add authentication policy <radius policy name> -rule true -action <rad action name>

Exemple :

add authentication policy radpol11 -rule true -action radact11

Ajouter un schéma de connexion d’authentification

Vous pouvez utiliser le schéma de connexion « SingleAuth.xml » pour les utilisateurs système afin de fournir le deuxième mot de passe de l’appliance Citrix ADC. À l’invite de commandes, tapez :

add authentication loginSchema <login schema name> -authenticationSchema LoginSchema/SingleAuth.xml

Exemple :

add authentication loginSchema radschema -authenticationSchema LoginSchema/SingleAuth.xml

Ajouter et lier l’étiquette de stratégie d’authentification au serveur RADIUS

À l’invite de commandes, tapez :

add authentication policylabel <labelName> [-type ( AAATM_REQ | RBA_REQ )] [-comment <string>][-loginSchema <string>]

bind authentication policylabel <labelName> -policyName <string> -priority <positive_integer> [-gotoPriorityExpression <expression>][-nextFactor <string>]

Exemple :

add authentication policylabel label1 -type RBA_REQ -loginSchema radschema

bind authentication policylabel label1 -policyName rad_pol11 -priority 1

Lier le système d’authentification global pour la stratégie LDAP

À l’invite de commandes, tapez :

bind system global ldappolicy -priority <priority> -nextFactor <policy label name>

Exemple :

bind system global radpol11 -priority 1 -nextFactor label11

Désactiver l’authentification locale dans le paramètre système

À l’invite de commandes, tapez :

set system parameter -localauth disabled

Cas 4 : Authentification externe activée pour l’utilisateur système avec stratégie d’authentification locale attachée

Dans ce scénario, l’utilisateur est autorisé à ouvrir une session à l’aide de l’authentification à deux facteurs avec l’évaluation de la stratégie d’authentification locale au deuxième niveau d’identification de l’utilisateur.

image localisée

Procédez comme suit à l’aide de l’interface de ligne de commande.

  1. Ajouter une action d’authentification pour le serveur LDAP
  2. Ajouter une stratégie d’authentification pour la stratégie LDAP
  3. Ajouter une stratégie d’authentification locale
  4. Ajouter une étiquette de stratégie d’authentification
  5. Lier la stratégie LDAP en tant que système global
  6. Désactiver l’authentification locale dans le paramètre système

Ajouter une action d’authentification pour le serveur LDAP (authentification de premier niveau)

À l’invite de commandes, tapez :

add authentication ldapaction <ldap action name> -serverip <IP> -ldapbase <> -ldapbinddn <binddn name> -ldapbinddnpassword <password>-ldaploginname <loginname> -groupattrname <grp attribute name> -subAttributename <string>-ssoNameAttribute <string>

Exemple :

add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password -ldapLoginName name -groupAttrName name -subAttributeName name -ssoNameAttribute name –ssoNameAttribute name

Ajouter une stratégie d’authentification pour le serveur LDAP (authentification de premier niveau)

À l’invite de commandes, tapez :

add authentication policy <ldap policy name> -rule true -action <ldap action name>

Exemple :

add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password -ldapLoginName name -groupAttrName name -subAttributeName name -ssoNameAttribute name

Ajouter une stratégie d’authentification locale pour les utilisateurs système (authentification de deuxième niveau)

À l’invite de commandes, tapez :

add authentication radiusaction <rad action name> -serverip <rad server ip> -radkey <key> -radVendorID <ID >-radattributetype <rad attribute type

Exemple :

add authentication radiusaction radact1 -serverip 1.1.1.1 -radkey 123 -radVendorID 1234 -radAttributeType 2

Ajouter et lier l’étiquette de stratégie d’authentification

À l’invite de commandes, tapez :

add authentication policylabel <labelName> [-type ( AAATM_REQ | RBA_REQ )] [-comment <string>][-loginSchema <string>] bind authentication policylabel <labelName> -policyName <string> -priority <positive_integer> [-gotoPriorityExpression <expression>][-nextFactor <string>]

Exemple :

add authentication policylabel label1 -type RBA_REQ -loginSchema radschema bind authentication policylabel label1 -policyName rad_pol11 -priority 1

Désactiver l’authentification locale dans le paramètre système

À l’invite de commandes, tapez :

set system parameter -localauth disabled

Cas 5 : Authentification externe désactivée et authentification locale activée pour l’utilisateur système

Si l’utilisateur a désactivé « ExternalAuth », cela indique que l’utilisateur n’existe pas sur le serveur d’authentification. L’utilisateur ne sera pas authentifié auprès du serveur authentifié externe, même si l’utilisateur ayant le même nom d’utilisateur existe sur le serveur authentifié externe. L’utilisateur sera authentifié localement.

image localisée

Pour activer le mot de passe de l’utilisateur système et désactiver l’authentification externe

À l’invite de commandes, tapez ce qui suit :

add system user <name> <password> -externalAuth DISABLED

Exemple :

add system user user1 password1 –externalAuth DISABLED

Cas 6 : Authentification externe activée et authentification locale activée pour les utilisateurs système

Pour configurer l’appliance pour authentifier les utilisateurs système à l’aide d’un mot de passe local. Si cette authentification échoue, l’utilisateur est alors authentifié à l’aide d’un mot de passe d’authentification externe sur les serveurs d’authentification externes à deux niveaux.

image localisée

Pour configurer à l’aide de l’interface de ligne de commande, suivez les étapes ci-dessous :

  1. Ajouter une action d’authentification pour le serveur LDAP
  2. Ajouter une stratégie d’authentification pour la stratégie LDAP
  3. Ajouter une action d’authentification pour la stratégie RADIUS
  4. Ajouter une stratégie d’authentification pour la stratégie RADIUS
  5. Ajouter un schéma de connexion d’authentification
  6. Ajouter une étiquette de stratégie d’authentification
  7. Liaison de l’étiquette de stratégie d’authentification pour le schéma de connexion
  8. Lier le système d’authentification global pour la stratégie RADIUS1.
  9. Lier le système d’authentification global pour la stratégie LDAP

Ajouter une action d’authentification pour le serveur LDAP

À l’invite de commandes, tapez :

add authentication ldapaction <ldap action name> -serverip <IP> -ldapbase <> -ldapbinddn <binddn name> -ldapbinddnpassword <password>-ldaploginname <loginname> -groupattrname <grp attribute name> -subAttributename <>-<ssoNameAttribute>

Exemple :

add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password -ldapLoginName name -groupAttrName name -subAttributeName name -ssoNameAttribute name

Ajouter une stratégie d’authentification pour la stratégie LDAP

À l’invite de commandes, tapez :

add authentication policy <policy name> --rule true -action <ldap action name>

Exemple :

add authentication policy pol1 -rule true -action ldapact1

Ajouter une action d’authentification pour le serveur RADIUS

À l’invite de commandes, tapez :

add authentication radiusaction <rad action name> -serverip <rad server ip> -radkey <key> -radVendorID <ID >-radattributetype <rad attribute type>

Exemple :

add authentication radiusaction radact1 -serverip 1.1.1.1 -radkey 123 -radVendorID 1234 -radAttributeType 2

Ajouter une stratégie d’authentification avancée pour le serveur RADIUS

À l’invite de commandes, tapez :

add authentication policy <policy name> -rule true -action <rad action name>

Exemple :

add authentication policy radpol11 -rule true -action radact11

Ajouter un schéma de connexion d’authentification

Vous pouvez utiliser le schéma de connexion SingleAuth.xml pour afficher la page de connexion et authentifier l’utilisateur système à l’authentification de deuxième niveau.

À l’invite de commandes, tapez :

add authentication loginSchema <name> -authenticationSchema <string>

Exemple :

add authentication loginSchema radschema -authenticationSchema LoginSchema/SingleAuth.xml

Ajouter et lier l’étiquette de stratégie d’authentification à la stratégie d’authentification RADIUS pour la connexion utilisateur

À l’invite de commandes, tapez :

add authentication policylabel <labelName> [-type ( AAATM_REQ | RBA_REQ )] [-comment <string>][-loginSchema <string>]

Exemple :

add authentication policylabel label1 -type RBA_REQ -loginSchema radschema bind authentication policylabel <labelName> -policyName <string> -priority <positive_integer> [-gotoPriorityExpression <expression>][-nextFactor <string>]

Exemple :

bind authentication policylabel label1 -policyName rad_pol11 -priority 1

Stratégie d’authentification de liaison globale

À l’invite de commandes, tapez :

bind system global [<policyName> [-priority <positive_integer>] [-nextFactor <string>] [-gotoPriorityExpression <expression>]]

Exemple :

bind system global radpol11 -priority 1 -nextFactor label11

Cas 7 : Authentification externe activée uniquement pour les utilisateurs externes sélectionnés

Pour configurer des utilisateurs externes sélectifs avec authentification à deux facteurs selon le filtre de recherche configuré dans l’action LDAP tandis que d’autres utilisateurs système sont authentifiés à l’aide de l’authentification à un facteur unique.

Pour configurer à l’aide de l’interface de ligne de commande, suivez les étapes ci-dessous :

  1. Ajouter une action d’authentification pour le serveur LDAP
  2. Ajouter une stratégie d’authentification pour la stratégie LDAP
  3. Ajouter une action d’authentification pour la stratégie RADIUS
  4. Ajouter une stratégie d’authentification pour la stratégie RADIUS
  5. Ajouter un schéma de connexion d’authentification
  6. Ajouter une étiquette de stratégie d’authentification
  7. Liaison de l’étiquette de stratégie d’authentification pour le schéma de connexion
  8. Lier le système d’authentification global pour la stratégie RADIUS

Ajouter une action d’authentification pour le serveur LDAP

À l’invite de commandes, tapez :

add authentication ldapaction <ldap action name> -serverip <IP> -ldapbase <> -ldapbinddn <binddn name> -ldapbinddnpassword <password>-ldaploginname <loginname> -groupattrname <grp attribute name> -subAttributename <>-ssoNameAttribute <>

Exemple :

add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password -ldapLoginName name -groupAttrName name -subAttributeName name -ssoNameAttribute name

Ajouter une stratégie d’authentification pour la stratégie LDAP

À l’invite de commandes, tapez :

add authentication policy <policy name> --rule true -action <ldap action name>

Exemple :

add authentication policy pol1 -rule true -action ldapact1

Ajouter une action d’authentification pour le serveur RADIUS

À l’invite de commandes, tapez :

add authentication radiusaction <rad action name> -serverip <rad server ip> -radkey <key> -radVendorID <ID >-radattributetype <rad attribute type>

Exemple :

add authentication radiusaction radact1 -serverip 1.1.1.1 -radkey 123 -radVendorID 1234 -radAttributeType 2

Ajouter une stratégie d’authentification avancée pour le serveur RADIUS

À l’invite de commandes, tapez :

add authentication policy <policy name> -rule true -action <rad action name>

Exemple :

add authentication policy radpol11 -rule true -action radact11

Ajouter un schéma de connexion d’authentification

Vous pouvez utiliser le schéma de connexion SingleAuth.xml pour fournir la page de connexion permettant à l’appliance d’authentifier un utilisateur système au deuxième niveau d’authentification.

À l’invite de commandes, tapez :

add authentication loginSchema <name> -authenticationSchema <string>

Exemple :

add authentication loginSchema radschema -authenticationSchema LoginSchema/SingleAuth.xml

Ajouter et lier l’étiquette de stratégie d’authentification à la stratégie d’authentification RADIUS pour la connexion utilisateur

À l’invite de commandes, tapez :

add authentication policylabel <labelName> [-type ( AAATM_REQ | RBA_REQ )] [-comment <string>][-loginSchema <string>]

Exemple :

add authentication policylabel label1 -type RBA_REQ -loginSchema radschema bind authentication policylabel <labelName> -policyName <string> -priority <positive_integer> [-gotoPriorityExpression <expression>][-nextFactor <string>]

Exemple :

bind authentication policylabel label1 -policyName rad_pol11 -priority

Stratégie d’authentification de liaison globale

À l’invite de commandes, tapez :

bind system global [<policyName> [-priority <positive_integer>] [-nextFactor <string>] [-gotoPriorityExpression <expression>]]

Exemple :

bind system global radpol11 -priority 1 -nextFactor label11

Pour configurer sans authentification à deux facteurs pour les utilisateurs de groupe à l’aide du filtre de recherche :

  1. Ajouter une action d’authentification pour le serveur LDAP
  2. Ajouter une stratégie d’authentification pour le serveur LDAP
  3. Lier le système d’authentification global pour le serveur LDAP

Ajouter une action d’authentification pour le serveur LDAP

À l’invite de commandes, tapez :

add authentication ldapaction <ldap action name> -serverip <IP> -ldapbase <> -ldapbinddn <binddn name> -ldapbinddnpassword <password>-ldaploginname <loginname> -groupattrname <grp attribute name> -subAttributename <>-searchFilter<>

Exemple :

add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password -ldapLoginName name -groupAttrName name -subAttributeName name - searchFilter "memberOf=CN=grp4,CN=Users,DC=aaatm-test,DC=com"

Ajouter une stratégie d’authentification pour le serveur LDAP

À l’invite de commandes, tapez :

add authentication policy <policy name> --rule true -action <ldap action name>

Exemple :

add authentication policy pol1 -rule true -action ldapact1

Lier le système d’authentification global pour la stratégie LDAP

À l’invite de commandes, tapez :

bind system global ldappolicy -priority <priority> -nextFactor <policy label name>

Exemple :

bind system global radpol11 -priority 1 -nextFactor label11

Afficher un message d’invite personnalisé pour l’authentification à deux facteurs

Lorsque vous configurez le champ de mot de passe à deux facteurs avec le fichier SingleAuth.xml à l’adresse/flash/nsconfig/loginschema/LoginSchema

Voici l’extrait du fichier SingleAuth.xml où ‘SecondPassword : ‘est le deuxième nom de champ de mot de passe qui sera invité à l’utilisateur à entrer le deuxième mot de passe.

<?xml version="1.0" encoding="UTF-8"?>
<AuthenticateResponse xmlns="http://citrix.com/authentication/response/1">
<Status>success</Status>
<Result>more-info</Result>
<StateContext/>
<AuthenticationRequirements>
<PostBack>/nf/auth/doAuthentication.do</PostBack>
<CancelPostBack>/nf/auth/doLogoff.do</CancelPostBack>
<CancelButtonText>Cancel</CancelButtonText>
<Requirements>
<Requirement><Credential><ID>login</ID><SaveID>ExplicitForms-Username</SaveID><Type>username</Type></Credential><Label><Text>singleauth_user_name</Text><Type>nsg-login-label</Type></Label><Input><AssistiveText>singleauth_please_supply_either_domain\username_or_user@fully.qualified.domain</AssistiveText><Text><Secret>false</Secret><ReadOnly>false</ReadOnly><InitialValue/><Constraint>.+</Constraint></Text></Input></Requirement>
<Requirement><Credential><ID>passwd</ID><SaveID>ExplicitForms-Password</SaveID><Type>password</Type></Credential><Label><Text>SecondPassword:</Text><Type>nsg-login-label</Type></Label><Input><Text><Secret>true</Secret><ReadOnly>false</ReadOnly><InitialValue/><Constraint>.+</Constraint></Text></Input></Requirement>
<Requirement><Credential><Type>none</Type></Credential><Label><Text>singleauth_first_factor</Text><Type>nsg_confirmation</Type></Label><Input/></Requirement>
<Requirement><Credential><ID>saveCredentials</ID><Type>savecredentials</Type></Credential><Label><Text>singleauth_remember_my_password</Text><Type>nsg-login-label</Type></Label><Input><CheckBox><InitialValue>false</InitialValue></CheckBox></Input></Requirement>
<Requirement><Credential><ID>loginBtn</ID><Type>none</Type></Credential><Label><Type>none</Type></Label><Input><Button>singleauth_log_on</Button></Input></Requirement>
</Requirements>
</AuthenticationRequirements>
</AuthenticateResponse>

Configuration de l’authentification à deux facteurs à l’aide de l’interface graphique Citrix ADC

  1. Connectez-vous à l’appliance Citrix ADC.
  2. Accédez à Système > Authentification > Stratégies avancées > Stratégie.
  3. Cliquez sur Ajouter pour créer la stratégie d’authentification de premier niveau.
  4. Dans la page Créer une stratégie d’authentification, définissez les paramètres suivants.
    1. Nom. Nom de la stratégie
    2. Type d’action. Sélectionnez le type d’action comme LDAP, Active Directory, RADIUS, TACACS, etc.
    3. Action. Action d’authentification (profil) à associer à la stratégie. Vous pouvez choisir une action d’authentification existante ou cliquer sur le bouton plus et créer une action du type approprié.
    4. Expression. Fournissez une expression de stratégie avancée.
  5. Cliquez sur Créer, puis sur Fermer.
    1. Expression. Fournissez une expression de stratégie avancée.
  6. Cliquez sur Créer.
  7. Cliquez sur Ajouter pour créer la stratégie d’authentification de deuxième niveau.
  8. Dans la page Créer une stratégie d’authentification, définissez les paramètres suivants
    1. Nom. Nom de la stratégie
    2. Type d’action. Sélectionnez le type d’action comme LDAP, Active Directory, RADIUS, TACACS, etc.
    3. Action. Action d’authentification (profil) à associer à la stratégie. Vous pouvez choisir une action d’authentification existante ou cliquer sur l’icône + pour créer une action du type approprié.
    4. Expression. Fournir une expression de stratégie avancée
  9. Cliquez sur Créer, puis sur Fermer.
    1. Expression. Fournissez une expression de stratégie avancée.
  10. Cliquez sur Créer.
  11. Dans la page Stratégies d’authentification, cliquez sur Liaison globale.
  12. Dans la page Créer une liaison de stratégie d’authentification globale, sélectionnez la stratégie d’authentification de premier niveau et cliquez sur Ajouter une liaison.
  13. Dans la page Liaison de stratégie, sélectionnez la stratégie d’authentification et définissez le paramètre de liaison de stratégie suivant.
    1. Facteur suivant. Sélectionnez l’étiquette de stratégie d’authentification de deuxième niveau.
  14. Cliquez sur Lier et fermer.

    image localisée

  15. Cliquez sur Terminé.
  16. Connectez-vous à l’appliance Citrix ADC pour l’authentification de deuxième niveau. L’utilisateur peut désormais fournir le deuxième mot de passe. Uniquement si les deux mots de passe sont corrects, l’utilisateur est autorisé à accéder à l’appliance Citrix ADC.

Pour plus d’informations sur la configuration du schéma de connexion, voirPrise en charge de l’OTP natiffonctionnalité.