Fortigate SSLVPN y NPS – ip estatica usando Radius Fortigate SSLVPN y NPS – ip estatica usando Radius
Hace tiempo que no escribo, pero hoy quería sacar tiempo para dejar por aquí algo que he tenido que solucionar en esta última semana,... Fortigate SSLVPN y NPS – ip estatica usando Radius

Hace tiempo que no escribo, pero hoy quería sacar tiempo para dejar por aquí algo que he tenido que solucionar en esta última semana, puede que no sea algo común y además va en contra de como funciona el Fortigate.

Cuando aplicamos reglas, siempre pensamos en direcciones ip pero el Fortigate tiene su potencia en la posibilidad de aplicar dichas reglas por usuario, independientemente de tras qué dirección ip se encuentre, el Forti aplicará las políticas para un usuario concreto. Esto se puede realizar de manera global usando FSSO o en el caso de SSLVPN de una manera mucho más sencilla de implantar. Si usamos VPN y el FortiClient ya le estamos pasando un certificado (deberias), un usuario y una contraseña con lo que el firewall nos identifica y nos aplica las políticas en función de usuario o grupos de usuarios. Hasta aquí nada nuevo, seguramente si has trabajado con Foritgate lo hayas hecho miles de veces, el problema viene cuando piensas en el sentido contrario.

¿Qué pasa si quieres hacer consultas hacia los clientes? Necesitas identificar al cliente siempre por una dirección ip fija y esto no es tan sencillo.

Una solución podría ser crear un portal para cada cliente y utilizar un rango (de una sola ip) en ese portal. Esto valdría si tienes sólo unos pocos clientes pero se hace imposible de gestionar si tienes cientos, por limitaciones, no puedes crear tantos portales y además la gestión es un locura.

Dicho todo esto, la solución pasa por usar un RADIUS y devolverle al cliente una ip usando el atributo Framed-IP-Address. Para esto vamos a necesitar un servidor RADIUS, yo que soy muy del mundo CISCO os diría como usar un Cisco ISE para esto pero no todo el mundo tiene accesible uno de esos por lo qué en este caso vamos a usar NPS (Network Policy Services) que se puede instalar como un rol sobre Windows Server.

Bien, ya tenemos las herramientas necesarias, vamos al lio. Partimos de una instalación de Windows Server 2012 con ip 10.255.50.50 al que le vamos a instalar el rol de NPS, desde el Server Manager instalamos este ROL y reiniciamos:

Una vez tenemos el rol activo, vamos a las Herrmientas administrativas para abrir el NPS y añadir al Fortigate como cliente RADIUS:

NPS > RAdius Clients and Servers > Radius Clients pulsamos botón derecho y New Radius Client

Con esto ya podemos configurar el Fortigate, vamos a la GUI y añadimos un nuevo RADIUS, le pasamos los datos que hemos dado de alta en el NPS y lo configuramos tal y como se ve en esta imagen:

Bien, ya tenemos el RADIUS añadido al Fortigate. Volvemos al NPS para darle una lógica a todo esto

Creamos dos usuarios en el Windows (user1 y user2) y un grupo fortivpn1 donde los metemos a ambos, este grupo será el que use el Fortigate para validar a los usuarios de VPN, si tienen ese grupo podrán acceder sino no lo harán.

Además, aquí viene lo bueno, a cada usuario le asignamos una ip del rango que entrega el Fortigate. Estos clientes con ip fija de VPN han de estar en un portal nuevo, ya que ahora veremos que hay que realizar una pequeña configuración por CLI a ese portal para asignar las ips fijas. En mi caso, el rango vpn es 10.30.30.10 – 10.30.30.200

Sabiendo el rango vamos a darle una ip al user1, en el windows modificamos las propiedades del usuario:

Dial-in > Marcamos Assign Statip IP Adresses

Ahora vamos al Fortigate y creamos este grupo remoto para poder aplicar las políticas a este nuevo portal. Creamos el grupo Remoto

El portal y la autenticación:

Y creamos las reglas de VPN, si queremos trafico en sentido contrario (LAN interna -> Clientes VPN) no hacemos NAT y creamos una ruta estatica hacia esos clientes en el Fortigate.

Ahora tenemos que decirle al Fortigate que ese portal no usara la asignación de ip del pool sino que lo hará a través de RADIUS usando el atributo Framed-IP-Address

config vpn ssl web portal
edit vpn-ssl_zimbra
set ip-mode user-group
end

Con esto ya temenos listo la parte de configuración del Fortigate, falta configurar el NPS para que devuelva los valores correctos via RADIUS.

Para Connection Request Policy usamos la que viene por defecto: Use Windows authentication for all users

Los usuarios del grupo fortivpn1 podrán acceder a la VPN, para ellos hay que crear la regla de autenticación en el NPS. Creamos una nueva “Network Policy”:

Establecemos el grupo en las condiciones

En la parte de “Settings” es donde tenemos que devolver al Fortigate los valores apropiados. En este caso “Vendor Specific”

Pulsamos Add:

Vendor Code 12356 y luego Configure Attribute:

Así debe quedar:

Ya podemos hacer la prueba a conectar con el Forticlient a esta nueva vpn, veremos como a los usuarios se les asigna su ip correspondiente, siempre la misma.

User1 y User2 tienen las ips establecidas por el NPS:

De esta manera podrás establecer la ip al usuario desde el Windows de una manera sencilla y rápida.

Referencias

https://kb.fortinet.com/kb/documentLink.do?externalID=FD30263

https://inside.fortinet.com/doku.php?id=sslvpn_with_radius_using_active_directory_and_nps

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