Autenticación de dos factores para Citrix ADC Console

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 la validación correcta de las contraseñas por 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, entonces, 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 funciona en Citrix ADC 12.1 compilación 51.16 en adelante.

Cómo funciona la autenticación de dos factores

Considere un usuario que 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 solicita al usuario el segundo nivel de autenticación. Ahora el usuario puede proporcionar la segunda contraseña. Solo si ambas contraseñas son correctas, el usuario puede acceder al dispositivo Citrix ADC. El siguiente diagrama es una ilustración de cómo funciona la autenticación de dos factores para un dispositivo Citrix ADC.

Imagen localizada

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

Configuración de la autenticación de dos factores para el acceso a la administración de Citrix ADC

Puede configurar la función de autenticación de dos factores en un dispositivo Citrix ADC de diferentes maneras. Los escenarios de configuración se dan a continuación:

  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. Autenticación externa inhabilitada para usuarios del sistema con 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 LDAP seleccionados

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

La autenticación de dos factores está habilitada y disponible en todo el acceso de administración de Citrix ADC para GUI, API y SSH.

Caso 2: La autenticación de dos factores se admite 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 usuario de primer nivel y segundo nivel.

  • RADIUS
  • LDAP
  • Active Directory
  • TACOS

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

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

Imagen localizada

Complete 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 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 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 radact11

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 para el 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 rad_pol11 -priority 1

Unir 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 radpol11 -priority 1 -nextFactor label11

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

En el símbolo del sistema, escriba:

set system parameter -localauth disabled

Caso 4: Autenticación externa habilitada para el usuario del sistema con 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 directivas de autenticación local en el segundo nivel de identificación de usuario.

Imagen localizada

Complete los pasos siguientes 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 directiva LDAP
  3. Agregar directiva de autenticación local
  4. Agregar etiqueta de directiva de autenticación
  5. Vincular 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 directiva de autenticación local para usuarios del sistema (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 y vincular 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>]

Ejemplo:

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

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

En el símbolo del sistema, escriba:

set system parameter -localauth disabled

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

Si el usuario tiene “externalAuth” inhabilitado, este usuario no existe en el servidor de autenticación. El usuario no se autenticará con el servidor autenticado externo incluso si existe el usuario con el mismo nombre de usuario en el servidor autenticado externo. El usuario será autenticado localmente.

Imagen localizada

Para habilitar la contraseña de usuario del sistema e 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 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 se produce un error en esta autenticación, el usuario se autentica mediante una contraseña de autenticación externa en los servidores de autenticación externos en dos niveles.

Imagen localizada

Para configurar utilizando la interfaz de línea de comandos, siga los pasos que se indican a continuación:

  1. Agregar acción de autenticación para el servidor LDAP
  2. Agregar directiva de autenticación para 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. Etiqueta de directiva de autenticación de enlace para el esquema de inicio de sesión
  8. Unir el sistema de autenticación global para la directiva RADIUS
  9. Unir 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 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 radact11

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

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

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 directiva de autenticación a la directiva de autenticación RADIUS para iniciar sesión de 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

Política de autenticación de enlace 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 7: Autenticación externa habilitada solo para usuarios externos seleccionados

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

Para configurar utilizando la interfaz de línea de comandos, siga los pasos que se indican a continuación:

  1. Agregar acción de autenticación para el servidor LDAP
  2. Agregar directiva de autenticación para 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. Etiqueta de directiva de autenticación de enlace para el esquema de inicio de sesión
  8. Unir 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 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 radact11

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

Puede utilizar el esquema de inicio de sesión SingleAuth.xml para proporcionar la página de inicio de sesión para que el dispositivo autentique a un 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 directiva de autenticación a la directiva de autenticación RADIUS para iniciar sesión de 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

Política de autenticación de enlace 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 usuarios de 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. Unir el sistema de autenticación 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

Unir 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 radpol11 -priority 1 -nextFactor label11

Mostrar mensaje personalizado de solicitud para la autenticación de dos factores

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

A continuación se presenta el fragmento de archivo singleAuth.xml donde ‘secondPassword: ‘es el nombre del campo de la segunda contraseña que se le pedirá al usuario que introduzca la 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>

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, establezca 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 asociará con la directiva. Puede elegir una acción de autenticación existente o hacer clic en el signo más y crear una nueva acción del tipo adecuado.
    4. Expresión. Proporcione una expresión de política avanzada.
  5. Haga clic en Crear y, a continuación, en Cerrar.
    1. Expresión. Proporcione una expresión de política 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, establezca 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 asociará con 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. Proporcionar una expresión de política avanzada
  9. Haga clic en Crear y, a continuación, en Cerrar.
    1. Expresión. Proporcione una expresión de política avanzada.
  10. Haga clic en Crear.
  11. En la página Directivas de autenticación, haga clic en Enlace global.
  12. En la página Crear enlace 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 Enlace de directivas, seleccione la directiva de autenticación y establezca el siguiente parámetro de enlace de directivas.
    1. Siguiente factor. Seleccione la etiqueta de directiva de autenticación de segundo nivel.
  14. Haga clic en Aceptar y Cerrar.

    Imagen localizada

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

Para obtener más información acerca de la configuración del esquema de inicio de sesión, consulte la función Soporte OTP nativo.