You are on page 1of 11

FREERADIUS

Desarrollo de funciones

Juan Jos Aldana Mesa David Garca Martnez

Instalacin de FreeRadius

Contenido
Introduccin ............................................................................................................................. 3 Instalacin Servidor Radius ....................................................................................................... 3 Configuracin ........................................................................................................................... 4 Descarga del cliente .............................................................................................................. 5 Conexin desde el cliente...................................................................................................... 6 Radius con MySQL .................................................................................................................... 7 Instalar Daloradius para administracin a travs de HTTP ....................................................... 10

-2-

Instalacin de FreeRadius

Introduccin
RADIUS (acrnimo en ingls de Remote Authentication Dial-In User Server). Es un protocolo de autenticacin y autorizacin para aplicaciones de acceso a la red o movilidad IP. Utiliza el puerto 1812 UDP para establecer sus conexiones. Cuando se realiza la conexin con un ISP mediante mdem, DSL, cablemdem, Ethernet o WiFi, se enva una informacin que generalmente es un nombre de usuario y una contrasea. Esta informacin se transfiere a un dispositivo Network Access Server (NAS) sobre el protocolo PPP, quien redirige la peticin a un servidor RADIUS sobre el protocolo RADIUS. El servidor RADIUS comprueba que la informacin es correcta utilizando esquemas de autenticacin como PAP, CHAP o EAP. Si es aceptado, el servidor autorizar el acceso al sistema del ISP y le asigna los recursos de red como una direccin IP, y otros parmetros como L2TP, etc. Una de las caractersticas ms importantes del protocolo RADIUS es su capacidad de manejar sesiones, notificando cuando comienza y termina una conexin, as que al usuario se le podr determinar su consumo y facturar en consecuencia; los datos se pueden utilizar con propsitos estadsticos.

Instalacin Servidor Radius


Hay que descargar el archivo mediante wget la orden sera la siguiente: Wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.1.10.tar.gz Instalaremos la librera necesaria para el encriptamiento SSL apt-get install libssl-dev Una vez descargado el archivo deberemos descomprimirlo con tar para ello crearemos una carpeta en el raz /. Debemos instalar el compilador build-essential Apt-get instal build-essential Antes de seguir si vamos a usar MySQL junto con Radius ir al apartado MySQL he instalar la librera necesaria antes de seguir con la instalacin (apt-get install libmysqlclient15-dev)

Una vez hecho esto generaremos los archivos necesarios para la compilacin (dentro de la carpeta que descomprimimos) ./configure --without-rlm_smb --without-rlm_perl --without-rlm_ldap --without-rlm_krb5 Despus ejecutaremos el comando: make Por ltimo instalaremos nuestra compilacin con:

-3-

Instalacin de FreeRadius make install En caso de equivocacin deberemos ejecutar esta orden y repetir todo el proceso anterior: Make clean

Configuracin
Modificaremos el archivo /usr/local/etc/raddb/eap.conf y aadiremos la siguiente configuracin en las lneas(crearemos antes una copia de seguridad): default_eap_type = peap #lnea 30 default_eap_type = md5 #por defecto esta elegida private_key_password = whatever #por defecto esta elegida A continuacin modificaremos el archivo /usr/local/etc/raddb/users (creamos su copia de seguridad y aadiremos en la lnea 203-204 de esta forma: test Cleartext-Password := "test" El siguiente paso sera modificar el archivo /usr/local/etc/raddb/modules/mschap en estas lneas: use_mppe = yes #linea 19 require_encryption = yes #des comentamos la lnea 24, 29 y 36 require_strong = yes with_ntdomain_hack = yes Una vez hecho esto ejecutaremos la siguiente lnea: /usr/local/sbin/radiusd -f -X Modificaremos este archivo /freeradius/freeradius-server-2.1.10/src/tests/peapmschapv2.conf con la siguiente configuracin: # # eapol_test -c peap-mschapv2.conf -s testing123 # network={ ssid="example" key_mgmt=WPA-EAP eap=PEAP identity="test" anonymous_identity="anonymous" password="test" phase2="autheap=MSCHAPV2" # Uncomment the following to perform server certificate validation. # ca_cert = /etc/raddb/certs/ca.der } -4-

Instalacin de FreeRadius Ejecutaremos todos los cambios realizados mediante la siguiente orden: /usr/local/bin/eapol_test -c peap-mschapv2.conf -s testing123 > salida.txt

Descarga del cliente


Nos bajaremos el cliente mediante esta orden: wget http://hostap.epitest.fi/releases/wpa_supplicant-0.7.3.tar.gz Crearemos una carpeta donde descomprimirlo: mkdir wpa_supplicant mv wpa_supplicant-0.7.3.tar.gz /wpa_supplicant tar -xvzf wpa_supplicant-0.7.3.tar.gz Dentro de la carpeta wpa_supplicant/ cp defconfig .config Modificaremos el archivo .config descomentamos esta linea CONFIG_EAPOL_TEST=y Make eapol_test Copiamos este archivo de esta forma cp eapol_test /usr/local/bin Y por ltimo esta sentencia: /usr/local/bin/eapol_test -c peap-mschapv2.conf -s testing123 > salida.txt Editaremos el archivo /usr/local/etc/raddb/clients.conf Client 192.168.112.99{ Secret Shortname } =testing123 =pa

(Esto es para que Radius sepa que este es un cliente valido) Si usamos Mysql esto no ser necesario(dar error si lo acecemos)

Para poner en marcha el servidor Radius ejecutamos: /usr/local/sbin/radiusd -f X -5-

Instalacin de FreeRadius

Conexin desde el cliente


En el punto de acceso configuraremos indicndole nuestra ip de servidor Radius:

Elegimos nuestra red en el cliente en la cual devoremos rellenar nombre y contrasea asi como autentificacin EAP tal y como se muestra en la imagen:

-6-

Instalacin de FreeRadius

El esta pantalla elegiremos ignorar

Una vez esto podremos navegar sin problemas con nuestro servidor Radius

Radius con MySQL


Para usar este gestor de bases de datos junto con Radius, deberemos instalar la librera: apt-get install libmysqlclient15-dev Si esta librera no la tenemos instalada a la hora de compilar Radius deberemos limpiar la compilacin y repetir el proceso de compilado anteriormente descrito. -7-

Instalacin de FreeRadius Procederemos a instalar las herramientas de mysql en Radius: apt-get install freeradius-mysql Despus generaremos los certificados necesarios: radiusd -X El usuario root deber tener asignada una clave de root(al instalar phpmyadmin se asigna)

Despus generaremos una nueva base de datos con esta orden: mysqladmin -uroot -proot create radius Accedemos al intrprete de comandos: mysql -uroot proot Despus creamos el usuario Radius GRANT all ON radius.* TO radius@localhost IDENTIFIED BY 'root'; Y salimos del intrprete MYSQL Despus deberemos ejecutar las siguientes lneas de comandos: mysql -uradius -proot radius < /usr/local/etc/raddb/sql/mysql/cui.sql mysql -uradius -proot radius < /usr/local/etc/raddb/sql/mysql/ippool.sql mysql -uradius -proot radius < /usr/local/etc/raddb/sql/mysql/nas.sql mysql -uradius -proot radius < /usr/local/etc/raddb/sql/mysql/schema.sql mysql -uradius proot radius < /usr/local/etc/raddb/sql/mysql/wimax.sql

A continuacin deberemos descomentar la siguiente lnea del archivo /usr/local/etc/raddb/radiusd.conf $INCLUDE sql.conf Tambin modificaremos la contrasea del archivo sql.conf (en la raz de Radius) # Connection info: server = "localhost" #port = 3306 login = "radius" password = "root"

-8-

Instalacin de FreeRadius Descometaremos la lnea 100: readclients = yes Edite el fichero /etc/raddb/sites-enabled/default , descomentando en la seccin authorize, lo cual se localiza aproximadamente alrededor de la lnea 159: sql y de la en la seccin accounting, lo cual se localiza aproximadamente alrededor de la lnea 388: sql En el archivo /usr/local/etc/raddb/sites-enable/inner-tunel descomentamos la lnea: sql Para realizar las pruebas daremos de alta un usuario en la base de datos para probar para ello ejecutaremos el siguiente insert desde mysql: INSERT INTO radcheck (username, attribute, value) VALUES ('david', 'Password', 'root'); Para comprobar que funciona ejecuta el siguiente select: select * from radcheck where username='david'; (nos deber mostrar el usuario anteriormente creado) Iniciaremos el servidor Radius: /usr/local/sbin/radiusd start Verifique que el servicio puede autenticar a travs de MySQL: radtest david root localhost 1812 testing123 A partir de este punto, solo podr autenticar usuarios de manera local. Para poder conectar el punto de acceso hacia el servidor Freeradius, vuelva a conectarse MySQL, una vez dentro ejecute lo siguiente, definiendo la direccin IP del punto de acceso, nombre corto, tipo de NAS (other, cisco, livingston, computon, max40xx, multitech, natserver, pathras, patton, portslave, tc o usrhiper). Si utiliza un pinto de acceso casero, defina el tipo other. INSERT INTO nas (nasname, shortname, type, secret) VALUES ('192.168.112.99', 'Puntodeacceso, 'other', 'root'); Para verificar, ejecute desde el smbolo de sistema de MySQL lo siguiente: select * from nas where shortname='Puntodeacceso'; Hay que repetir esto para cada punto de acceso que queramos autorizar.

Para que estos cambios tengan efecto hay que reiniciar el servicio Radius:

-9-

Instalacin de FreeRadius /usr/local/sbin/radiusd restart Para hacer las pruebas de conextividad aadimos uno de los portales el cual hara la funcin de punto de acceso para ello ejecutar: INSERT INTO nas (nasname, shortname, type, secret) VALUES ('192.168.112.4', 'Puntodeacceso2, 'other', 'root'); Reiniciamos el servidor Radius. En el cliente deberemos instalar el siguiente programa para poder realizar las pruebas: apt-get install freeradius-utils

Instalar Daloradius para administracin a travs de HTTP


Luego instalamos algunas librerias que son necesarias para el buen funcionamiento de la aplicacin: apt-get install php-pear php-DB Reiniciamos apache: /etc/init.d/apache2 restart Nos cambiamos al siguiente directorio: cd /var/www Descargue desde sourceforge.net/projects/daloradius el fichero correspondiente a la versin ms reciente de Daloradius: wget http://cdnetworks-us-1.dl.sourceforge.net/project/daloradius/daloradius/daloradius-0.98/daloradius-0.9-8.tar.gz Lo descomprimimos dentro de /var/www/dolaradius mediante tar. Cargue las tablas de Daloradius en la base de datos utilizada por Freeradius(detro de la carpeta que hemos descomprimido. mysql -uradius proot < contrib/db/mysql-daloradius.sql Edite el fichero library/daloradius.conf.php: $configValues['CONFIG_DB_HOST'] = '127.0.0.1'; $configValues['CONFIG_DB_USER'] = 'radius'; $configValues['CONFIG_DB_PASS'] = 'root'; $configValues['CONFIG_DB_NAME'] = 'radius';

-10-

Instalacin de FreeRadius Genere un nuevo fichero denominado /etc/httpd/conf.d/daloradius.conf y aada el siguiente contenido, donde x.x.x.x (ejemplo: 192.168.0.2) corresponde al al direccin IP del sistema desde el cual se realizar la administracin remota de Daloradius: Alias /daloradius "/var/www/daloradius-0.9-8/" Options None order deny,allow deny from all allow from 127.0.0.1 allow from 192.168.112.4 Una vez hecho esto solo queda reiniciar nuestro servidor apache.

-11-

You might also like