radius zeroshell

Upload: wolfgang-jose-santamaria

Post on 09-Jul-2015

169 views

Category:

Documents


8 download

TRANSCRIPT

Servidor RADIUS con ZeroShellEsteban M. Navas - 02/02/2010 He utilizado ZeroShell para montar un servidor Radius, entre otras cosas, porque me permita disponer rpidamente de un servidor Radius sin tener que montar toda la infraestructura software que ello requiere y evitando la complejidad que supone. ZeroShell (http://www.zeroshell.net) es una distribucin opensource para servidores y dispositivos embebidos cuyo objetivo es ofrecer los principales servicios que una LAN requiere, como por ejemplo: DHCP. DNS. Firewall. VLAN. VPN. RADIUS. LDAP. Portal Cautivo. Etc... Para ms informacin, consultar la web de ZeroShell: http://www.zeroshell.net Lo nico que necesito ahora mismo es un servidor RADIUS, as que vamos a ver como configurar esta posibilidad, dejando un poco de lado el resto de servicios. ZeroShell se encuentra disponible en dos formatos: Como LiveCD. Como imagen Compact Flash. Una de las ventajas que le veo es la posibilidad de configurar ZeroShell desde un terminal o va ssh, para usuarios avanzados. No obstante, tambin podemos administrarlo de forma remota desde nuestro navegador gracias a que dispone de una interfaz web. Pero la principal ventaja para m, es que no requiere ser instalado en disco duro. Funciona directamente en modo live desde un CD o incluso en un dispositivo USB, lo que nos da juego para tener un servidor altamente disponible. Los datos y ajustes se almacenan en una base de datos que puede ser almacenada en discos ATA, SATA, SCSI y USB. Cuando lo configuramos, creamos un perfil. Ese perfil podemos copiarlo a otro equipo y, en caso de avera de la mquina, tener funcionando de nuevo nuestro servidor en pocos minutos. Adems, si tenemos guardado un perfil en nuestro equipo, al arrancar ZeroShell lo detectar y directamente lo cargar. La base de datos se puede almacenar en un equipo que ya tenga un sistema operativo instalado sin destruir nada. El sistemas de ficheros donde se almacena puede ser ext2, ext3, reiserfs o fat32. Otra opcin para tener un servidor altamente disponible es montarlo en una mquina virtual y, en lugar de guardar tan slo la BD de ZeroShell, guardar la mquina virtual completa. No voy a entrar en ms detalles acerca de ZeroShell. Para eso recomiendo visitar su web. Veamos cmo tener rpidamente disponible un servidor Radius.

Antes de nada, decir que, como lo nico que me interesa es tener un servidor radius, tan slo necesito tener una tarjeta de red en el equipo donde lo vaya a correr. Supongamos que estamos usando el LiveCD. Lo introducimos en el equipo y lo iniciamos para que arranque. Veremos una pantalla de inicio como la siguiente:

Una vez iniciado ZeroShell, veremos una pantalla ms o menos as. Pulsamos Enter y comenzar el proceso de arranque.

Como podemos ver en la pantalla de inicio se muestran los datos necesarios para configurar el servidor por primera vez: IP de ZeroShell: 192.168.0.75 Username: admin Password: zeroshell

En esta pantalla de inicio podemos realizar una serie de acciones como activar un perfil, desactivarlo, acceder al shell, reiniciar, etc... Lo mejor es cambiar ya la IP por defecto (192.168.0.75) para integrar el ser vidor en nuestra red. As que, pulsamos la tecla I para seleccionar la opcin IP Manager. Se nos mostrar una pantalla con las siguientes opciones:

Pulsamos la tecla M para seleccionar la opcin Modify IP address. Y cambiaremos la configuracin de la red para que el servidor tenga una ip y una mscara de nuestro rango. Nos ir preguntando paso a paso los datos de nuestra red. Una vez introducidos, podemos configurar el Gateway por defecto seleccionando la opcin Default Gateway. Bueno, pues ahora que ya tenemos el servidor ZeroShell con una IP de nuestra red, ya podemos acceder a su configuracin mediante el interfaz web que ste nos ofrece. As que, cogemos nuestro equipo, abrimos el navegador y, en la barra de direcciones, ponemos la IP que le hemos asignado. Por ejemplo, si le hemos asignado la IP 172.19.144.19:

Como podemos ver, nos dice que el servidor una un certificado de seguridad no vlido, algo que es cierto porque an no lo hemos configurado. As que, hacemos clic sobre la opcin de aadir una excepcin y nos aparecer una ventana donde podremos confirmar la excepcin de seguridad. Tenemos que confirmar la excepcin de seguridad porque el servidor an no tiene creados sus certificados.

Una vez hecho sto, veremos la pantalla de acceso de zeroshell:

Introduciremos los datos para acceder como administrador: admin - zeroshell

Veremos una pantalla como la siguiente:

Lo primero que tenemos que hacer es crear un perfil para guardar nuestros ajustes. Un perfil es la base de datos donde se van a guardar los ajustes. Mientras no creemos un perfil, cada vez que arranquemos zeroshell se iniciar con la configuracin por defecto. Para ello, hacemos clic en Profiles y seleccionamos el disco duro en el que vamos a guardar el perfil. Una vez seleccionado nos aparecern los botones que nos permiten trabajar con perfiles:

Como estoy trabajando en una mquina virtual en la que no he creado ninguna particin me aparece un mensaje de error. As que tendr que crear una particin. Para ello, en la siguiente pantalla, hago

clic en el botn New partition.

Si tuviera un disco duro con particiones de tipo ext2, ext3, reiserfs o fat32, me permitira seleccionar en qu particin quiero guardar el perfil.

Escribo un nombre para el disco virtual en Label y hago clic en Create Partition. Una vez creada la particin, me aparecer una ventana en la que seleccionar el disco hda1, para guardar all el perfil:

En esta ventana, hacemos clic en el botn Create Profile y se nos abrir una ventana como la siguiente, en la que tendremos que especificar una serie de datos de nuestro nuevo servidor:

Rellenamos la descripcin, Hostname, Realm, LDAP Base, nuestra contrasea de administrador y la IP del gateway por defecto. Una vez especificados nuestros datos, pulsamos el botn Create y se crear nuestro perfil. Un ejemplo:

Bien. Pues ahora que ya tenemos un perfil creado, vamos a activarlo. Para ello, seleccionamos el perfil (_DB001) y hacemos clic en el botn Activate.

Nos mostrar los datos del perfil, como vemos en la siguiente pantalla:

Si son correctos, pulsamos el botn Activate. Se reiniciar el servidor para establecer los ajustes que hemos realizado y, por tanto se cerrar la sesin.. Esperamos a que el servidor vuelva a iniciarse para seguir configurndolo. Al volver a iniciarse la mquina, si intentamos acceder al interfaz web desde el navegador, veremos que vuelve a aparecernos la informacin de que la conexin con el servidor no ha sido verificada. Volveremos a aadir la excepcin de seguridad, despus de eliminar la cach del navegador. Ahora que ya hemos iniciado la sesin con nuestro perfil, crearemos una autoridad de certificacin, algo sencillo con esta herramienta, que puede venirnos bien en algn momento para otros temas. Para ello, haremos clic en el botn X.509 CA del apartado SECURITY que hay en la parte izquierda de la pantalla principal. Veremos algo as:

Bien. Pues, de entre todos lo botones que hay para trabajar con la autoridad de certificacin, hacemos clic en el botn Setup y veremos una pantalla como la siguiente, que nos ofrece unos cuantos datos de ejemplo:

Modificaremos los datos de ejemplo que vienen con los nuestros. Por ejemplo:

Una vez introducidos nuestros datos, pulsaremos el botn Generate Nos mostrar un mensaje en el que nos pregunta si estamos seguros. Pulsamos OK y listo.

El siguiente paso a seguir es configurar RADIUS. Para ello hacemos clic en la opcin RADIUS del men USERS que tenemos a la izquierda de la pantalla y veremos una pantalla como la siguiente:

Como podemos ver el servicio RADIUS an no est activo. Antes de activarlo, vamos a registrar los puntos de acceso que van a poder contactar con el sservidor RADIUS: De los tres botones que hay para configurar el servidor RADIUS, hacemos clic en el botn Access Points y veremos una pantalla que nos permitir dar de alta nuestros puntos de acceso:

Para cada punto de acceso que vaya a comunicarse con nuestro servidor RADIUS especificaremos un nombre que nos servir para identificarlo, su IP, la mscara de red y una contrasea

compartida entre el servidor RADIUS y el punto de acceso. La contrasea debera ser una combinacin de caracteres numricos y alfanumricos maysculas y minsculas. Eso s. No puede sr de ms de 32 caracteres. Veamos un ejemplo:

Una vez introducidos los datos de cada punto de acceso pulsamos el botn Add y se aadir a la lista. Cuando terminemos de aadir puntos de acceso pulsamos el botn Close. Ahora que ya tenemos registrados los puntos de acceso activamos el servidor marcando la casilla Enabled en la siguiente pantalla.

El siguiente paso ser configurar nuestro punto de acceso. As que accedemos a l mediante el interfaz web y buscamos las opciones que nos permitan configurarlo. Como punto de acceso he utilizado un router WRT54GS que flashe con el firmware DD-WRT v24-sp2 (10/10/09) micro:

En la imagen se pueden ver las opciones que yo he seleccionado. En cuanto a la clave que debemos especificar en el apartado Radius Auth Shared Secret es la que establecimos en la casilla Shared secret cuando dimos de alta en punto de acceso en ZeroShell.

Despus crearemos los usuarios a los que vamos a permitir el acceso va wifi. En este documento veremos cmo crearlos dentro de ZeroShell, aunque tambin se podran utilizar los usuarios almacenados en una b.d. LDAP o incluso en un servidor LDAP externo. Para crear usuarios locales hacemos clic en la opcin Users del apartado USERS del men de la izquierda de la pantalla:

Como podemos ver, tan slo aparece el usuario admin. Para crear uno nuevo haremos clic en el botn Add del men superior y nos aparecer un formulario donde podremos aadir sus datos:

Como mnimo, tendremos que escribir el nombre de usuario, el password, el nombre y apellido. Si no introducimos el home de usuario, le pondr /home/nombredelusuario. Una vez introducidos los campos obligatorios veremos una pantalla que nos muestra el certificado del usuario. Realizaremos la misma operacin con cada uno de nuestros usuarios. Por ltimo, configuraremos un cliente para ver que nuestro servidor funciona. Vamos a ver cmo realizar la configuracin mediante wicd, la herramienta grfica que viene instalada en los porttiles que nos han enviado. Abrimos wicd y veremos una pantalla similar a la siguiente:

Como podemos ver, el porttil est detectando el punto de acceso que hemos configurado anteriormente. Hacemos clic en el botn Propiedades y se nos mostrar una ventana donde podremos especificar las opciones necesarias para acceder a nuestra red:

En esta pantalla: Marcaremos la opcin Usar cifrado. Seleccionaremos PEAP with TKIP/MSCHAPV2 En el cuadro Identity escribiremos nuestro nombre de usuario. En el cuadro Password escribiremos nuestra password. Y pulsaremos el botn Aceptar para guardar los ajustes. Ahora, en la ventana donde se muestra la lista de redes detectadas, no tendremos ms que hacer clic en el botn Conectar y el equipo se conectar a nuestra red.

Una ltima cosilla: Los usuarios pueden cambiar su clave de acceso a la wifi accediendo con el navegador al interfaz web del sevidor RADIUS que hemos montado con ZeroShell e introduciendo su nombre de usuario y contrasea.

Una vez introducidos el nombre de usuario y la contrasea, no tendr ms que pulsar el botn Login y le aparecer una pantalla como la siguiente:

Para cambiar el password, pulsar el botn Change password y se le abrir una ventana donde

deber introducir su password actual y el nuevo password. Una vez introducidos los datos, pulsar el botn Change.

Si los datos introducidos fueron correctos, ver un mensaje de confirmacin: