Citrix NetScaler Gateway con OTP (One Time Password)
Poço, hacía tiempo que quería dejaros este post, onde vamos a ver como habilitar una de las grandes novedades de Citrix NetScaler 12, que es la posibilidad de utilizar autenticaciones de tipo OTP (One Time Password) o contraseña de un solo uso de forma nativa y sin tener que depender de fabricantes de terceros!
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 e através da app Google Authenticator terão que fornecer, para entrar no nosso portal corporativo, além da sua palavra-passe, uma chave aleatória OTP, e assim asseguraremos que entra quem queremos na nossa empresa e a nenhum utilizador foi concedido acesso robado su contraseña.
Neste documento veremos todos os passos necessários, criaremos também um vServer para que os utilizadores primeiramente registem o seu dispositivo (usarão este Portal sempre que quiserem registar um novo dispositivo). Também veremos as configurações necessárias para ativar a Porta referida autenticação OTP.
Teremos em conta que atualmente o Citrix Receiver não suporta isto, mas que será de uso exclusivo (Por enquanto) com navegador web, portanto, o utilizador deverá descarregar a app de Google Authenticator (Por exemplo) y registrarse para luego ya poder acceder de forma habitual a seu portal de aplicações o escritorios, validándose con su contraseña de siempre y el código aleatário generado que obtenga de la app.
Importante, Antes de começar, asegúrate que tienes el servicio de hora NTP configurado. Se da por facto que ya tienes un NetScaler Gateway configurado corretamente que valida contra o teu domínio mediante uma política y un servidor LDAP, isto lo usaremos para que los usuarios accedan al portal ‘manageotp‘ e possam gerir o seu dispositivo.
Autenticación LDAP
Desde “Segurança” > “AAA – Application Traffic” > “Políticas” > “Autenticação” > “Políticas Avançadas” > “Ações” > “LDAP” > “Adicionar…”, creamos un novo Servidor LDAP. En mi caso le llamare “192.168.1.250_LDAP_OTP_sin_auth”, cumplimentamos los datos de IP y puerto como es habitual, desmarcamos “Autenticação”, em “Administrator Bind DN” deberemos incluir una cuenta que tenga privilegios de modificar el atributo de OTP en las cuentas de nuestro Directorio Activo. Añadiremos, (de la derecha) el campo “OTP Secret” estableceremos cuál será el atributo que usará en las cuentas de usuario para almacenar el secreto OTP (podemos usar por ejemplo userParameters o que más gusto nos de). Clique em “Criar” para criá-lo.
Nada mau, creamos otro Servidor LDAP, neste caso le chamare “192.168.1.250_LDAP_OTP_valida_sin”, será igual que a anterior mas com uma mudança no filtro de búsqueda, añadimos en Search Filter el valor userParameters>#@ e clique em Criar.
Nós vamos “Segurança” > “AAA – Application Traffic” > “Políticas” > “Autenticação” > “Políticas Avançadas” > “Política” e clique em “Adicionar” durante criar unas políticas de autenticación.
Le indicamos un Designação, No meu caso “192.168.1.250_LDAP_adv”, em Action Type Indicar “LDAP”, selecionamos en Ação nuestro Servidor LDAP normal, el que ya teníamos inicialmente en nuestro entorno. Em Expressão Indicar Verdadeiro & pinchamos en Create!
Creamos otra política nueva, está se usará para la gestión del OTP, la llamo “192.168.1.250_LDAP_OTP_sin_auth_adv”, em Action Type Selecionar “LDAP”, em Ação la asociamos con el servidor LDAP que no tiene auth y tampoco el filtro configurado, que es el primero que hemos creado, en mi caso es “192.168.1.250_LDAP_OTP_sin_auth”. E em Expressão Indicar: HTTP.REQ.COOKIE.VALUE(“NSC_TASS”).EQ(“manageotp”) y pulsamos en Create.
E creamos una última politica nueva, se usará para la verificación, yo la llamo “192.168.1.250_LDAP_OTP_valida_sin_auth_adv”, em Action Type Selecionar “LDAP”, em Ação le asociaremos el servidor LDAP que no tiene la autenticación habilitada, que sí tiene configurado el secreto OTP y el filtro de búsqueda, en este caso era “192.168.1.250_LDAP_OTP_valida_sin”. Em Expressão Indicar Verdadeiro y pulsamos en Create.
Login Schema,
Nós vamos “Segurança” > “AAA – Application Traffic” > “Login Schema” > “Profiles” > “Adicionar”,
Crearemos aquí el esquema de login de factor simple para manageotp, Le indicamos un nombre por ejemplo “Single_Manage_OTP_Login_Schema” e em Authentication Schema pulsamos el lápiz para editar,
Filtramos y buscamos el fichero SingleAuthManageOTP.xml, e clique em “Selecionar” para selecionar este esquema, pulsamos ya en “Criar”.
Pulsamos en Create,
Creamos otro perfil de esquema de login, esta vez para el doble factor de autenticación, le llamamos como nos parezca, Neste caso “Single_Manage_OTP_Login_Schema” e em Authentication Schema volvemos a editar,
Y procedemos igual, filtramos esta vez y buscamos DualAuth.xml, Clique em “Selecionar” e em “Criar”,
Pulsamos en More… añadimos en Password Credential Index um 1 para indicar el campo que almacena la contraseña del usuario, Clique em “Enable Single Sign On Credentials” e em “Criar”,
Nada mau, ahora en la pestaña de “Políticas” vamos a crear sus políticas, Clique em “Adicionar“,
Le damos un nombre à la política (pej:”Single_Manage_OTP_Login_Sch_Pol”) que llevará asociado el perfil que hemos criado con el esquema de login de factor simple, que era “Single_Manage_OTP_Login_Schema” y criamos uma regla para que sólo muestre este portal si el utilizador accedió a /manageotp. E se quisermos, também podemos adicionar el rango IP local de nuestra red para que sólo se puedan registrar desde dentro de nuestra red (por los mismos motivos de seguridad), añadimos la regla:
http.req.cookie.value(“NSC_TASS”).eq(“manageotp”) && client. IP. SRC. IN_SUBNET(192.168.1.0/24)
Clique em “Criar”,
Creamos otra política, esta vez para el perfil del factor de doble autenticación, damos-lhe um nome, Por exemplo “Dual_OTP_Login_Sch_Pol” y seleccionamos nuestro perfil previamente creado, neste exemplo es “Dual_OTP_Login_Schema”. Em Rule Indicar Verdadeiro y damos a Create!
Authentication Policy Labels,
Nós, ahora vamos a “Segurança” > “AAA – Application Traffic” > “Políticas” > “Autenticação” > “Políticas Avançadas” > “Policy Labels” > Adicionar”
Se utilizará para la gestion y verificação de OTP, Nós damos-lhe um nome “OTP_Auth_Pol_Label” y le asociamos en Login Schema el LSCHEMA_INT, pulsamos en Continue,
Clique em Policy Binding,
E selecccionamos la política que no tenia la auth habilitada y sólo tinha el secreto OTP en mi caso era “192.168.1.250_LDAP_OTP_sin_auth_adv” e nós damos “Selecionar”,
Clique em “Bind”,
Clique em “Add Binding” durante añadir otra política,
Clique em 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”, Nós damos “Selecionar”,
Y le damos menos prioridad que a la política de mageotp, e nós damos “Bind”,
Nós vamos “Segurança” > “AAA – Application Traffic”, Nós o habilitamos > “Virtual Servers” > “Adicionar”,
Creamos un servidor de autenticacion para el OTP, no hace falta que tenga direccionamiento, le indicamos un nombre en este caso “OTP_AAA_Auth”, em IP Address Type Indicar “Non Addressable” e clique em “OKEY”.
Clique em “No Server Certificate”,
Clique em “Select Server Certificate”,
Y escogemos el certificado que tenemos ya instalado y válido, en mi caso un Wildcard, “Selecionar”,
“Bind”,
“Continuar”,
Pinchamos donde indica “No Authentication Policy“,
Clique em “Select Policy”,
Y seleccionamos nuestra politica de autenticación LDAP habitual, la que tiene autenticación habilitada,
Clique em “Select Next Factor”,
Y seleccionamos la Policy Label que hemos creado para OTP.
Clique em “Bind”,
Clique em “Continuar”,
Pulsamos en el menú de la derecha em “Login Schemas” e adicionamos uno desde “No Login Schema”,
Clique em “Select Policy”,
Y seleccionamos nuestra política de login “Single_Manage_OTP_Login_Sch_Pol” de factor simple, “Selecionar”,
“Bind”
Agora, Clique em “Login Schema” e “Add Binding”,
Clique em “Select Policy”,
Y seleccionamos la de doble factor que en este ejemplo es “Dual_OTP_Login_Sch_Pol”, & “Selecionar”,
“Bind”,
En el menú derecho buscamos y añadimos un tema para o portal desde “Temas do Portal”, Selecionar RfWebUI.
Clique em “OKEY”.
Políticas de Tráfego,
Nós vamos “NetScaler Gateway” > “Políticas” > “Tráfego” > “Perfis de Tráfego” > “Adicionar”,
Criamos um perfil de tráfego para OTP, damos-lhe um nome, No meu caso “OTP_NS_Traffic_Profile”, em Expressão de Palavra-Passe SSO Indicar http.REQ.USER.ATTRIBUTE(1) e clique em “Criar”.
Criamos uma política a partir de “Políticas de Tráfego” > “Adicionar”,
Nós damos-lhe um nome “OTP_NS_Traffic_Pol”, selecionamos o perfil que acabámos de criar”OTP_NS_Traffic_Profile”, Clique em “Alternar para Sintaxe Padrão”, deixamos como expressão Verdadeiro e clique em “Criar”,
Nós vamos editar o nosso servidor virtual do NetScaler Gateway, Nós vamos “NetScaler Gateway” > “Virtual Servers” > selecionamos o nosso > “Editar”. E adicionamos políticas!
Em “Escolher Política” escolhemos o tipo Tráfego, “Continuar”,
Clique em “Select Policy”,
Selecionamos a política de tráfego recém-criada, que era “OTP_NS_Traffic_Pol” & “Selecionar”,
“Bind”,
No menu da direita adicionamos as “Perfil de Autenticação”,
Clicamos no mais de “Perfil de Autenticação”,
Criamos um perfil que ligamos ao servidor de autenticação que criámos, le damos un nombre y pulsamos en “Authentication Virtual Server”,
Selecionamos el servidor, que era “OTP_AAA_Auth” & “Selecionar”,
Clique em “Criar”,
Clique em “OKEY”,
Añadimos también en el virtual server el tema del portal desde “Temas do Portal” en la right,
Seleccionamos el portal RfWebUI,
“OKEY” y guardamos la configuração, aún que no te lo creas… ya está!!!! casi ná…
Portal de gestión de OTP,
Como usuario, primeiro, deberíamos aceder ao nosso portal corporativo para registrar o nosso dispositivo móvil, pero añadiéndole /manageotp al final de la URL, Por exemplo: https (em inglês)://citrix.openservices.eus/manageotp, el usuario deberá validarse con sus credenciales del AD.
Y desde aqui pode adicionar um novo dispositivo para usarlo como token, le daría un nombre y a “Add Device”,
Le saldría un código QR que debería escanear para enlazarse con su app de Google Authenticator que está disponível tanto en Android para dispositivos genéricos o en iOS para iPhone o iPad.
Y ya nos indicará que se registró satisfactoriamente!
Ahora el usuario ya podrá entrar en su portal corporativo de siempre y seguir trabajando normal, cuando acceda como vemos, tendrá que meter sus credenciales como es habitual y depois el OTP o senha de un solo uso que obtendrá del móvil.
E é isso! Este sería un pantallazo de lo que vería el usuario, ese sería el código que aleatoriamente se le género y deberá introducir cuando necessite. Algo largo de configurar pero con grandes resultados en cuanto a obter mucha más segurança no nosso entorno. Ya nunca más nos poderão robar credenciales de nossos utilizadores!















































































































