Citrix NetScaler Gateway amb OTP (One Time Password)

Bo, feia temps que volia deixar-vos aquest post, on veurem com habilitar una de les grans novetats de Citrix NetScaler 12, que és la possibilitat d'utilitzar autentificacions de tipus OTP (One Time Password) o contrasenya d'un sol ús de manera nativa i sense haver de dependre de fabricants de tercers!

 

 

 

Desde la versión NetScaler 12.0 FR1 y si tenemos la versión Enterprise o Platinum, tendremos totalmente integrada la posibilidad de habilitar y configurar el requerir de un doble factor de autenticación OTP. Podremos hacer que los usuarios con su dispositivo móvil y mediante la app de Google Authenticator tengan que proporcionar para entrar en nuestro portal corporativo a parte de su contraseña una clave aleatoria OTP, y así aseguraremos que entra quien queremos en nuestra empresa y a ningún usuario le han robado su contraseña.

 

En este documento veremos todos los pasos necesarios, crearemos además un vServer para que los usuarios primeramente registren su dispositivo (usarán este Portal cada vez que quieran registrar un nuevo dispositivo). També verem les configuracions necessàries per habilitar en nou Gateway dicha autenticació OTP.

 

Tendremos en compte que actualment Citrix Receiver no lo soporta, si no que serà d'ús exclusiu (per ara) amb navegador web, així que l'usuari haurà de descarregar l'aplicació de Google Authenticator (per exemple) i registrarse per després ja poder accedir de forma habitual a su portal d'aplicacions o escritorios, validándose con su contraseña de siempre y el código aleatorio generado que obtenga de la app.

 

Important, antes de empezar, asegúrate que tienes el servicio de hora NTP configurat. Se da por hecho que ya tienes un NetScaler Gateway configurado correctament que valida contra tu dominio mediante una política y un servidor LDAP, esto lo usaremos para que los usuarios accedan al portal ‘gestionar‘ i puguin gestionar el seu dispositiu.

 

Autenticació LDAP

 

 

Des de “Security” > “AAA – Trànsit d'Aplicacions” > “Polítiques” > “Authentication” > “Polítiques Avançades” > “Accions” > “LDAP” > “Add…”, creem un nou Servidor LDAP. En el meu cas li diré “192.168.1.250_LDAP_OTP_sense_auth”, omplim les dades d'IP i port com és habitual, desmarquem “Authentication”, en “Administrator Bind DN” haurem d'incloure un compte que tingui privilegis per modificar l'atribut OTP en els comptes del nostre Directori Actiu. Afegirem, (a la dreta) el camp “OTP Secret” establirem quin serà l'atribut que s'utilitzarà en els comptes d'usuari per emmagatzemar el secret OTP (podem utilitzar per exemple userParameters o el que més ens agradi). Posem en “Create” per crear-lo.

 

 

 

Bé, creem un altre Servidor LDAP, en aquest cas li diré “192.168.1.250_LDAP_OTP_valida_sense”, serà igual que l'anterior però amb un canvi en el filtre de cerca, afegim a Search Filter el valor userParameters>=#@ i posem en Create.

 

Anem a “Security” > “AAA – Trànsit d'Aplicacions” > “Policies” > “Authentication” > “Polítiques Avançades” > “Policy” i posem sobre “Add” per a crear unes polítiques d'autenticació.

 

Li indiquem un nom, en el meu cas “192.168.1.250_LDAP_adv”, en Tipus d'acció indiquem “LDAP”, seleccionem al Action nostre Servidor LDAP normal, el que ja teníem inicialment al nostre entorn. En Expressió indiquem true & pitgem a Create!

 

Creem una altra política nova, aquesta s'utilitzarà per a la gestió de l'OTP, la crido “192.168.1.250_LDAP_OTP_sin_auth_adv”, en Tipus d'acció seleccionem “LDAP”, en Action l'associem amb el servidor LDAP que no té auth ni tampoc el filtre configurat, que és el primer que hem creat, en el meu cas és “192.168.1.250_LDAP_OTP_sense_auth”. I en Expressió indiquem: HTTP.REQ.COOKIE.VALUE(“NSC_TASS”).EQ(“manageotp”) i premem a Create.

 

 

Y creem una última política nova, s'utilitzarà per a la verificació, jo la crido “192.168.1.250_LDAP_OTP_valida_sin_auth_adv”, en Tipus d'acció seleccionem “LDAP”, en Action li associem el servidor LDAP que no té l'autenticació habilitada, que sí té configurat el secret OTP i el filtre de cerca, en aquest cas era “192.168.1.250_LDAP_OTP_valida_sense”. En Expressió indiquem true i premem a Create.

 

Login Schema,

 

Anem a “Security” > “AAA – Trànsit d'Aplicacions” > “Login Schema” > “Profiles” > “Add”,

 

Crearemos aquí el esquema d'inici de sessió de factor únic per manageotp, Li indiquem un nom per exemple “Single_Manage_OTP_Login_Schema” i en Esquema d'autenticació premem el llapis per editar,

 

Filtrarem i busquem el fitxer SingleAuthManageOTP.xml, i posem en “Selecciona” per seleccionar aquest esquema, ara premem a “Create”.

 

Premem a Create,

 

Creem un altre perfil d'esquema d'inici de sessió, aquesta vegada per al doble factor d'autenticació, li posem el nom que creguem convenient, en aquest cas “Single_Manage_OTP_Login_Schema” i en Esquema d'autenticació tornem a editar,

 

I procedim igual, filtrarem aquesta vegada i busquem DualAuth.xml, posem en “Selecciona” i en “Create”,

 

Premem a More… afegim a Password Credential Index un 1 per indicar el camp que emmagatzema la contrasenya de l'usuari, posem en “Enable Single Sign On Credentials” i en “Create”,

 

Bé, ara a la pestanya de “Policies” crearem les seves polítiques, posem en “Add“,

 

Li donem un nom a la política (pej:”Single_Manage_OTP_Login_Sch_Pol”) que portarà associat el perfil que hem creat amb el esquema de login de factor simple, que era “Single_Manage_OTP_Login_Schema” i creem una regla perquè només es mostri aquest portal si l'usuari va accedir a /manageotp. I si volem, també podem afegir el rang IP local de la nostra xarxa perquè només es puguin registrar des de dins de la nostra xarxa (pel mateix motiu de seguretat), afegim la regla:

http.req.cookie.value(“NSC_TASS”).eq(“gestionar”) && client.IP.SRC.IN_SUBNET(192.168.1.0/24)

Posem en “Create”,

 

Creem una altra política, aquesta vegada per al perfil del factor de doble autenticació, li donem un nom, per exemple “Dual_OTP_Login_Sch_Pol” i seleccionem el nostre perfil prèviament creat, en aquest exemple és “Dual_OTP_Login_Schema”. En Rule indiquem true i fem clic a Create!

 

Authentication Policy Labels,

 

Seguim, ara anirem a “Security” > “AAA – Trànsit d'Aplicacions” > “Policies” > “Authentication” > “Polítiques Avançades” > “Policy Labels” > Add”

 

S'utilitzarà per a la gestió i verificació de OTP, li indiquem un nom “OTP_Auth_Pol_Label” i li associem a Login Schema el LSCHEMA_INT, pulsamos en Continue,

 

Posem en Policy Binding,

 

Y selecccionamos la politica que no tenia la auth habilitada y sólo tenia el secreto OTP en mi caso era “192.168.1.250_LDAP_OTP_sin_auth_adv” y damos a “Selecciona”,

 

 

Posem en “Bind”,

 

Posem en “Add Binding” per a añadir una altra política,

 

Posem en Select Policy,

 

Y seleccionamos la política que verifica el OTP en mi caso era “192.168.1.250_LDAP_OTP_valida_sin_auth_adv”, li donem a “Selecciona”,

 

Y le damos menos prioridad que a la política de mageotp, i li donem a “Bind”,

 

Anem a “Security” > “AAA – Trànsit d'Aplicacions”, l'habiliten > “Servidors virtuals” > “Add”,

 

Creamos un servidor d'autenticació per a l'OTP, no fa falta que tenga direccionamiento, le indicamos un nombre en este caso “OTP_AAA_Auth”, en Tipus d'adreça IP indiquem “No adreçable” i posem en “OK”.

 

Punxem en “Sense certificat de servidor”,

 

Punxem en “Seleccioneu certificat de servidor”,

 

I escogemos el certificat que hem ja instal·lat i vàlid, en el meu cas un comodí, “Selecciona”,

 

“Bind”,

 

“Continue”,

 

Pinchamos donde indica “Sense política d'autenticació“,

 

Posem en “Select Policy”,

 

Y seleccionamos la nostra política d'autenticació LDAP habitual, la que té autenticació habilitada,

 

Punxem en “Selecciona el següent factor”,

 

Y seleccionamos la Policy Label que hem creat per OTP.

 

Posem en “Bind”,

 

Posem en “Continue”,

 

Posem-se al menú de la dreta en “Esquemes d'inici de sessió” i hi afegim uno desde “No Login Schema”,

 

Posem en “Select Policy”,

 

Y seleccionamos la nostra política de login “Single_Manage_OTP_Login_Sch_Pol” de factor simple, “Selecciona”,

 

“Bind”

 

Ara, posem en “Login Schema” y “Add Binding”,

 

Posem en “Select Policy”,

 

Y seleccionamos la de doble factor que en aquest exemple es “Dual_OTP_Login_Sch_Pol”, & “Selecciona”,

 

“Bind”,

 

En el menú derecho buscamos y añadimos un tema para el portal des de “Portal Themes”, seleccionem RfWebUI.

Posem en “OK”.

 

Polítiques de trànsit,

 

Anem a “NetScaler Gateway” > “Policies” > “Trànsit” > “Perfils de trànsit” > “Add”,

 

Creamos un perfil de trànsit per OTP, li donem un nom, en el meu cas “OTP_NS_Traffic_Profile”, en Expressió de contrasenya SSO indiquem http. PREGUNTA. USUARI. ATTRIBUTE(1) i posem en “Create”.

 

Creamos una política desde “Polítiques de trànsit” > “Add”,

 

Li indiquem un nom “OTP_NS_Traffic_Pol”, seleccionamos el perfil que acabamos de crear”OTP_NS_Traffic_Profile”, posem en “Switch to Default Syntax”, dejamos como expresión true i posem en “Create”,

 

Anem a editar el nostre servidor virtual de NetScaler Gateway, anem a “NetScaler Gateway” > “Servidors virtuals” > seleccionamos el nuestro > “Edit”. Y añadimos políticas!

 

 

En “Choose Policy” escogemos de tipo Trànsit, “Continue”,

 

Posem en “Select Policy”,

 

Seleccionamos la política de tráfico recién creada, que era “OTP_NS_Traffic_Pol” & “Selecciona”,

 

“Bind”,

 

 

En el al menú de la dreta afegim els “Perfil d'Autenticació”,

 

Fem clic al més de “Perfil d'Autenticació”,

 

Creem un perfil que enllacem amb el servidor d'autenticació que hem creat, li donem un nom i fem clic a “Servidor Virtual d'Autenticació”,

 

Seleccionem el servidor, que era “OTP_AAA_Auth” & “Selecciona”,

 

 

Posem en “Create”,

 

Posem en “OK”,

 

També afegim al servidor virtual el tema del portal des de “Portal Themes” a la dreta,

 

Seleccionem el portal RfWebUI,

“OK” i guardem la configuració, encara que no t'ho creguis… ja està!!!! quasi res…

 

Portal de gestió d'OTP,

 

Com a usuari, primer, hauríem d'accedir al nostre portal corporatiu per registrar el nostre dispositiu mòbil, però afegint-hi /manageotp al final de la URL, per exemple: https://citrix.openservices.eus/manageotp, l'usuari haurà de validar-se amb les seves credencials de l'AD.

 

I des d'aquí podrà afegir un nou dispositiu per utilitzar-lo com a token, li donaria un nom i a “Afegeix Dispositiu”,

 

Sorgeix un codi QR que hauria d'escanejar per enllaçar amb la seva app de Google Authenticator, disponible tant per Android en dispositius genèrics com per iOS en iPhone o iPad.

 

I ja ens indicarà que s'ha registrat correctament!

 

Ara l'usuari ja podrà entrar al seu portal corporatiu habitual i continuar treballant amb normalitat, quan accedeixi, com veiem, haurà d'introduir les seves credencials com és habitual i després l'OTP o contrasenya d'un sol ús que obtindrà del mòbil.

 

I llest! Això seria una captura de pantalla del que veuria l'usuari, Aquest seria el codi que se li genera de manera aleatòria i haurà d'introduir quan sigui necessari. Alguna cosa llarga de configurar però amb grans resultats pel que fa a obtenir molta més seguretat en el nostre entorn. Mai més ens podran robar les credencials dels nostres usuaris!

 

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!

Instal·lant Vembu BDR

4 de January de 2018