Buscar este blog

lunes, 22 de agosto de 2011

Freeradius




Bueno arto ya de leer cosicas en internet manuales obsoletos y gente perdida entre post y post etc.... he decidido hacer un pequeHowto de radius en el cual abarcaremos freeradius y las distintas maneras de autenticacion : contra el fichero users ,freeradius + openldap, freeradius wpa2Enterprise + certificados , freeradius + portal pfsense cautivo.....tambien veremos los distintos tipo de usuarios y metodos de conexion y desconexion podeis tambien preguntar...

la version con la que vamos a trabajar es la freeradius-server-2.1.10
aunque esta apunto de salir la freeradius-server-2.1.11.tar.gz

PREAMBULO

RADIUS (acrónimo en inglés de Remote Authentication Dial-In User Server). Es un protocolo de autenticación y autorización para aplicaciones de acceso a la red o movilidad IP. Utiliza el puerto 1812 UDP para establecer sus conexiones.

Cuando se realiza la conexión con un ISP mediante módem, DSL, cablemódem, Ethernet o Wi-Fi, se envía una información que generalmente es un nombre de usuario y una contraseña. Esta información se transfiere a un dispositivo Network Access Server (NAS) sobre el protocolo PPP, quien redirige la petición a un servidor RADIUS sobre el protocolo RADIUS. El servidor RADIUS comprueba que la información es correcta utilizando esquemas de autenticación 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 dirección IP, y otros parámetros como L2TP, etc.

Una de las características más importantes del protocolo RADIUS es su capacidad de manejar sesiones, notificando cuando comienza y termina una conexión, así que al usuario se le podrá determinar su consumo y facturar en consecuencia; los datos se pueden utilizar con propósitos estadísticos.

RADIUS fue desarrollado originalmente por Livingston Enterprises para la serie PortMaster de sus Servidores de Acceso a la Red(NAS), más tarde se publicó como RFC 2138 y RFC 2139. Actualmente existen muchos servidores RADIUS, tanto comerciales como de código abierto. Las prestaciones pueden variar, pero la mayoría pueden gestionar los usuarios en archivos de texto, servidores LDAP, bases de datos varias, etc. A menudo se utiliza SNMP para monitorear remotamente el servicio. Los servidores Proxy RADIUS se utilizan para una administración centralizada y pueden reescribir paquetes RADIUS al vuelo (por razones de seguridad, o hacer conversiones entre dialectos de diferentes fabricantes)....

RADIUS es extensible; la mayoría de fabricantes de software y hardware RADIUS implementan sus propios dialectos.


Bueno sin mas royo lo primero sera bajar Freeradius sus dependencias y compilarlo:

Consiguiendo los sources:

nos situamos en un directorio comodo para compilar el software y nos lo bajamos:

cd /usr/src

wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.1.10.tar.gz

descomprimimos el software:

tar -xf freeradius-server-2.1.10.tar.gz

descargamos con apt-get install todas las dependencias que son:
debhelper (>= 6.0.7)
libqd-dev,
quilt,
dpkg-dev (>= 1.13.19),
autotools-dev,
libtool,
libltdl3-dev,
libssl-dev,
libpam0g-dev,
libmysqlclient-dev,
libgdbm-dev,
libldap2-dev,
libsasl2-dev,
libiodbc2-dev,
libkrb5-dev,
libperl-dev,
libpcap-dev,
python-dev,
libsnmp-dev,
libpq-dev,
libssl-dev,

nos situamos en la carpeta estraida:

cd freeradius-server-2.1.10/

y constuimos los paquetes:

dpkg-buildpackage -uc

despues de la compilacion salimos de la carpeta y hacemos un listado :

cd ..
ls



freeradius_2.1.10+git_amd64.changes freeradius-dialupadmin_2.1.10+git_all.deb freeradius-server-2.1.10 linux-2.6.38.tar.bz2
freeradius_2.1.10+git_amd64.deb freeradius-iodbc_2.1.10+git_amd64.deb freeradius-server-2.1.10.tar.gz linux-headers-2.6.32-5-amd64
freeradius_2.1.10+git.dsc freeradius-krb5_2.1.10+git_amd64.deb freeradius-utils_2.1.10+git_amd64.deb linux-headers-2.6.32-5-common
freeradius_2.1.10+git.tar.gz freeradius-ldap_2.1.10+git_amd64.deb libfreeradius2_2.1.10+git_amd64.deb linux-kbuild-2.6.32
freeradius-common_2.1.10+git_all.deb freeradius-mysql_2.1.10+git_amd64.deb libfreeradius-dev_2.1.10+git_amd64.deb
freeradius-dbg_2.1.10+git_amd64.deb freeradius-postgresql_2.1.10+git_amd64.deb linux-2.6.38


ya solo queda instalar los paquetes con dpkg -i en su orden:

dpkg -i libfreeradius2_2.1.10+git_amd64.deb
dpkg -i freeradius-common_2.1.10+git_all.deb
dpkg -i freeradius_2.1.10+git_amd64.deb
dpkg -i freeradius-utils_2.1.10+git_amd64.deb
dpkg -i freeradius-ldap_2.1.10+git_amd64.deb


con esto ya tenemos instalado freeradius

lo siguiente es configurarlo lo cual lo dejo para la siguiente vez que me aburra ....

primero siento retomar este post unos meses mas tarde de lo que era mi intencion pero mas vale tarde que nunca....

***configuracion basica***
tras tener frerradius instalado debemos configurarlo....esto lo Haremos como es natural segun nuestras necesidades , antes decir que freeradius es muy configurable y versatil

hay cuatro achivos muy importantes en la configuracion de free-radius "users clients.conf eap.conf y radius.conf" hay muchos mas archivoss que toman parte en la configuracion de free-radius que veremos mas tarde segun la vayamos complicando ...

los ficheros estaran normalmente en /etc/freeradius/


FICHERO USERS:

En primer lugar declararemos en el fichero users el metodo de autenticacion:

router1 Auth-Type := EAP

con esto por ahora bastara....

FICHERO clients.conf

aqui añadiremos al final del archivo todos los clientes que requieran la autenticacion de nuestro servidor RADIUS es decir tales como ROUTERS PORTALES CAUTIVOS servidores PPPOE etc

de momento nuestar conexion contara de USUARIO------->ROUTER------>RADIUS----->RED
por lo tanto incluiremos ROUTER aqui.....como he dicho antes lo complicaremos mas adelante

editamos el fichero clients.conf y añadimos la informacion pertinente:

client 192.168.1.1 {
secret = okcomputer
shortname = router1
}
declaramos la ip del cliente si no lo hacemos radius no respondera sus peticiones
declaramos el "secreto" necesario para la comunicacion radius --- cliente cuanto mas complicado mas ""segura"" es la comunicacion
y el sorname esto es mas o menos importante bastaria solo con la ip antes declarada

Bueno hasta aqui pan comido ahora bamos con el fichero eap.conf

FICHERO eap.conf

a grandes rasgos y de momento aqui le daremos las directrices a radius tales como:

los modulos de autenticacio a cargar ,la compatibilidad con peap para los windows y sus rutas de los archivos necesarios ....demomento con eso nos vale...

editaremos el archivo de manera que nos quede asi:


###################################################

No hay comentarios:

Publicar un comentario