freeradius + wpa + eap + tls · pdf filefreeradius lo montaremos sobre una máquina con...

14
FreeRADIUS + WPA + EAP + TLS Seguridad en Redes Alejandro Valdés Jimenez [email protected]

Upload: phungtu

Post on 05-Feb-2018

223 views

Category:

Documents


3 download

TRANSCRIPT

FreeRADIUS + WPA + EAP + TLS

Seguridad en Redes

Alejandro Valdés [email protected]

Tabla de contenidos1. Objetivos .................................................................................................................................................32. Introducción ...........................................................................................................................................33. Instalación y Configuración de FreeRADIUS.....................................................................................3

3.1. users ............................................................................................................................................43.2. clients.conf ..................................................................................................................................43.3. eap.conf .......................................................................................................................................43.4. radius.conf...................................................................................................................................5

4. Arrancar FreeRADIUS .........................................................................................................................85. Configuración Access Point ..................................................................................................................96. Configuración Cliente..........................................................................................................................10

ii

1. Objetivos

El alumno al finalizar la experiencia deberá ser capaz de:

• Instalar y configurar FreeRADIUS.

• Configurar un Access Point.

• Crear una conexión segura en una red inalámbrica.

2. Introducción

La cada vez mas frecuente utilización de redes inalámbricas y la gran tentación que significa obtenerinformación confidencial escuchando la comunicación que trafica en ellas, ha hecho que se implementeny se sigan implementando nuevos formas de comunicación en este tipo de redes, que permitan el tráficoseguro de datos.

En esta experiencia veremos como restringuir el acceso a la red inalámbrica mediante la utilización de unusuario/clave y como podemos lograr que la información que viaja lo haga de forma segura, mediante laencriptación de los datos.

Para esto necesitamos de 3 elementos, un servidor RADIUS (FreeRADIUS), un Access Point y losclientes. FreeRADIUS lo montaremos sobre una máquina con Debian GNU/Linux. El Access Point seráun D-Link DWL-2000AP+ y los clientes serán PCs con Windows XP con SP2.

3. Instalación y Configuración de FreeRADIUS

Lo primero es bajar el código fuente, descomprimir el archivo, configurar las opciones de compilación,compilar e instalar. Los pasos se ven a continuación:

# bajamos el código fuente:~$ wget ftp://ftp.freeradius.org/pub/radius/freeradius-1.1.2.tar.gz

# desempaquetamos y descomprimimos::~$ tar xvfz freeradius-1.1.2.tar.gz

# generamos los archivos para la compilación::~$ cd freeradius-1.1.2/:~/freeradius-1.1.2$ ./configure --without-rlm_smb--without-rlm_perl --without-rlm_ldap --without-rlm_krb5

# compilamos::~/freeradius-1.1.2$ make

# si todo termina bien, lo instalamos (como root):

3

FreeRADIUS + WPA + EAP + TLS

:~/freeradius-1.1.2$ make install

Los archivos de configuración quedan instalados en /usr/local/etc/raddb/ , que es la ruta por defecto paracuando instalamos de fuentes. Una vez compilado e instalado el servidor nos dedicamos a configurarlo.A continuación se muestran las configuraciones necesarias para nuestro laboratorio.

3.1. users

Archivo donde se especifican las credenciales de los usuarios de la red. Se usa este archivo si no existeotro backend para el almacenamiento de los usuarios. En este ejemplo definimos el usuario test con laclave test. Estas credenciales tendremos que ingresar cuando intentemos conectarnos a la redinalámbrica.

test Auth-Type := Local , User-Password == "test"

3.2. clients.conf

Descripción y credenciales de los diferentes dispositivos que consultan al RADIUS (Aps, NAS, etc).

client 192.168.13.91 {secret = testing123shortname = AP-RADIUS}

client 192.168.13.99 {secret = testing123shortname = PRIMATE}

client 200.27.70.12 {secret = testing123shortname = GIBBON}

client 127.0.0.1 {secret = testing123shortname = localhostnastype = other # localhost isn’t usually a NAS...}

4

FreeRADIUS + WPA + EAP + TLS

3.3. eap.conf

Archivo de configuración de las directivas EAP a utilizar. Es un include de radiusd.conf.

eap {default_eap_type = tlstimer_expire = 60ignore_unknown_eap_types = nocisco_accounting_username_bug = no

# Supported EAP-types# EAP-TLStls {private_key_password = laclaveprivate_key_file = ${raddbdir}/certs/servidor-prueba.keycertificate_file = ${raddbdir}/certs/servidor-prueba.crtCA_file = ${raddbdir}/certs/demoCA/cacert.pemdh_file = ${raddbdir}/certs/dhrandom_file = ${raddbdir}/certs/randomfragment_size = 1024include_length = yes

}

peap {default_eap_type = mschapv2}

mschapv2 {}}

3.4. radius.conf

Archivo general de configuración de FreeRADIUS y del daemon.

prefix = /usr/localexec_prefix = ${prefix}sysconfdir = ${prefix}/etclocalstatedir = ${prefix}/varsbindir = ${exec_prefix}/sbinlogdir = ${localstatedir}/log/radiusraddbdir = ${sysconfdir}/raddbradacctdir = ${logdir}/radacct

# Location of config and logfiles.confdir = ${raddbdir}run_dir = ${localstatedir}/run/radiusd

5

FreeRADIUS + WPA + EAP + TLS

#log_file = ${logdir}/radius.log

#libdir = ${exec_prefix}/lib

#pidfile = ${run_dir}/radiusd.pid

#max_request_time = 30

#delete_blocked_requests = no

#cleanup_delay = 5

#max_requests = 1024

#bind_address = *

#port = 0

#hostname_lookups = no

#allow_core_dumps = no

#regular_expressions = yesextended_expressions = yes

#log_stripped_names = yes

#log_auth = yes

#log_auth_badpass = yeslog_auth_goodpass = yes

#usercollide = no

#lower_user = no

6

FreeRADIUS + WPA + EAP + TLS

lower_pass = no

#nospace_user = nonospace_pass = no

#checkrad = ${sbindir}/checkrad

# SECURITY CONFIGURATIONsecurity {max_attributes = 200reject_delay = 1status_server = no}

# PROXY CONFIGURATIONproxy_requests = no

# CLIENTS CONFIGURATION$INCLUDE ${confdir}/clients.conf

# SNMP CONFIGURATIONsnmp = no

# THREAD POOL CONFIGURATIONthread pool {start_servers = 5max_servers = 32min_spare_servers = 3max_spare_servers = 10max_requests_per_server = 0}

# MODULE CONFIGURATIONmodules {$INCLUDE ${confdir}/eap.conf

mschap {authtype = MS-CHAP}

files {usersfile = ${confdir}/usersacctusersfile = ${confdir}/acct_userspreproxy_usersfile = ${confdir}/preproxy_userscompat = no}

}

# Instantiation

7

FreeRADIUS + WPA + EAP + TLS

instantiate {}

#authorize {filesmschapeap}

# Authentication.authenticate {Auth-Type MS-CHAP {mschap}

eap}

#preacct {}

#accounting {}

#session {}

#post-auth {}

#pre-proxy {}

#post-proxy {}

4. Arrancar FreeRADIUS

Algunas consideraciones antes de subir el servidor. FreeRADIUS atiende en los puertos UDP/1812 yUDP/1813 por lo que hay que abrirlos en firewalls correspondientes, si es que pasan por algún firewall.

8

FreeRADIUS + WPA + EAP + TLS

Para subir el servicio ejecutamos:

:~# /usr/local/sbin/radiusd -f -X

...Listening on authentication *:1812Listening on accounting *:1813Ready to process requests.

Así podemos ver los registros de las transacciones que ocurren en la negociación entre el cliente - AccessPoint - FreeRADIUS.

Podemos probar de manera local con el siguiente comando:

:~$ radtest test test localhost 1812 testing123Sending Access-Request of id 19 to 127.0.0.1 port 1812

User-Name = "test"User-Password = "test"NAS-IP-Address = 255.255.255.255NAS-Port = 1812rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=19, length=2

y los logs:rad_recv: Access-Request packet from host 127.0.0.1:1025, id=19, length=56

User-Name = "test"User-Password = "test"NAS-IP-Address = 255.255.255.255NAS-Port = 1812...auth: type Localauth: user supplied User-Password matches local User-PasswordLogin OK: [test/test] (from client localhost port 1812)Sending Access-Accept of id 19 to 127.0.0.1 port 1025Finished request 0...

5. Configuración Access Point

Como muestra la Figura 1, debemos ingresar un nombre al access point, dar un nombre a la red (ESSID= radius), seleccionar el canal (por defecto está el 6), seleccionar el método de autenticación WPA eingresar los datos del servidor RADIUS. Recordar que la "shared secret" corresponde a la definida en elarchivo clients.conf de FreeRadius y para este cliente. Aplicamos los cambios y el access point sereiniciara.

9

FreeRADIUS + WPA + EAP + TLS

Figura 1. Access Point

6. Configuración Cliente

Una vez que ya hemos configurado el servidor RADIUS y el Access Point nos queda configurar uncliente con tarjeta inalámbrica. Importante destacar que para esta configuración necesitamos, para el casode Windows XP tener el Service Pack 2. Otros sistemas operativos tiene soporte nativo.

Para configurar nuestra conexión inalámbrica debemos hacer los siguientes cambios en su configuración:

• Abrir las propiedades de la conexión inalámbrica y seleccionar Redes Inalámbricas, Ver Figura 2.

• Configurar el mecanismo de autenticación de red y el tipo de encriptación, Ver Figura 3.

• El tipo de EAP a utilizar, Ver Figura 4.

• Deshabilitar la validación del certificado del servidor y seleccionar el método de autenticación paraEAP, Ver Figura 5.

• Deshabilitar utilizar el usuario y clave de windows, Ver Figura 6.

• Seleccionar la red radius, Ver Figura 7.

• Windows no indicará que hagamos click sobre el mensaje para que ingresemos nuestras credenciales,Ver Figura 8.

• En User name y Password ingresamos test, Ver Figura 9.

• Esperamos a quedar conectados, Ver Figura 10.

10

FreeRADIUS + WPA + EAP + TLS

Figura 2. Paso 1

Figura 3. Paso 2

11

FreeRADIUS + WPA + EAP + TLS

Figura 4. Paso 3

Figura 5. Paso 4

12

FreeRADIUS + WPA + EAP + TLS

Figura 6. Paso 5

Figura 7. Paso 6

Figura 8. Paso 7

13

FreeRADIUS + WPA + EAP + TLS

Figura 9. Paso 8

Figura 10. Paso 9

14