Control de acceso wifi en el IES utilizando PfSense | Algo de Linux

lunes, 25 de mayo de 2015

Control de acceso wifi en el IES utilizando PfSense

Aprovechando que algún compañero de otro centro me ha vuelto a preguntar qué control de acceso inalámbrico tengo implantado en mi centro, y que muchos otros compañeros me siguen, voy a explicarlo aquí para que a todo el mundo le sirva de orientación: 
 
Para controlar el acceso inalámbrico a la Intranet del centro sigo utilizando freeradius directamente. Esto quiere decir que para poder conectarse en esta red, habrá que configurar un acceso WPA2 Enterprise con EAP/TTLS + PAP en lo clientes. En el blog hay un post de febrero de 2012 con un documento en el que explicaba cómo instalar y configurar freeradius para lograrlo.

Ahora bien, como en un futuro se pretende implantar el sistema BYOD (Bring Your Own Device), que en castellano quiere decir "Trae tu propio dispositivo", y aún no nos han contando cómo se va a implantar, decidí adelantarme y montar mi propio sistema de control de acceso, en lugar de esperar a que se implante en algún momento, pero, sobre todo, motivado por dos razones:
  • Porque en el centro ya me habían pedido poder conectar dispositivos personales ajenos al mismo vía wifi, algo que no podía realizar por disponer del tiempo suficiente para llevar a cabo un proyecto como éste que requiere bastante trabajo y pruebas.
  • Y porque en estos momentos cuento con la ayuda de dos alumnas en prácticas, Raquel y Jennifer, que me están ayudando muchísimo a ponerlo en marcha y probarlo.
La idea se basa en utilizar PfSense, un firewall basado en FreeBSD, para crear un portal cautivo que permita a los usuarios acceder a una red privada que les proporcione un acceso a internet.


De este modo, los usuarios se podrán conectar a la red mediante diferentes puntos de acceso abiertos y tendrán que iniciar sesión para poder navegar, como puede verse en la siguiente imagen:


Se podrá acceder de dos modos:
  • Mediante el usuario y la contraseña con que está dado de alta en el servidor ldap del centro.
  • Mediante un ticket que se podrá generar para dar un acceso limitado en tiempo a usuarios ajenos al centro.
El servidor pfSense tendrá dos interfaces:
  • Una interfaz LAN para dar servicio a clientes inalámbricos en la red 192.168.0.0
  • Una interfaz WAN que servirá para dar acceso a internet a los equipos que se conecten a través de la LAN.


El servidor pfSense, al que hemos llamado firewall, contactará con el servidor freeradius para autorizar a los usuarios que intenten conectar vía wifi. A su vez, el servidor freeradius contactará con el servidor ldap del centro para validar dichos usuarios. Ésto quiere decir que dispondremos de un sistema de control de acceso freeradius+pfsense combinado, pudiendo establecer reglas de control en freeradius y en pfsense.

Por ejemplo, podríamos hacer que los usuarios de un determinado grupo tuvieran acceso durante el horario de mañana y los de otro grupo durante el horario de tarde mediante controles en freeradius y limitar el tiempo que pueden estar conectados mediante el portal cautivo de pfsense.

El firewall pfSense tiene configurado un servidor DHCP que proporciona IP's a los clientes conectados en la LAN 192.168.0.0

Y os preguntaréis: ¿Cómo hago para que los puntos de acceso presten servicio en la red 192.168.0.0 si en el centro tan sólo tengo una red 172.x.x.x? Muy sencillo: Aprovechando que los switches disponen de soporte de VLAN, crearemos una VLAN a través de los switches de nuestro centro a la que se encontrará conectado el firewall en la interfaz LAN.
 Ésto es algo que requerirá un cierto trabajo por vuestra parte, puesto que probablemente no tendréis un mapa de red de vuestro centro en el que se identifiquen al menos los puertos que interconectan los switches, pero tampoco es difícil de identificar si examináis las tablas de enrutamiento de vuestros switches y disponéis de un tester de red. En mi caso hice un mapa de red cuando estuve configurando la telefonía IP con nuestro compañero Javi, de telecomunicaciones.

Por otra parte, he aprovechado que la mayoría de los puntos de acceso de que dispongo tienen soporte de VLAN para hacer que un mismo punto de acceso preste servicio en la VLAN por defecto del centro, por un lado y en la VLAN para dispositivos ajenos por el otro.
Publicado por primera vez en http://enavas.blogspot.com.es

2 comentarios:

Experiencias Con TICs dijo...

¡Muy interesante, Esteban!
Perdona mi ignorancia, a ver si lo he comprendido: si la idea es separar flujos, aislando los flujos de equipos externos ¿por dónde salen finalmente estos: por el router de la intranet o deben hacerlo por otra salida:adls, otro router ajeno ? por que si lo hacen por el mismo router de la intranet ¿no se mezclan los flujos que pretendíamos separar?

Esteban M. Navas Martín dijo...

PfSense es un firewall, y como tal, nos va a permitir controlar qué usuarios/máquinas acceden a determinados servicios y/o puertos de nuestra intranet. Otra cuestión es que yo tenga diferentes puertas de enlace conectadas al firewall, y, en un momento determinado, quieras sacar el tráfico por una salida diferente.

En principio, en el centro no tendrás más que el router de la intranet y todas las máquinas que accedan a tu red saldrán por él, de forma más o menos controlada, según las reglas que apliques en el firewall. Pero si tuvieras varias salidas, podrías enrutar como tú quisieras.

Básicamente, la idea es separar el acceso inalámbrico del acceso por cable para controlar el acceso a servicios y puertos.