Doble autenticación en Citrix con PINsafe y NetScaler
En este documento veremos el despliegue del gran producto PINsafe de Swivel Secure, donde forzaremos a los usuarios que trabajen contra nuestra plataforma Citrix a que tengan una doble autenticación y se validen con su autenticación de Directorio Activo además de introducir un código OTC basado en su PIN para que ante un keylogger no puedan acceder a nuestra plataforma e intentar securizar más los accesos!!
Previo a este despliegue, tendremos que tener en nuestro entorno el appliance de PINsafe ya configurado, podremos basarnos en estos anteriores documentos donde desplegabamos el appliance o montabamos nuestra propia instalación (ojo, que si somos fan de Microsoft, lo podremos montar también en Windows! instalamos primero Apache Tomcat, descargamos PINsafe y ponemos el fichero ‘pinsafe.war’ en el directorio ‘webapps’); a parte de configurarlo inicialmente de forma básica. Continuaremos ahora pues configurando un servidor RADIUS en el appliance, permitiremos el acceso al NS para que se pueda validar y realizaremos todas las demás configuraciones en el NetScaler!
Accedemos al appliance de PINsafe, vamos a “RADIUS” > “Server”, y marcaremos “Server enabled” a “YES” para habilitar el servidor RADIUS.
Posteriormente, en “RADIUS” > “NAS” deberemos crear un nuevo NAS para que permita acceder al NetScaler, agregarems un nombre o identificador, añadiremos además la IP de la NIP (Netscaler IP) y finalmente indicaremos un secreto para utilizarlo posteriormente entre ambos dispositivos, “Apply”,
Bien, dentro de nuestro NetScaler deberemos crear un servidor y una política de autenticación RADIUS que posteriormente asociaremos a nuestro Access Gateway Enterprise. Para ello, dentro de “Access Gateway” > “Policies” > “Authentication” > “Radius” > “Servers” > “Add…”
Crearemos el servidor RADIUS contra el que validaremos esta segunda autenticación, indicamos un nombre y especificamos la IP del appliance de PINsafe además del secreto que dimos de alta al generar el NAS dentro del appliance. “Create”,
Definimos la política para aplicarla desde “Policies” > “Add…”,
Indicamos un nombre a la política, añadimos el servidor de RADIUS que acabamos de crear, y añadimos la expresión ‘ns_true’ a ‘True value’.
Editamos nuestro Virtual Server de Access Gateway y deberemos agregar la política recién creada como secundaria, para ello, en “Authentication” > “Second…” y agregaremos la política para que ataque al RADIUS del PINsafe. “OK”.
Ahora continuaremos, primero nos bajaremos los archivos para editar el interfaz de nuestro CAG y poder introducirle los cambios, para poder ver el botón de visualizar la imagen. Tendremos en cuenta que necesitaremos acceder desde el exterior de la organización al servidor de PINsafe, basicamente cuando utilicemos las imágenes Single Channel Images, como por ejemplo las TURing imageo el PINpad, siempre podremos probar accediendo a la siguiente URL: ‘https://URL_PINSAFE_SERVER:8080/pinsafe/SCImage?username=pruebaaaa’.
Bueno, nos bajamos los archivos de la template, seleccionaremos los que necesitemos dependiendo de la versión de nuestro CAGEE:- Para CAGEE 8.x a 9.1 – AKI.
– Para CAGEE 9.2 – AKI.
– Para CAGEE 9.3 – AKI.
– Para CAGEE 10.x – AKI.
Editamos el fichero “pinsafe.js” y modificamos el parámetro ‘sURL’ a la URL correcta y pública de nuestro appliance de PINsafe.
Realizaremos previamente un backup de los archivos de nuestro NetScaler, accedemos por putty o local a su ‘shell’ y:
cd /netscaler/ns_gui/vpn cp index.html index.html.bak cd /netscaler/ns_gui/vpn/resources mkdir bak cp *.xml bak
Lo siguiente, será modificar en nuestra plantilla de idioma el código que queremos que ponga a los usuarios, en vez de ‘Password 2:’ podríamos poner ‘OTC:’ o ‘PIN:’ para hacer más intuitiva la entrada a nuestros users, accedemos a ‘/netscaler/ns_gui/vpn/resources’, editaremos el fichero de nuestro idioma, a mí me vale con edicar ‘es.xml’.
Buscamos las siguientes entradas y ponemos el texto que nos interese:
<String id="Password">Contraseña AD</String> <String id="Password2">OTC:</String>
Copiamos ya los archivos recién bajados (index.html y pinsafe.js) a ‘/netscaler/ns_gui/vpn/’
Para hacer los cambios permanentes en el NetScaler y que cuando se reinicie no se pierdan los cambios, deberemos primero, copiar los archivos modificados (index.html, pinsafe.js y en mi caso el es.xml) a un volumen no volátil del appliance, por ejemplo a /var; y luego editaremos ‘/nsconfig/rc.netscaler’ añadiendo los comandos necesarios para que los copie tras su reinicio!
Confirmamos y veremos cómo accedemos al portal de Access Gateway y ya disponemos el segundo campo para introducir el código OTC que generemos cada vez basándonos en nuestro PIN! Como os podréis imaginar esto es el principio de mejorar cualquier solución, claro que el código lo podríamos enviar por SMS, mail, app de móvil PINsafe… os recuerdo que es un producto que tiene las primeras 5 licencias gratuitas, para probarlo o entornos demo, y posteriormente con ir agregando licencias, entrarán más usuarios mediante PINsafe y doble autenticación!!!
Si necesitamos más información, aquí tenemos algunos documentos oficiales:- Swivel Secure PINsafe con CAGEE 10.x
– Swivel Secure PINsafe con CAGEE 9.x
– Swivel Secure PINsafe con CAGEE 8.x