Permetent autenticació de doble factor amb SMS2 (gratuït) i NetScaler Gateway

En este post vamos a ver algo fabuloso, vamos a ver cómo habilitar 2FA o doble factor de autenticación en NetScaler Gateway, obligando a los usuarios a utilizar un Token adicional para el acceso corporativo a la organización. Usaremos SMS2 que es una herramienta gratuita, que mediante RADIUS validará los tokens de los usuarios, usaremos tokens de software mediante la app Google Authenticator en los móviles, una passada!

 

El que s'ha dit, nos basaremos en el algoritmo TOTP (Time-based One-time Password), o contraseña de un solo uso basada en tiempo, normalmente estos códigos se actualizan cada 30 segons. En los dispositivos móviles de los empleados bastará con instalar (per exemple) Google Authenticator y cada vez que accedan de manera externa al sitio Citrix, que presentará sus aplicaciones o escritorios, pues pondremos un factor más de autenticación, un nivel más de seguridad para evitar accesos 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 (Network Policy Server) instalado y configurado para permitir consultas de RADIUS.

 

Instalamos “Serveis d' accés i directives de xarxes” y sus características, bien por GUI o mediante PowerShell:

[sourcecode]Install-WindowsFeature -Name npas[/sourcecode]

 

Abrimos la consolaServidor de directivas de red. Lo primero que tendremos en cuenta será en lasDirectivas de redir a las propiedades de la directivaConexiones a otros servidores de acceso”,

 

Seleccionem “Conceder accesoy marcamosOmitir propiedades de marcado de cuentas de usuario”,

 

Ahora debemos de dar de alta todos los clientes RADIUS, o sea todas las máquinas que harán consultas, en principio con crear la máquina donde tenemos instalado el rol (para pruebas futuras) y la NetScaler Subnet IP nos valdrá, ya que el NetScaler hará las consultas a NPS con dicho adaptador. Per tant, en “Clientes RADIUS” > “Nou”,

 

Indicamos el nombre de la máquina y la dirección IP que usará para permitirle consultas, además indicaremos un secreto que utilizaremos para autenticarnos.

 

Y creamos todos los equipos, el que s' ha dit, 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, “Next”,

 

Seleccionem “Custom”,

 

Y quitamos la parte de CloudSMS y verificamos que instalamos todos los clientes, o al menos el tipo que nos interese, “Next”,

 

Posem sobre “Configure AuthEngine”,

 

Introducimos la licencia gratuita que nos dan, al menos hasta Diciembre de 2022, podremos descargarla de aquí o usar esta misma:

[sourcecode]<?xml version="1.0" encoding="utf-8"?>
<LicenseXml>
<AuthEngine>zslx2mEqlV+d7mf0FtgVW5+L1vUTXAE8wOvs3fxXwTQ=</AuthEngine>
</LicenseXml>[/sourcecode]

 

Dejamos la cuenta Local System para el servicio AuthEngine, “Next”,

 

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 llamaremosusuario_radius”, indicamos su contraseña del AD e indicamos cual es la BaseDN que usaremos como filtro para buscar usuarios. “Next”,

 

Necesitaremos un servidor SQL por algún lado, indicaremos su nombre e instancia, port, usuario de SQL o si queremos usar autenticación integrada, además del nombre de la BD que generará. “Next”,

 

Podemos configurar aquí el servidor de correo para las alertas de mail o si queremos el token vía mail, no es nuestro caso, podemos obviarlo, “Finish”.

 

Seguimos en el asistente de instalación, ahora pulsamos enConfigure OATHCalc”,

 

Dejamos la cuenta Local System para el servicio OathCalc, “Next”,

 

Dejamos los valores predeterminados, “Finish”,

 

Seguim, vamos ahora aConfigure AdminGUI/Clients”,

 

Indicamos la dirección IP local del servidor con la que ofreceremos el servicio y el puerto 9060, “Finish”.

 

Ya podremos seguir con el asistente, “Next”,

 

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. “Next”,

 

Y por fin, posem en “Install” para comenzar con la instalación de SMS2,

 

… esperem uns segons…

 

“Finish”, ¡Instalación correcta!

 

Debemos editar el fichero de configuración, ubicado por defecto en “%ProgramFiles%\WrithCCS2\Settings\Configuration.xml”. Normalmente haremos las siguientes modificaciones, “AuthEngineChallengeResponselo dejaremos enFalsepara poder utilizar Google Authenticator, además en losAuthProvidersdeberemos deshabilitarlos todos y dejar habilitado y predeterminado OATHCalc, quedant:

[sourcecode]<Name>CloudSMS</Name>

<Enabled>false</Enabled>
<Default>false</Default>

<Name>OATHCalc</Name>

<Enabled>true</Enabled>
<Default>true</Default>

<Name>PINTAN</Name>

<Enabled>false</Enabled>
<Default>false</Default>

<Name>Email</Name>

<Enabled>false</Enabled>
<Default>false</Default>

<Name>Static</Name>

<Enabled>true</Enabled>
<Default>false</Default>
…[/sourcecode]

 

Tras los cambios, guardamos el fichero y reiniciamos los serviciosWright AuthEngine” y “Wright OATHCalc”.

 

Probando SMS2

Ya podremos abrir la consola SMS2 Administration Console. ¡Ojo! que, para abrir esta consola debe existir un grupo llamado “Administrators” en la carpeta de Built-In de nuestro Directorio Activo, si no existe el grupo (que en Directorios Activos en Español se llama Administradores) o no eres miembro de él, no podrás ver todos los usuarios. Lo primero que haremos será alusuario_radiusponerle un token numerico estático (pej 123456) para hacer una prueba a continuación. Previamente, seleccionamos el usuario y pulsamos sobreAuthentication Options”,

 

A la pestanya “Auth Options” posem “Staticy ponemos el token numérico que nos de la gana, lo necesitaremos así que documenta. “Save Configuration”. Y luegoUpdate Account Detailspara grabar los cambios en el usuario específico.

 

Bé, vamos a probar si SMS2 está funcionando correctamente, per a això, podremos descargarnos NTRadPing 1.5, que es una utilidad para hacer pruebas de RADIUS, podremos descargarla de: https://thwack.solarwinds.com/thread/14486. Esta prueba la haremos desde una de las máquinas que hayamos dado de alta en nuestro servidor NPS, en los clientes RADIUS, si os acordáis establecimos un secreto entonces, lo necesitaremos ahora.

Per tant, una vez descargada, la ejecutamos e introducimos la dirección IP de nuestro servidor RADIUS y el puerto 1812, en “Radius Secret keyindicaremos el secreto que utilizamos al definir el Cliente RADIUS, indicamos el nombre del usuariousuario_radius” i en “Password” debemos indicar el Token numérico que le acabamos de establecer en el paso anterior. Posem sobre “Send” i si tot ha anat bé, veremos que validó la autenticación correctamente.

 

Configurando NetScaler,

Aunque voy a dejar los pasos mínimos, donde crearemos unas políticas de autenticación que aplicaremos a nuestro NetScaler Gateway, este proceso podría ser más largo, ya que se recomienda monitorizar con Load Balancing y ofrecer el servicio RADIUS desde aquí, por tanto obviare crear el Monitor, los Servicios, Servidores y Virtual Servers de LB para el servicio RADIUS. Iremos directamente a crear las directivas y aplicarlas al Gateway,

 

Daremos de alta lo primero de todo al servidor RADIUS, des de “Citrix Gateway” > “Policies” > “Authentication” > “RADIUS” > “Servers > “Add”, indicamos la dirección IP del servidor RADIUS y el puerto 1812, así como el secreto que utilizamos cuando dimos de alta la Subnet IP del NetScaler en el NPS. Podemos darle aTest RADIUS Reachabilitypara probar la validación, debería de ir ok, posem en “Create”,

 

Ahora vamos a crear las políticas de RADIUS, des de “Citrix Gateway” > “Policies” > “Authentication” > “RADIUS” > “Policies” > “Add”, creamos una política para dispositivos que usen Citrix Receiver, la asociamos al servidor RADIUS recién creado e indicamos la siguiente expresión:

[sourcecode]REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver[/sourcecode]

 

Creamos otra para los dispositivos que no usen Receiver (o Workspace), con la siguiente expresión:

[sourcecode]REQ.HTTP.HEADER User-Agent NOTCONTAINS CitrixReceiver[/sourcecode]

Y lo mismo para LDAP, crearemos dos políticas iguales, una para accesos con dispositivos Citrix Receiver, des de “Citrix Gateway” > “Policies” > “Authentication” > “LDAP” > “Policies” > “Add”, con la siguiente expresión:

[sourcecode]REQ.HTTP.HEADER User-Agent CONTAINS CitrixReceiver[/sourcecode]

Y acabamos con la última política para dispositivos que no usen Receiver,

[sourcecode]REQ.HTTP.HEADER User-Agent NOTCONTAINS CitrixReceiver[/sourcecode]

 

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, això és, 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í, a la pestanya “Client Experience”, en “Credential Indexdebemos indicarSECONDARY”. Y verificar que la otra politica de sesion (que también ya existirá), en este caso la ‘AC_WB_X.X.X.XusaSECONDARY”, 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 aquest post si lo necesitas. Doncs el que s'ha dit, podremos personalizar el texto de los campos de texto que verán los usuarios, para indicar por ejemplo en el campo 2 que no pidaContraseña 2al usuario si noTokeny 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 elLogin Pagey 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, per a això, abrimos laSMS2 Administration Console”, sobre cada usuario que nos interese, lo seleccionamos y vamos aAuthentication Options”,

 

HabilitamosOATHCalc”, indicamos que use el Token de tipo TOTP, en Authenticator podemos directamente indicarle que use Google Authenticator y pulsamos sobreGenerate Shared Secret”, nos dará un secreto o un código QR que debemos 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 usuario ya podría acceder a su portal de Citrix y a parte de indicar su usuario y contraseña, deberá especificar el Token temporal que obtenga únicamente desde este dispositivo móvil. Entrada blindada a nuestra empresa! A por más!

 

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 Hassio - Home Assistant

10 de September de 2019

Posar la BD de Home Assistant a MariaDB

19 de September de 2019