Habilitando a autenticação de dois fatores com o SMS2 (grátis) e NetScaler Gateway
Neste post vamos ver algo fabuloso, vamos ver como habilitar a autenticação 2FA ou de dois fatores no NetScaler Gateway, forçando os usuários a usar um Token adicional para acesso corporativo à organização. Vamos usar SMS2 que é uma ferramenta gratuita, que através do RADIUS irá validar os tokens de utilizador, usaremos tokens de software usando o aplicativo Google Authenticator em dispositivos móveis, Uma explosão!
O que eu disse, nos basaremos en el algoritmo TOTP (Time-based One-time Password), o contraseña de un solo uso basada en tiempo, normalmente estes códigos se actualizan cada 30 Segundos. En los dispositivos móviles de los empleados bastará con instalar (Por exemplo) Google Authenticator y cada vez que accedan de manera externa al sitio Citrix, que apresentará sus aplicações o escritorios, pues pondremos un factor más de autenticación, un nivel más de seguridad para evitar acessos aún que conozcan la contraseña del usuario. Últimamente, estamos conociendo, cada día más robos de contraseñas, a qué estás esperando para intentar securizar algo más tu entorno?
Configuración de NPS,
Deberemos tener el rol de de Servidor de directivas de redes o NPS (Servidor de Política de Rede) instalado e configurado para permitir consultas RADIUS.
Instalámos “Serviços de acesso e políticas de rede” e as suas funcionalidades, bem pela GUI ou através do PowerShell:
[Código-fonte]Install-WindowsFeature -Name npas[/Código-fonte]
Abrimos o console “Servidor de políticas de rede. A primeira coisa que teremos em conta será nas “Políticas de rede” ir às propriedades da política “Ligações a outros servidores de acesso”,
Selecionar “Conceder acesso” e marcamos “Ignorar propriedades de marcação de contas de utilizador”,
Agora devemos registar todos os clientes RADIUS, ou seja, todas as máquinas que farão consultas, em princípio, ao criar a máquina onde temos instalado o papel (para testes futuros) e o NetScaler Subnet IP será suficiente, já que o NetScaler fará as consultas ao NPS com esse adaptador. Portanto, em “Clientes RADIUS” > “Novo”,
Indicamos o nome da máquina e o endereço IP que usará para permitir consultas, además indicaremos un secreto que utilizaremos para autenticarnos.
Y creamos todos los equipos, Como eu disse, con la IP de las máquinas que harán consultas bastará, bien nosotros localmente para hacer pruebas y la dirección IP SNIP del NetScaler.
Instalación y configuración de SMS2,
Wright SMS2 será la aplicación que utilicemos para permitir este 2FA, podremos instalarla en uno o varios equipos, normalmente junto al NPS, o en un DC. Esta utilidad es gratuita y disponible en su sitio web: http://www.wrightccs.com/support/download/
Comenzamos la instalación, “Próximo”,
Selecionar “Costume”,
Y quitamos la parte de CloudSMS y verificamos que instalamos todos los clientes, o al menos el tipo que nos interese, “Próximo”,
Clique em “Configure AuthEngine”,
Introducimos la licencia gratuita que nos dan, al menos hasta Diciembre de 2022, podremos descargarla de aqui o usar esta misma:
[Código-fonte]&Tenente;?xml version="1.0" encoding="utf-8"?≫
&Tenente;LicenseXml≫
&Tenente;AuthEngine≫zslx2mEqlV+d7mf0FtgVW5+L1vUTXAE8wOvs3fxXwTQ=&Tenente;/AuthEngine≫
&Tenente;/LicenseXml≫[/Código-fonte]
Dejamos la cuenta Local System para el servicio AuthEngine, “Próximo”,
Indicamos al AuthEngine que atienda a cualquier IP (0.0.0.0) usando el puerto 9060. Indicamos el FQDN de nuestro servidor LDAP o controlador de dominio, indicamos una cuenta de usuario específica que usaremos para las consultas de RADIUS, en mi caso la llamaremos “usuario_radius”, indicamos su contraseña del AD e indicamos cual es la BaseDN que usaremos como filtro para buscar utilizadores. “Próximo”,
Necesitaremos un servidor SQL por algún lado, indicaremos su nombre e instancia, porta, usuario de SQL o si queremos usar autenticación integrada, además del nombre de la BD que generará. “Próximo”,
Podemos configurar aqui el servidor de correo para las alertas de mail o si queremos el token vía mail, não é o nosso caso, podemos obviarlo, “Acabar”.
Seguimos en el asistente de instalación, agora clicamos em “Configure OATHCalc”,
Dejamos la cuenta Local System para el servicio OathCalc, “Próximo”,
Dejamos los valores predeterminados, “Acabar”,
Nós, vamos ahora a “Configure AdminGUI/Clients”,
Indicamos la dirección IP local del servidor con la que ofreceremos el servicio y el puerto 9060, “Acabar”.
Ya podremos seguir con el asistente, “Próximo”,
Como indique que instalara todos los clientes y este trae también los ficheros del obsoleto Web Interface, podremos indicar donde queremos que nos los deje. Estos ficheros en principio no los usaremos. “Próximo”,
Y por fin, Clique em “Instalar” para comenzar con la instalación de SMS2,
… Aguarde alguns segundos…
“Acabar”, ¡Instalación correcta!
Debemos editar el fichero de configuración, ubicado por defecto en “%ProgramFiles%\WrithCCS2\Settings\Configuration.xml”. Normalmente haremos las siguientes modificaciones, “AuthEngineChallengeResponse” lo dejaremos en “False” para poder utilizar Google Authenticator, además en los “AuthProviders” deberemos deshabilitarlos todos y dejar habilitado y predeterminado OATHCalc, Ficar:
[Código-fonte]&Tenente;Nome≫CloudSMS&Tenente;/Nome≫
…
&Tenente;Habilitado≫Falso&Tenente;/Habilitado≫
&Tenente;Default≫Falso&Tenente;/Default≫
…
&Tenente;Nome≫OATHCalc&Tenente;/Nome≫
…
&Tenente;Habilitado≫Verdadeiro&Tenente;/Habilitado≫
&Tenente;Default≫Verdadeiro&Tenente;/Default≫
…
&Tenente;Nome≫PINTAN&Tenente;/Nome≫
…
&Tenente;Habilitado≫Falso&Tenente;/Habilitado≫
&Tenente;Default≫Falso&Tenente;/Default≫
…
&Tenente;Nome≫Email&Tenente;/Nome≫
…
&Tenente;Habilitado≫Falso&Tenente;/Habilitado≫
&Tenente;Default≫Falso&Tenente;/Default≫
…
&Tenente;Nome≫Static&Tenente;/Nome≫
…
&Tenente;Habilitado≫Verdadeiro&Tenente;/Habilitado≫
&Tenente;Default≫Falso&Tenente;/Default≫
…[/Código-fonte]
Tras los cambios, guardamos el fichero y reiniciamos los servicios “Wright AuthEngine” e “Wright OATHCalc”.
Probando SMS2
Ya podremos abrir la consola SMS2 Administration Console. ¡Ojo! que, para abrir esta consola deve existir un grupo llamado “Administradores” en la carpeta de Built-In de nuestro Directorio Activo, si no existe el grupo (que en Directorios Activos en Español se chama Administradores) o no eres miembro de él, no podrás ver todos los usuarios. Lo primero que haremos será al “usuario_radius” ponerle un token numérico estático (pej 123456) para fazer una prueba a continuación. Previamente, selecionamos el usuario y pulsamos sobre “Opções de Autenticação”,
No “Opções de Autenticação” Pressionado “Static” y ponemos o token numérico que nos de la gana, lo necesitaremos así que documenta. “Save Configuration”. Y luego “Update Account Details” para grabar los changes en el usuario específico.
Nada mau, vamos a probar si SMS2 está funcionando corretamente, por isso, podremos descargarnos NTRadPing 1.5, que es una utilidade para hacer pruebas de RADIUS, podremos descargarla de: https://thwack.solarwinds.com/thread/14486. Esta prueba la haremos desde uma das máquinas que hayamos dado de alta en nuestro servidor NPS, en los clientes RADIUS, se os acordáis estabelececimos un secreto então, lo necesitaremos agora.
Portanto, una vez descargada, la executamos e introduzimos la dirección IP do nosso servidor RADIUS y el puerto 1812, em “Radius Secret key” indicaremos o segredo que utilizamos ao definir el Cliente RADIUS, indicamos o nome do utilizador “usuario_radius” e em “Senha” devemos indicar o Token numérico que acabámos de definir no passo anterior. Clique em “Enviar” E se tudo tiver corrido bem, veremos que validou a autenticação corretamente.
Configurando NetScaler,
Embora vá deixar apenas os passos mínimos, onde criaremos algumas políticas de autenticação que aplicaremos ao nosso NetScaler Gateway, este processo poderia ser mais longo, já que se recomenda monitorizar com Load Balancing e oferecer o serviço RADIUS daqui, portanto vou omitir criar o Monitor, os Serviços, Servidores e Servidores Virtuais de LB para o serviço RADIUS. Iremos diretamente criar as diretivas e aplicá-las ao Gateway,
Vamos registar primeiro o servidor RADIUS, desde “Citrix Gateway” > “Políticas” > “Autenticação” > “RAIO” > “Servidores > “Adicionar”, indicamos o endereço IP do servidor RADIUS e a porta 1812, assim como o segredo que utilizamos quando dimos de alta la Subnet IP del NetScaler en el NPS. Podemos darle a “Test RADIUS Reachability” para probar la validación, debería de ir ok, Clique em “Criar”,
Agora vamos a criar las políticas de RADIUS, desde “Citrix Gateway” > “Políticas” > “Autenticação” > “RAIO” > “Políticas” > “Adicionar”, creamos uma política para dispositivos que usen Citrix Receiver, la associamos al servidor RADIUS recién criado e indicamos la siguiente expresión:
[Código-fonte]REQ. HTTP. HEADER User-Agent CONTÉM CitrixReceiver[/Código-fonte]
Creamos otra para los dispositivos que no usen Receiver (o Workspace), con la siguiente expresión:
[Código-fonte]REQ. HTTP. HEADER User-Agent NOTCONTAINS CitrixReceiver[/Código-fonte]
Y lo mismo para LDAP, crearemos dos políticas iguales, una para acessos con dispositivos Citrix Receiver, desde “Citrix Gateway” > “Políticas” > “Autenticação” > “LDAP” > “Políticas” > “Adicionar”, con la siguiente expresión:
[Código-fonte]REQ. HTTP. HEADER User-Agent CONTÉM CitrixReceiver[/Código-fonte]
Y acabamos com la última política para dispositivos que no usen Receiver,
[Código-fonte]REQ. HTTP. HEADER User-Agent NOTCONTAINS CitrixReceiver[/Código-fonte]
Y ahora iremos a nuestro Virtual Server de NetScaler Gateway y las vincularemos, crearemos autenticaciones primarias y secundarias, para atender a los usuarios que se nos conecten, dejaremos como Primaria con prioridad 100 la Politica LDAP Sin Receiver, y con prioridad 90 la política RADIUS Receiver; como autenticaciones secundarias, usaremos a la inversa, Isso é, con prioridad 100 la Politica RADIUS Sin Receiver, y con prioridad 90 la política LDAP Receiver.
Debemos modificar la politica de sesion que ya existirá y estará aplicada en nuestro Virtual Server Gateway, en mi caso la predeterminada ‘AC_OS_X.X.X.X’, ahí, no “Client Experience”, em “Credential Index” devemos indicar “SECONDARY”. Y verificar que la otra politica de sesion (que también ya existirá), en este caso la ‘AC_WB_X.X.X.X’ usa “SECONDARY”, que será así de manera predeterminada.
En el NetScaler Gateway, como seguro sabemos y tenemos aplicado un tema corporativo, y si no lo has hecho deberías darle una imagen personalizad y agradable a tus usuarios, repasa Este post si lo necesitas. Bem, o que eu disse, podremos personalizar el texto de los campos de texto que verán los usuarios, para indicar por ejemplo en el campo 2 que no pida “Contraseña 2” al usuario si no “Token” y así asimilan mejor qué es una contraseña y qué es un Token. Esto lo dicho, lo haremos en nuestro Virtual Server, en la sección del Tema, al pulsarlo podremos añadir el “Login Page” y personalizar dichos campos con un mejor texto.
Habilitando Tokens a los Usuarios del Directorio Activo,
De vuelta a SMS2, ya es hora de probar esto! Vamos a dar de alta un usuario!
Ahora debemos seleccionar los usuarios que nos interesa habilitar la autenticación 2FA, por isso, abrimos la ” SMS2 Administration Console”, sobre cada utilizador que nos interessa, lo seleccionamos y vamos a “Opções de Autenticação”,
Habilitamos “OATHCalc”, indicamos que use el Token de tipo TOTP, em Authenticator podemos diretamente indicarle que use Google Authenticator y pulsamos sobre “Generate Shared Secret”, nos dará un secreto o un código QR que devemos enviar al usuario para que desde su dispositivo móvil pueda dar de alta su cuenta.
Ahora ya por fin, teniendo un móvil a mano, instalada la app Google Authenticator y añadida la cuenta mediante el código QR, este utilizador ya podría aceder a seu portal de Citrix y a parte de indicar o seu utilizador e a senha, deberá especificar el Token temporal que obtenga únicamente desde este dispositivo móvil. Entrada blindada a nuestra empresa! A por más!

















































































