Instalando y configurando WiKID para acceder a Citrix Web Interface con token (de software!)
Documento completito este, veremos la instalación y configuración de WiKID para autenticación de doble factor con un token de software en vez de los tradicionales de hardware (SoftToken) contra un Web Interface 5.3 de Citrix. Para ello, primero instalaremos y configuraremos WiKID que mediante una conexion LDAP se conectará a nuestro Directorio Activo y autenticará los token en el Web Interface con RADIUS, asignaremos/configuraremos el token contra un usuario de nuestro dominio y abriremos una sesión Citrix. Comentar que WiKID es un producto de pago pero tiene un precio muy bajo, lógicamente podremos utilizar este documento para configurar mediante token otros servicios.
Instalación y configuración de WiKID,
Vamos a la web oficial, nos registramos y nos descargamos WiKID Enterprise Server, podremos bajarlo en appliance virtual de VMware, o en una ISO para realizar una instalación limpia o directamente podremos instalarlo en una instalación que tengamos de un Linux mediante rpms.
En este caso yo realizaré una instalación nueva, la máquina no tiene por qué ser muy potente (1 CPU, 512Mb RAM, 2Gb HD, 1 NIC…), metemos el CD de instalación y arrancamos la máquina, para realizar una instalación nueva escribimos ‘install’.
Nos instalará una distribución CentOS 5.1, nos indicará que nos eliminará el contenido del disco duro, confirmamos “Yes”,
y continuamos el proceso de instalación de forma normal…
Establecemos la zona horaria…
Bueno, tras autenticarnos ya por fin como root debemos ejecutar “wikidctl setup”, para configurar la red.
“y” para configurar la red,
“y” para comenzar a configurar los parámetros de red,
Introducimos el nombre del equipo, la dirección IP para la red eth0 (o la que tengamos), la máscara de red, puerta de enlace, servidores DNS… confirmamos que es correcto con “y”,
Completamos las siguientes cuestiones para el certificado del equipo, no configuraremos una replicación…
Bien, importante, para arrancar los servicios de WiKID tendremos que escribir “wikidctl start”,
Ahora ya desde un equipo cualquiera de la red podremos gestionar el servidor de autenticación, previamente en nuestro servidor DNS habremos dado de alta una entrada “A” con el nombre del WiKID contra su IP 🙂
Para entrar el usuario por defecto es: WiKIDAdmin y la contraseña: 2Factor, pulsamos en “Log In”,
Nos vamos a la pestaña “Configuration” > “Create an Intermediate CA” para crear una CA intermedia en este host, requisito para continuar.
Completamos la información para generar un CSR para este servidor, pulsamos en “Generate”,
Deberemos indicar una Passphrase al certificado que será para asegurar el par de claves, esta clave será la necesaria para iniciar los servicios/demonios de WiKID! así que es muy importante.
Una vez que tenemos el CSR, lo copiamos. Pulsamos en el enlace superior (http://ca.wikidsystems.com/wikid/newcertreq.jsp)
Pegamos el CSR & “Submit for Processing”,
Copiamos el certificado que nos acaba de generar… desde —–BEGIN CERTIFICATE hasta END CERTIFICATE—–
Pegamos el certificado recien generado, introducimos la Passphrase y pulsamos en “Install Intermediate Certificate”.
Ok, perfecto, ahora debemos generar un certificado local, pulsamos en “Next: Create a localhost certificate”.
Vamos a crear un certificado localhost para permitir conexiones autorizadas y seguras con WiKID. Introducimos los datos de nuevo, necesitaremos una clave nueva para este certificado y tendremos que meter la Passphrase de la CA intermedia generada anteriormente. “Generate”!
Perfecto, tenemos que reiniciar los demonios de WiKID.
Abrimos una shell y ejecutamos “wikidctl restart”, nos pedirá la Passphrase…
Volvemos al interfaz web para configurarlo, vamos a “Domains” > “Create a New Domain”, para agregar el dominio contra el que autenticaremos a los usuarios.
Introducimos el nombre del dominio, cómo queremos verlo en el menú de opciones el resto lo dejamos por defecto. Tendremos que introducir el ‘Server Code’ que será la IP pública del dominio con formato de 12 caractéres rellenada con ‘0’ (ej para la 85.85.178.158: 085085178158). Pulsamos en “Create”,
Perfecto.
Ahora configuramos los protocolos, vamos a “Configuration” > “Enable Protocol Modules”,
Pulsamos en “Radius” para configurarlo y habilitarlo,
En principio con la configuración que trae es correcta, así que “Initialize”.
Ok,
Pues reiniciamos los servicios, otra vez desde una shell ‘wikidctl restart’.
Configuramos ahora la conexión LDAP, “Configuration” > “LDAP”,
Introducimos la clave LDAP_wauth_pass para el cliente de red y LDAP_wauth_server el código de 12 dígitos del dominio. “Enable LDAP”,
Bien.
Reiniciamos los servicios de nuevo para cargar la última configuración, ‘wikidctl restart’.
Bueno ahora por fin daremos de alta un cliente que usará para validar usuarios a través de WiKID con tokens de forma segura. Vamos a “Network Clients” > “Create a new network client”.
Le ponemos un nombre significativo que nos asocie para lo que es, en mi caso será para validar un Web Interface, indicamos su dirección IP, indicamos el protocolo Radius y el dominio nuestro, pulsamos en “Add”,
Creamos el ‘Shared Secret’ que tendremos que tener en cuenta cuando configuremos la conexión Radius en el Web Interface. “Add NC”,
Ok,
Bien ahora modificaremos un par de cosas para permitir que nuestros usuarios puedan añadirse ellos mismos a través de una URL y solicitar validación mediante Token.
Editamos en el servidor de autenticación con vi el fichero /opt/WiKID/tomcat/webapps/wikid/ADRegister.jsp
Completamos los siguientes parámetros:
directoryDomainSuffix = FQDN dominio
ldapURL = ldap://CONTROLADOR_DOMINIO_FQDN_DOMINIO:389
domainCode = Código 12 dígitos del dominio.
wikidClientPass = la clave del certificado anterior.
Perfecto! ya hemos acabado de configurar WiKID!
Configuración de Citrix Web Interface para autenticación mediante Token,
En la consola de administración del Interfaz Web de Citrix, en el sitio web XenApp o en los servicios de XenApp (donde querramos esta autenticación) escogemos “Métodos de autenticación”
Marcamos “Explícita” y vamos a “Propiedades”,
En ‘Configuración de dos factores’ indicamos ‘RADIUS’, aceptamos.
En el sitio predeterminado de la carpeta ‘conf’ de nuestro sitio web (por defecto C:inetpubwwwrootCitrixXenAppconf) creamos un fichero llamado ‘radius_secret.txt’ e introducimos el secreto que hemos configurado antes en RADIUS cómo Shared Secret.
Comprobamos que en el sitio predeterminado de nuestro sitio web (por defecto C:inetpubwwwrootCitrixXenApp) en el fichero ‘web.config’ tenemos las entradas configuradas:
RADIUS_SECRET_PATH al fichero que acabamos de configurar.
RADIUS_NAS_IDENTIFIER un identificador unico que identifique con WiKID, por ejemplo su IP o su nombre.
RADIUS_NAS_IP_ADDRESS con la IP del WiKID.
Con esto todo listo, ahora sólo queda probarlo!
Instalación de WiKID Token,
Esta será la instalación del SoftToken o Token por software (en vez de los tradicionales por hardware) llamado wikidtoken, nos lo bajamos de la web oficial de WiKID.
La instalación es simple, escogemos un idioma & “OK”,
“Next”,
“Next”,
“I accept the terms of this license agreement” & “Next”,
Path de instalación por defecto ‘%ProgramFileswikidtoken’ & “Next”,
“Next” para comenzar la instalación,
… esperamos unos segundos…
“Next”,
Si queremos iconos de acceso directo… “Next”,
Y por fín “Done”!
Con esto tendremos el software del Token instalado, nada más.
Lo abrimos por primera vez,
Nos pedirá una contraseña por seguridad para abrirlo posteriormente “Continuar”,
“Acciones” > “Crear Nuevo Dominio” para dar de alta nuestro dominio!
Introducimos los 12 dígitos del dominio nuestro & “Continuar”,
Metemos un código PIN para este dominio, “Continuar”,
Y nos dará un código.
Tenemos que introducir este código en WiKID con una cuenta del directorio activo, para ello lo que tenemis que hacer es abrir un navegador e ir a “https://SERVIDOR_WiKID/wikid/ADRegister.jsp”, introducimos los credenciales de nuestro usuario para validarlo contra LDAP y asignarle ese código. Pulsamos en “Authenticate”,
Introducimos el código del registro del Token & “Register”,
perfecto! Guillermo Puertas ya podrá autenticarse mediante Token pq ya está registrado, claro que nosotros como administradores también podremos agregar manualmente las cuentas de usuario en WiKID.
Uso de Token con Citrix Web Interface,
Y ya finalmente no queda más que probarlo!
El proceso habitual será que el usuario abra “WiKID Token Client”,
Meta la contraseña que haya puesto para abrir el wikidtoken & “Continuar”,
Elegimos el dominio que querramos & “Obtener Contraseña”,
Metemos el PIN que hemos asociado al dominio & “Continuar”,
Y esto nos dará el código que cuando querramos entrar en el Web Interfaz tengamos que introducir!
Así que lo dicho, tendremos 60 segundos para validarnos con ese código, vamos al sitio web de Citrix, introducimos nuestro usuario, contraseña, (dominio), y el PASSCODE, pulsamos en “Iniciar sesión” y ya estaría.