Citrix VPN

Este artículo te explica paso a paso como integrar tu VPN de Citrix con la autenticación de Ironchip, la configuración se implementará mediante radius.

 

Prerrequisitos

Antes de comenzar, debes tener lo siguiente:

-Un servidor de Windows con NPS protegido por Ironchip. Link a la guía

-Citrix VPN implementado y funcional.

Configuración de Windows server

El primer paso es crear un cliente RADIUS que apunte a la dirección IP de tu instalación de Citrix.

El firewall de tu servidor deberá tener una regla que acepte los puertos LDAP y RADIUS.

Configuración de Citrix

Radius

Una vez dentro de tu panel de configuración, ve a Citrxi Gateway > Policies > Authentication > Radius > Servers y pulsa Add para crear una nueva configuración.

Rellena la información con los datos correspondientes:

  • Nombre descriptivo para la configuración.
  • IP y puerto por los cuales se comunicara Citrix con tu servidor Radius.
  • La secret key de tu servidor Radius
  • Selecciona el protocolo de transporte y establece el Time-out a 60 segundos.

Pulsa el desplegable que dice More.

Y por último dirígete asta el final de la página, y modifica estos parámetros:

  • Establece el Password Encoding en mschapv2.
  • Authentication Server Retry en 1.
  • Asegurate de que Authentication esté marcado.

Pulsa en OK y guarda la configuración.

Cambia al apartado Policies, y crea dos nuevas políticas que apunten al servidor radius creado en el anterior punto. Copia los datos de la siguiente tabla, los nombres son opcionales, pero se recomienda utilizar los mismos para facilitar uno de los siguientes pasos.

 
Nombre Expresión
ReceiverSelfService REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver
ReceiverForWeb REQ.HTTP.HEADER User- NOTCONTAINS CitrixReceiver

LDAP

Es necesario configurar una segunda autenticación mediante LDAP, esta solo se utilizará para que citrix lea los usuarios del AD, pero no para iniciar sesión. Ve a Citrxi Gateway > Policies > Authentication > LDAP > Servers y pulsa Add para crear una nueva configuración.

Dentro de la configuración, modifica los siguientes parámetros:

  • Ponle un nombre descriptivo
  • Coloca la IP de tu servidor radius y selecciona el tipo de seguridad y el puerto LDAP (Se recomienda utilizar SSL con puerto 636)
  • Establece el tipo de servidor, coloca el time-out en 60 segundos y desactiva la opción Authentication.
  • En el apartado Connection Settings, configura tu dominio en formato (DC=, DC=) y el Administrator Bind DN, el cual se puede encontrar ejecutando el comando get-aduser <usuario> -Properties * en una terminal PowerShell y buscando el parámetro DistinguishedName.

Por último, cambia el parámetro Server Logon Name Attribute a SamaccountName. Guarda la configuración.

Cambia al apartado Policies, y crea dos nuevas políticas que apunten al servidor LDAP creado en el anterior punto. Copia los datos de la siguiente tabla, los nombres son opcionales, pero se recomienda utilizar los mismos para facilitar uno de los siguientes pasos.

Nombre Expresion
LDAP-Corp-ReceiverSelfService REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver
LDAP-Corp-ReceiverForWeb REQ.HTTP.HEADER User-Agent NOTCONTAINS CitrixReceiver

Citrix virtual server

Por último ve a la configuración de los Virtuales Servers, y edita el que aloja la VPN.

En el apartado basic autenticación, añade las 4 políticas creadas anteriormente en el orden que se muestra en la siguiente tabla.

Nombre de Politica Tipo Prioridad
LDAP-Corp-ReceiverForWeb LDAP Primary
ReceiverSelfService RADIUS Primary
LDAP-Corp-ReceiverSelfService LDAP Secondary
ReceiverForWeb RADIUS Secondary

Autenticación

Para poder utilizar Ironchip, agrega el acceso a la aplicación del panel de control creada para este servicio, y a la hora de iniciar la sesión con tus credenciales, te pedirá autenticarte mediante Ironchip después de introducir usuario más contraseña.

Problemas en la autenticación

Para solucionar problemas de autenticación, sigue el procedimiento siguiente el cual mostrara un registro completo en tiempo real:

  • Conéctate a la interfaz de línea de comandos de ADC (Application Delivery Controller) con un cliente de Secure Shell (SSH).
  • Ejecuta el siguiente comando para cambiar al indicador de comando de la shell:
    shell
  • Ejecuta el siguiente comando para cambiar al directorio /tmp:
    cd /tmp
  • Ejecuta el siguiente comando para iniciar el proceso de depuración:
    cat aaad.debug