Implementando un servidor Radius para WIFI

La verdad es que es casi de vergüenza que en la época en la que estamos aún no me haya metido en el fregado de montar una Wifi en condiciones en la empresa. Hasta la fecha, como no demasiada gente se conectaba a nuestra Wifi, usábamos una encriptación WPA2 con clave fija. Evidentemente con poca gente esto no supone muchos riesgos, ya que en caso de despido y cese en la empresa de alguno de los usuarios que usan la Wifi con cambiarla y dar la nueva contraseña es suficiente. El problema es cuando este número de usuarios crece, y crece…

Evidentemente hoy en día con el auge de las tabletas, móviles con Wifi, portátiles, etc etc.. es casi imposible que no haya nadie que te diga «¿Me puedes dar la contraseña de la Wifi?»… Solución: Wifi por usuarios, ¿el método? Autenticación con Radius.

Para este pequeño experimento he utilizado un punto de acceso DLINK DWL-2100AP y un servidor Proliant al que primeramente instalé FreeRadius y a continuación TekRadius. Las pruebas con FreeRadius fueron realmente satisfactorias. Mi pobre iPhone acabo harto de que cada dos por tres estuviera entrando y saliendo de la Wifi. Finalmente opté por dejar el servicio con TekRadius, ya que la versión de FreeRadius que hay ahora mismo en Windows 2008 tiene un Bug y solo funciona en modo DEBUG, lo cual no es deseable en entornos de producción.

En fin… Para configurar este invento hay que hacer lo siguiente:

Primeramente descargarnos TekRadius de la web: http://www.tekradius.com

Existen dos versiones, una que guarda los datos en SQL y otra que utiliza SQL Lite y que no necesita de una base de datos externa. Yo me he descargado la versión para SQL Lite, ya que para hacer pruebas realmente no tengo por qué estar complicándome demasiado.

Es importante también bajarse el programa TekCert de la misma web ya que con él crearemos el certificado de seguridad que incluiremos con nuestra conexión e instalarlo, ya que lo primero que haremos será crear un certificado que se utilizará en los clientes que tengan capacidad de utilizar PEAP usando un certificado, más seguro.

Como ya he comentado anteriormente lo primero es abrir TekCert. Y rellenar los campos para crear un certificado. En la siguiente captura de pantalla podemos ver cómo quedaría uno que he creado yo:

Deberéis de rellenarlo con vuestros datos.Quizás lo único que habría que tener en cuenta es la duración del certificado «Valid for». Yo le he puesto 9999, lo que hace que el certificado sea válido para este número de días. Eso ya a ha gusto de cada uno.

Tras haber creado el certificado con «Generate Certificate» podemos salir del programa e irnos al TkRadius Manager. Lo primero de todo es dejar el programa bien configurado antes de meternos en líos. Para ello pulsamos sobre la pestaña Setting y a continuación Service Parameters. Veremos que aparece algo así:

Y lo configuraremos de la siguiente manera:

Listen IP Address: La dirección IP de nuestra máquina servidora, es decir, donde está instalado el programa

Startup: Automatic, así en caso de reiniciar la máquina el servicio Radius arrancará solo

Logging: Yo uso debug para obtener logs de todo, en caso de no querer ponéis none o un nivel inferior.

Authentication Port: 1812. Es el usado por defecto para Radius.

PEAP Inner Auth Method: Hay varios. Yo con EAP-MS-CHAP he conseguido que se me autenfiquen iPhones y Blackberrys. Con otros puede daros problemas. Es cuestión de ir probando.

Accounting Enabled Port: Se marca solo si vuestro punto de acceso requiere este dato. Por lo normal es el puerto Radius + 1, por lo que si el puerto era 1812 este será 1813. En mi caso tuve que usarlo o mis clientes no se autentificaban corréctamente.

Grabamos con «Save Settings» y a continuación nos vamos a la pestaña «Users» donde definiremos los usuarios que podrán conectarse a nuestra Wifi. He creado un usuario llamado «pruebita», con contraseña igualmente «pruebita». En la siguiente pantalla podeis ver cómo quedaría:

Para dar de alta los usuarios hay que hacer lo siguiente:

En la parte izquierda añadimos el nombre de usuario. Cuando esté hecho pinchamos sobre él y en los «Attribute» de la derecha activamos:

  • Check User-Password: Y en la casilla de la derecha ponemos la contraseña que va a tener dicho usuario. Vereis que queda oculta con asteriscos
  • Check TLS-Server-Certificate: Al pulsar sobre el desplegable de la derecha os aparecerá el certificado que habéis creado con TkCert.

Con esto ya tenemos nuestro usuario creado. Ya estamos casi, falta solamente definir al punto de acceso. Para ello pulsamos sobre la pestaña «Clients» y aparecerá algo parecido a lo siguiente:

 

Para dar de alta nuestro punto de acceso (En nuestro caso el DLINK) rellenaremos los campos de la siguiente manera:

  • NAS: IP que tiene actualmente el punto de acceso. Esto es importante. En caso de cambiar alguna vez la IP del punto de acceso también deberemos de cambiarla aquí.
  • Secret: Contraseña con la que el punto de acceso se conectará a nuestro Radius. Poned una cualquiera , que sea segura, y es la que usaréis a la hora de configurar el punto de acceso.
  • Vendor: por lo normal usad ietf
  • Enabled: Yes

Ya tendremos TkRadius configurado. Para más seguridad de que funcione corréctamente debereis de reiniciar el servicio o incluso reiniciar el ordenador completamente. El último paso sería configurar el punto de acceso. En el caso de mi DLINK quedaría de la siguiente manera:

Tanto en Radius server como Accounting Server debéis de poner la dirección IP de vuestro servidor Radius. Aplicad los cambios y lo siguiente es coger un dispositivo Wifi y conectaros a la red. ¡A mí me ha funcionado incluso con un iPhone!

3 comentarios (+¿añadir los tuyos?)

  1. Danilo Teran
    Jun 19, 2012 @ 20:12:05

    Buena informacion.

    Pero el usuario no se conecta pe pide usiario y pass los ingreso y luego me dice que no puede conectarse

    Responder

    • khaosjrm
      Jun 27, 2012 @ 00:53:11

      Asegurate que está bien puesta la IP del servidor Radius en tu punto de acceso, asi como que tanto el servidor como el punto de acceso se ven entre sí. Prueba a hacer un ping entre ellos. El ejemplo que he dado lo he probado en dos puntos de acceso y sin problemas hasta la fecha.

      Responder

  2. Un Post Cojonudo
    Ene 13, 2013 @ 11:18:06

    Un post Cojonudo ! Muchas gracias por el aporte !

    Responder

Deja un comentario