FortiAuthenticator

Despliegue de un portal cautivo con auto-registro, limitando el tiempo/consumo por usuarios, con FortiAuthenticator

FortiAuthenticator es una auténtica navaja suiza, que permite añadir a nuestra arquitectura diversas opciones de autenticación.

En esta entrada vamos a ver cómo desplegar un portal de autenticación de usuarios, con autoprovisión y limitación de tiempo y/o ancho de banda consumido.

La figura siguiente describe el escenario sobre el que haremos la configuración. Se trata de un escenario sencillo:

  • Un usuario se conecta a la red cableada (podría ser Wifi).
  • El FortiGate entrega al usuario una IP por DHCP. El propio FortiGate será el servidor DNS del segmento.
  • Cuando el usuario intenta acceder a cualquier recurso para el que necesite atravesar el Firewall, éste le presenta un portal de autenticación (totalmente configurable) en el que el usuario puede rellenar sus datos e incluir una dirección de correo en la que recibirá una clave de confirmación. De esta forma, el usuario quedará identificado.
  • Una vez se autentique, el usuario podrá hacer uso de la red para acceder a internet. El firewall actualizará (usando radiusaccounting) los datos de consumo del usuario (tiempo, paquetes…).
  • Cuando se supere la cuota asignada, el FortiAuthenticator enviará un mensaje Radius-COA para desauthenticar al usuario.

Para simplificar la explicación, dividimos la configuración en diferentes pasos.

Paso 1: Configuramos la interface de red en el que queremos autenticar a los usuarios mediante el portal de autoprovisión.

  • Configuramos el servidor DHCP. El servidor DNS será el propio FortiGate.

Para simplificar la explicación, dividimos la configuración en diferentes pasos.

Paso 1: Configuramos la interface de red en el que queremos autenticar a los usuarios mediante el portal de autoprovisión.

  • Configuramos el servidor DHCP. El servidor DNS será el propio FortiGate.

  • Se podrían hacer excepciones de origen y/o destinos, para que no sea necesario la autenticación, en este caso no lo hacemos:

  • También podríamos forzar la comprobación de “compliance”, cuando usemos FortiClient.

Paso 2: Configuramos el servidor DNS en el propio FortiGate.

  • Como comentábamos anteriormente, el FortiGate hará las veces de servidor DNS para esta red. No es estrictamente necesario, y podría usarse un DNS corporativo, pero en este caso simplifica el escenario, puesto que reduce el número de equipos necesarios y nos permite añadir entradas estáticas para hosts que tengamos que resolver internamente (la ip del propio portal).  Además, nos evita tener que configurar excepciones de conexiones que puedan pasar a través del firewall antes de que autentiquemos.
  • Habilitamos el servidor DNS en el interface del portal y creamos una zona.

  • En la zona configuramos una entrada estática que apunte a la ip de servicio del FortiAuthenticator, cuando se pregunte por fac.fortilab.net (la URL del portal de autenticación)

Paso 3: FortiGate. Creamos el servidor Radius (que será el FortiAuthenticator) y un grupo local, asociado a ese Radius
  • Habilitamos el envío de información Radius Accounting al FortiAuthenticator

config user radius
edit “FAC_LAB”
set server “192.168.93.15”
set secret fortinet
set timeout 10
set radius-coa enable
set acct-all-servers enable
config accounting-server
edit 1
set status enable
set server “192.168.93.15”
set secret fortinet
next
end
next
end

Paso 4: Configuramos políticas de acceso en FortiGate

Paso 5: FortiAuthenticator

  • Añadimos el FortiGate como cliente Radius, y habilitamos los portales. Es importante configurar la ip de origen para estos portales como la IP del interface en el que se habilita la autenticación por portal cautivo

Paso 6: FortiAuthenticator: Creamos el grupo al que se asociarán los usuarios que se autoregistren.

  • Primero creamos (User-Management -> Usage Profile) un perfil de uso de recursos. En este perfil podemos definir cuánto tiempo de uso/navegación tendrá cada usuario, o el consumo de ancho de banda máximo, así como las restricciones de hora/día que estimemos oportunas:

  • Luego creamos el grupo propiamente dicho, al que asociaremos los usuarios (user-management -> User Groups). En este caso será un grupo local. No tendrá usuarios asociados, porque los usuarios se crearán “al vuelo”, y tendrá asociado el “resouceprofile” que hemos definido en el paso anterior

  • Para que la restricción por uso sea eficaz, es necesario forzar a que el Fortigate envíe la información de accounting. Para ello, añadimos algunos Atributos RADIUS al grupo. Acct-interim-interval fuerza al FortiGate a enviar actualizaciones de accountingperiódicamente, en vez de esperar a que el usuario finalice la conexión

Paso 7: Configuramos el Portal de AutoRegistro.

  • Habilitamos el portal de autoregistro, en Guest Portal.
    • Creamos un portal en “portals”. En este portal tendremos la URL a la que hay que apuntar (la misma configurada en el FortiGate y para la que hemos creado una entrada DNS, y habilitaremos el FortiGate como cliente Radius. Podríamos asociarlo a un perfil de “Social-login”.

  • En el apartado Pre-login Services, podemos definir un disclaimer, si es necesario que un adminitrador apruebe la creación del usuario auto-registrado y sobre todo cómo se enviará el código de validación (SMS o email) y a qué grupo se añadirán los usuarios

    • En Replacemt Messages, podríamos personalizar el portal, para darle un aspecto corporativo.

Una vez está todo configurado, el usuario (en este caso usando Windows, pero el escenario es independiente del sistema operativo del cliente) intenta acceder a internet, después de encender el PC. Al abrir el navegador, se le presenta el portal de autenticación, que está alojado en el FortiAuthenticator (el FortiGate redirige la conexión http)

Si el usuario no tiene datos de login, puede presionar la opción Register, y se le redirige a un portal de auto registro. El usuario tiene que rellenar aquellos campos que hayamos definido como obligatorios

Se le envía al correo que haya definido (porque hemos establecido la verificación por correo electrónico, un código de verificación)

Ese código de verificación se usa en el propio portal de autoregistro y se habrá dado de alta al usuario, que aparecerá en el FortiAuthenticator

E igual en fortigate, el usuario aparece asociado al grupo

El Fortigate envía información de accounting cada “interim-interval”, actualizando el consumo del usuario. Cuando se excedan los valores definidos en el usage-profile, se desautenticará al usuario. Se pueden ver las estadísticas de consumo en los datos del propio usuario, dentro del Fortiauthenticator

 

Tags

Contenidos relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *