Citrix ADC

Autenticación de dos factores para usuarios del sistema y usuarios externos

La autenticación de dos factores es un mecanismo de seguridad en el que un dispositivo Citrix ADC autentica a un usuario del sistema en dos niveles de autenticación. El dispositivo concede acceso al usuario solo después de que se hayan validado correctamente las contraseñas mediante ambos niveles de autenticación. Si un usuario se autentica localmente, el perfil de usuario debe crearse en la base de datos Citrix ADC. Si el usuario se autentica externamente, el nombre de usuario y la contraseña deben coincidir con la identidad de usuario registrada en el servidor de autenticación externo.

Nota:

La función de autenticación de dos factores solo funciona a partir de la compilación 51.16 de Citrix ADC 12.1.

Cómo funciona la autenticación de dos factores

Supongamos que un usuario intenta iniciar sesión en un dispositivo Citrix ADC. El servidor de aplicaciones solicitado envía el nombre de usuario y la contraseña al primer servidor de autenticación externo (RADIUS, TACACS, LDAP o AD). Una vez validados el nombre de usuario y la contraseña, se le solicitará un segundo nivel de autenticación. El usuario ahora puede proporcionar la segunda contraseña. Solo si ambas contraseñas son correctas, el usuario puede acceder al dispositivo Citrix ADC. El siguiente diagrama ilustra cómo funciona la autenticación de dos factores para un dispositivo Citrix ADC.

Autenticación de dos factores

Los siguientes son los diferentes casos de uso para configurar la autenticación de dos factores para usuarios externos y del sistema.

Puede configurar la autenticación de dos factores en un dispositivo Citrix ADC de diferentes maneras. Los siguientes son los diferentes escenarios de configuración para la autenticación de dos factores en un dispositivo Citrix ADC.

  1. Autenticación de dos factores (2FA) en Citrix ADC, GUI, CLI, API y SSH.
  2. Autenticación externa habilitada y autenticación local inhabilitada para los usuarios del sistema.
  3. Autenticación externa habilitada con autenticación local basada en directivas para los usuarios del sistema.
  4. La autenticación externa está inhabilitada para los usuarios del sistema con la autenticación local habilitada.
  5. Autenticación externa habilitada y autenticación local habilitada para los usuarios del sistema.
  6. Autenticación externa habilitada para usuarios de LDAP seleccionados

Caso de uso 1: Autenticación de dos factores (2FA) en las interfaces Citrix ADC, GUI, CLI, API y SSH

La autenticación de dos factores está habilitada y disponible en todos los accesos de administración de Citrix ADC para GUI, API y SSH.

Caso de uso 2: Se admite la autenticación de dos factores en servidores de autenticación externos como LDAP, RADIUS, Active Directory y TACACS

Puede configurar la autenticación de dos factores en los siguientes servidores de autenticación externos para la autenticación de usuarios de primer y segundo nivel.

  • RADIUS
  • LDAP
  • Active Directory
  • TACACS

Caso de uso 3: autenticación externa habilitada y autenticación local inhabilitada para los usuarios del sistema

Para iniciar el proceso de autenticación, active la opción de autenticación externa e inhabilite la autenticación local para los usuarios del sistema.

Autenticación externa habilitada y autenticación local inhabilitada para los usuarios del sistema

Realice los siguientes pasos mediante la interfaz de línea de comandos:

  1. Agregar acción de autenticación para la directiva LDAP
  2. Agregar directiva de autenticación para la directiva LDAP
  3. Agregar acción de autenticación para la directiva RADIUS
  4. Agregar directiva de autenticación para la directiva RADIUS
  5. Agregar esquema de inicio de sesión de autenticación
  6. Agregar y vincular la etiqueta de directiva de autenticación al servidor RADIUS
  7. Enlazar la autenticación global del sistema para la directiva LDAP
  8. Inhabilitar la autenticación local en el parámetro del sistema

Agregar acción de autenticación para el servidor LDAP (autenticación de primer nivel)

En el símbolo del sistema, escriba:

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

Ejemplo:

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

Agregar directiva de autenticación para el servidor LDAP (autenticación de primer nivel)

En el símbolo del sistema, escriba: add authentication policy <ldap policy name> -rule true -action <ldap action name>

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

Agregar acción de autenticación para el servidor RADIUS (autenticación de segundo nivel)

En el símbolo del sistema, escriba:

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

Ejemplo:

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

Agregar directiva de autenticación para el servidor RADIUS (autenticación de segundo nivel)

En el símbolo del sistema, escriba:

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

Ejemplo:

add authentication policy radpol11 -rule true -action radact1

Agregar esquema de inicio de sesión de autenticación

Puede utilizar el esquema de inicio de sesión “SingleAuth.xml” para que los usuarios del sistema proporcionen la segunda contraseña del dispositivo Citrix ADC. En el símbolo del sistema, escriba:

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

Ejemplo:

add authentication loginSchema radschema -authenticationSchema LoginSchema/SingleAuth.xml

Agregar y vincular la etiqueta de directiva de autenticación al servidor RADIUS

En el símbolo del sistema, escriba:

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>]

Ejemplo:

add authentication policylabel label1 -type RBA_REQ -loginSchema radschema

bind authentication policylabel label1 -policyName radpol11 -priority 1

Enlazar el sistema de autenticación global para la directiva LDAP

En el símbolo del sistema, escriba:

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

Ejemplo:

bind system global pol11 -priority 1 -nextFactor label1

Inhabilitar la autenticación local en el parámetro del sistema

En el símbolo del sistema, escriba:

set system parameter -localauth disabled

Caso de uso 4: Autenticación externa habilitada para el usuario del sistema con una directiva de autenticación local adjunta

En este escenario, el usuario puede iniciar sesión en el dispositivo mediante la autenticación de dos factores con la evaluación de la directiva de autenticación local en el segundo nivel de identificación del usuario.

Autenticación externa habilitada para el usuario del sistema con la directiva de autenticación local adjunta

Complete los siguientes pasos mediante la interfaz de línea de comandos.

  1. Agregar acción de autenticación para el servidor LDAP
  2. Agregar directiva de autenticación para la directiva LDAP
  3. Agregar directiva de autenticación local
  4. Agregar etiqueta de directiva de autenticación
  5. Enlazar la directiva LDAP como global del sistema
  6. Inhabilitar la autenticación local en el parámetro del sistema

Agregar acción de autenticación para el servidor LDAP (autenticación de primer nivel)

En el símbolo del sistema, escriba:

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

Ejemplo:

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

Agregar directiva de autenticación para el servidor LDAP (autenticación de primer nivel)

En el símbolo del sistema, escriba:

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

Ejemplo:

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

Agregar una directiva de autenticación local para los usuarios del sistema (autenticación de segundo nivel)

En el símbolo del sistema, escriba:

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

Ejemplo:

add authentication policy local_policy -rule true -action LOCAL

Agregar y vincular una etiqueta de directiva de autenticación

En el símbolo del sistema, escriba:

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>]

Nota

Para el acceso de administración, el tipo de directiva debe ser RBA_REQ.

Ejemplo:

add authentication policylabel label1 -type RBA_REQ -loginSchema radschema bind authentication policylabel label1 -policyName radpol11 -priority 1 -gotoPriorityExpression NEXT

Inhabilitar la autenticación local en el parámetro del sistema

En el símbolo del sistema, escriba:

set system parameter -localauth disabled

Caso de uso 5: autenticación externa inhabilitada y autenticación local habilitada para el usuario del sistema

Si el usuario tiene la opción “externalAuth” inhabilitada, indica que el usuario no existe en el servidor de autenticación. El usuario no se autentica con el servidor de autenticación externo, incluso si existe un usuario con el mismo nombre de usuario en el servidor autenticado externo. El usuario está autenticado localmente.

Autenticación externa inhabilitada y autenticación local habilitada para el usuario del sistema

Para habilitar la contraseña de usuario del sistema y inhabilitar la autenticación externa

En el símbolo del sistema, escriba lo siguiente:

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

Ejemplo:

add system user user1 password1 –externalAuth DISABLED

Caso de uso 6: autenticación externa habilitada y autenticación local habilitada para usuarios del sistema

Para configurar el dispositivo para autenticar a los usuarios del sistema mediante una contraseña local. Si esta autenticación falla, el usuario se autentica mediante una contraseña de autenticación externa en los servidores de autenticación externos en dos niveles.

Autenticación externa habilitada y autenticación local habilitada para los usuarios del sistema

Configure los siguientes pasos mediante la CLI.

  1. Agregar acción de autenticación para el servidor LDAP
  2. Agregar directiva de autenticación para la directiva LDAP
  3. Agregar acción de autenticación para la directiva RADIUS
  4. Agregar directiva de autenticación para la directiva RADIUS
  5. Agregar esquema de inicio de sesión de autenticación
  6. Agregar etiqueta de directiva de autenticación
  7. Enlazar etiqueta de directiva de autenticación para el esquema de inicio de sesión
  8. Enlazar el sistema de autenticación global para la directiva RADIUS
  9. Enlazar el sistema de autenticación global para la directiva LDAP

Agregar acción de autenticación para el servidor LDAP

En el símbolo del sistema, escriba:

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

Ejemplo:

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

Agregar directiva de autenticación para la directiva LDAP

En el símbolo del sistema, escriba:

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

Ejemplo:

add authentication policy pol1 -rule true -action ldapact1

Agregar acción de autenticación para el servidor RADIUS

En el símbolo del sistema, escriba:

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

Ejemplo:

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

Agregar directiva de autenticación avanzada para el servidor RADIUS

En el símbolo del sistema, escriba:

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

Ejemplo:

add authentication policy radpol11 -rule true -action radact1

Agregar esquema de inicio de sesión de autenticación

Puede utilizar el esquema de inicio de sesión de SingleAuth.xml para mostrar la página de inicio de sesión y autenticar al usuario del sistema en el segundo nivel de autenticación.

En el símbolo del sistema, escriba:

add authentication loginSchema <name> -authenticationSchema <string>

Ejemplo:

add authentication loginSchema radschema -authenticationSchema LoginSchema/SingleAuth.xml

Agregar y vincular la etiqueta de la directiva de autenticación a la directiva de autenticación RADIUS para el inicio de sesión del usuario

En el símbolo del sistema, escriba:

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

Ejemplo:

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

Ejemplo:

bind authentication policylabel label1 -policyName rad pol11 -priority 1

Directiva de autenticación de enlaces global

En el símbolo del sistema, escriba:

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

Ejemplo:

bind system global radpol11 -priority 1 -nextFactor label11

Caso de uso 7: Autenticación externa habilitada solo para usuarios externos seleccionados

Para configurar usuarios externos selectivos con una autenticación de dos factores según el filtro de búsqueda configurado en la acción LDAP, mientras que los demás usuarios del sistema se autentican mediante la autenticación de un solo factor.

Configure los siguientes pasos mediante la CLI.

  1. Agregar acción de autenticación para el servidor LDAP
  2. Agregar directiva de autenticación para la directiva LDAP
  3. Agregar acción de autenticación para la directiva RADIUS
  4. Agregar directiva de autenticación para la directiva RADIUS
  5. Agregar esquema de inicio de sesión de autenticación
  6. Agregar etiqueta de directiva de autenticación
  7. Enlazar etiqueta de directiva de autenticación para el esquema de inicio de sesión
  8. Enlazar el sistema de autenticación global para la directiva RADIUS

Agregar acción de autenticación para el servidor LDAP

En el símbolo del sistema, escriba:

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

Ejemplo:

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

Agregar directiva de autenticación para la directiva LDAP

En el símbolo del sistema, escriba:

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

Ejemplo:

add authentication policy pol1 -rule true -action ldapact1

Agregar acción de autenticación para el servidor RADIUS

En el símbolo del sistema, escriba:

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

Ejemplo:

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

Agregar directiva de autenticación avanzada para el servidor RADIUS

En el símbolo del sistema, escriba:

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

Ejemplo:

add authentication policy radpol11 -rule true -action radact1

Agregar esquema de inicio de sesión de autenticación

Puede utilizar el esquema de inicio de sesión de SingleAuth.xml para proporcionar la página de inicio de sesión del dispositivo para autenticar a un usuario del sistema en un segundo nivel de autenticación.

En el símbolo del sistema, escriba:

add authentication loginSchema <name> -authenticationSchema <string>

Ejemplo:

add authentication loginSchema radschema -authenticationSchema LoginSchema/SingleAuth.xml

Agregar y vincular la etiqueta de la directiva de autenticación a la directiva de autenticación RADIUS para el inicio de sesión del usuario

En el símbolo del sistema, escriba:

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

Ejemplo:

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

Ejemplo:

bind authentication policylabel label1 -policyName radpol11 -priority

Directiva de autenticación de enlaces global

En el símbolo del sistema, escriba:

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

Ejemplo:

bind system global radpol11 -priority 1 -nextFactor label11

Para configurar sin autenticación de dos factores para los usuarios del grupo mediante el filtro de búsqueda:

  1. Agregar acción de autenticación para el servidor LDAP
  2. Agregar directiva de autenticación para el servidor LDAP
  3. Sistema de autenticación de enlaces global para el servidor LDAP

Agregar acción de autenticación para el servidor LDAP

En el símbolo del sistema, escriba:

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

Ejemplo:

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"

Agregar directiva de autenticación para el servidor LDAP

En el símbolo del sistema, escriba:

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

Ejemplo:

add authentication policy pol1 -rule true -action ldapact1

Enlazar el sistema de autenticación global para la directiva LDAP

En el símbolo del sistema, escriba:

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

Ejemplo:

bind system global pol11 -priority 1 -nextFactor label11

Mostrar un mensaje rápido personalizado para la autenticación de dos factores

Al configurar un campo de contraseña de dos factores con el archivo SingleAuth.xml en /flash/nsconfig/loginschema/LoginSchema

A continuación se muestra el fragmento de un archivo SingleAuth.xml en el que “SecondPassword:” es el segundo nombre de campo de contraseña que se pide al usuario que introduzca una segunda contraseña.

<?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>
<!--NeedCopy-->

Configuración de la autenticación de dos factores mediante la GUI de Citrix ADC

  1. Inicie sesión en el dispositivo Citrix ADC.
  2. Vaya a Sistema > Autenticación > Directivas avanzadas > Directiva.
  3. Haga clic en Agregar para crear la directiva de autenticación de primer nivel.
  4. En la página Crear directiva de autenticación, defina los siguientes parámetros.
    1. Nombre. Nombre de la directiva
    2. Tipo de acción. Seleccione el tipo de acción como LDAP, Active Directory, RADIUS, TACACS, etc.
    3. Acción. La acción de autenticación (perfil) que se va a asociar a la directiva. Puede elegir una acción de autenticación existente o hacer clic en el signo más y crear una acción del tipo adecuado.
    4. Expresión. Proporcione una expresión de directiva avanzada.
  5. Haga clic en Crear y, a continuación, en Cerrar.
    1. Expresión. Proporcione una expresión de directiva avanzada.
  6. Haga clic en Crear.
  7. Haga clic en Agregar para crear la directiva de autenticación de segundo nivel.
  8. En la página Crear directiva de autenticación, defina los siguientes parámetros:
    1. Nombre. Nombre de la directiva
    2. Tipo de acción. Seleccione el tipo de acción como LDAP, Active Directory, RADIUS, TACACS, etc.
    3. Acción. La acción de autenticación (perfil) que se va a asociar a la directiva. Puede elegir una acción de autenticación existente o hacer clic en el icono + para crear una acción del tipo adecuado.
    4. Expresión. Proporcione una expresión de directiva avanzada
  9. Haga clic en Crear y, a continuación, en Cerrar.
    1. Expresión. Proporcione una expresión de directiva avanzada.
  10. Haga clic en Crear.
  11. En la página Directivas de autenticación, haga clic en Vinculación global.
  12. En la página Crear vinulación de directiva de autenticación global, seleccione la directiva de autenticación de primer nivel y haga clic en Agregar enlace.
  13. En la página Vinculación de directivas, seleccione la directiva de autenticación y defina el siguiente parámetro de enlace de directivas.
    1. Siguiente factor. Seleccione la etiqueta de la directiva de autenticación de segundo nivel.
  14. Haga clic en Vincular y Cerrar.

    Configuración de la interfaz gráfica de usuario para la autenticación de dos factores para los usuarios del sistema

  15. Haga clic en Listo.
  16. Inicie sesión en el dispositivo Citrix ADC para realizar la autenticación de segundo nivel. El usuario ahora puede proporcionar la segunda contraseña. Solo si ambas contraseñas son correctas, el usuario puede acceder al dispositivo Citrix ADC.

Nota

El TACACS configurado para una autenticación de segundo factor no admite la autorización ni la contabilidad, incluso si se habilita con el comando “tacacsAction”. El segundo factor se utiliza únicamente para el propósito de autenticación.

Consulte también Autenticación de dos factores en el tema Autenticación nFactor de Citrix ADC .