Fortigate 2FA con Freeradius y PrivacyIDEA Fortigate 2FA con Freeradius y PrivacyIDEA
En esta entrada vamos a  configurar desde cero, un doble factor de autenticación en un acceso VPNSSL de un Firewall Fortinet sin usar para... Fortigate 2FA con Freeradius y PrivacyIDEA

En esta entrada vamos a  configurar desde cero, un doble factor de autenticación en un acceso VPNSSL de un Firewall Fortinet sin usar para ello un FortiAuthenticator o los FortiTokens. Usaremos una herramienta de codigo abierto PrivacyIDEA y Freeradius.    https://privacyidea.readthedocs.io/

 

PrivacyIDEA es un sistema de autenticación que nos permite añadir un segundo factor (algo que se posee) a nuestra autenticación basada en usuario y contraseña. Tiene muchos dispositivos soportados, tanto software como hardware y trae integración con multiples plataformas con lo que es una solución muy versatil e interesante para seguir estudiando en el futuro.

Comenzaremos por instalarnos PrivacyIDEA en una maquina Ubuntu Server 18.04 para ello simplemente añadimos los repositorios y realizamos la instalación:

wget https://lancelot.netknights.it/NetKnights-Release.asc
gpg --import --import-options show-only --with-fingerprint NetKnights-Release.asc
apt-key add NetKnights-Release.asc
add-apt-repository http://lancelot.netknights.it/community/bionic/stable
apt update
apt install privacyidea-apache2

Una vez terminada la instalación tenemos accesible PrivacyIDEA en la url https://direcciónip

Para poder acceder a la administración, primero hemos de crear un usuario para ello, esto se hace usando la linea de comandos:

pimanage admin add gpinero e admin@localhost

Nos pedirá que introduzcamos una contraseña para el usuario que estamos creando y finalizará, posteriormente nos podremos logar en la GUI.

PI nos permite enviar los eventos de autenticación a un radius externo pero si queremos usar la misma máquina como radius podemos utilizar Freeradius y el conector entre éste y PrivacyIdea. Para ello, simple:

aptget install privacyidearadius

Una vez tenemos Freeradius tenemos que configurar el NAS (cliente radius) que en este caso será nuestro Fortigate. Esto se hace en el clients.conf. Lo editamos vi /etc/freeradius/3.0/clients.conf

Ahora vamos al Fortigate y añadimos estos datos del Radius, luego veremos como configurar una VPNSSL.

En la configuración de Radius podemos destacar que podemos realizar también una instalación en HA, el Forti permite tener un servidor Radius primario y otro secundario. Con dos instalaciones de PrivacyIDEA y una replicación master-master entre las bases de datos podemos dotar de alta disponibilidad al sistema de autenticación.

https://privacyidea.readthedocs.io/en/latest/faq/high-availability.html

Añadimos tambien un grupo de usuarios que autentica contra el Radius que acabamos de configurar, esto lo utilizaremos posteriormente en la politica de la VPNSSL

Volviendo a PrivacyIDEA, vamos a ir configurando ahora los detalles para que todo esto funcione, en mi caso, la fuente de usuarios va a ser un directorio activo de Mircrosoft. Accedemos a PrivacyIDEA para configurarlo:

Primero configuramos el REALM correspondiente al domino:

Create Realm, luego vamos a Config > Users > New ldaprevolver. Completamos los datos, necesitaremos un usuario que tenga permisos para leer el arbol de AD mediante LDAP o LDAPS, en nuestro caso usamos LDAP sin seguridad para las pruebas pero es recomendable siempre utilizar protocolos seguros para las comunicaciones.

En la parte inferior tenemos un boton que nos completa automaticamente la configuración para Active Directory, si queremos obtener o mapear otros campos que los que vemos, debemos añadirlos ahí:

Ahora ya nos queda la parte interesante, vamos a asignar un token TOTP a un usuario del directorio en PrivacyIDEA. Vamos al menú tokens y luego Enroll Token:

Cuando introduzcamos el username, nos buscara en el directrio activo mediante LDAP el nombre de usuario, luego introducimos un PIN y pulsamos el boton Enroll token:

Esto nos generara un QR que hemos de leer con nuestra APP de TOTP, por ejemplo Google Authenticator:

Aparecera entonces el codigo de tiempo en la APP que posteriormente utilizaremos para autenticarnos mediante un doble factor contra una VPNSSL del Forti.

Ahora añadimos la politica para que la respuesta del Freeradius sea la de solicitar un totp correspondiente a un usuario:

Las condiciones quedan por defecto, vamos a la parte de Action e introducimos lo siguiente:

Con esto tenemos lista la configuración para hacer las pruebas necesarias. Vamos a la URL de la VPN SSL y nos mostrará el portal del Fortigate para hacer el login:

Si todo ha ido como se espera y has seguido al detalle la configuración, el Fortigate te preguntara ahora por un OTP, este mensaje es también configurable en la respuesta de Radius:

Esta misma configuración es totalmente funcional si usamos el modo tunel utilizando Forticlient te solicitará un doble factor:

Saludos.

Nota: Es posible que encuentre errores de traducción u ortográficos, se realizan conversiones de idioma automaticamente aunque creo que es suficiente para poder seguir las guias en varios idiomas sin demasiado trabajo.

gpinero

No hay comentarios

Se el primero en dejar un comentario.

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

CAPTCHA ImageChange Image

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies