Está en la página 1de 4

ADMINISTRACIN Radius y 802.

1X

Acceso Seguro a Redes con 802.1X, Radius y LDAP

PROHIBIDO EL PASO
Normalmente, el protocolo Radius se utiliza para autenticar
usuarios en escenarios dial-up. Pero Radius tambin es til
en entornos LAN: en combinacin con 802.1X, Radius fuerza
a los usuarios a autenticarse a bajo nivel antes de que el
switch abra el puerto. BY
BY MICHAEL
MICHAEL SCHWARTZKOPFF
SCHWARTZKOPFF

original photo: www.sxc.hu

os ataques desde la red interna


son peligrosos y ms difciles de
prevenir que los ataques externos.
Un atacante que se conecte en una red
interna con un porttil se beneficia de
nuestro ancho de banda para el acceso a
la red de datos. Una forma de prevenir
un ataque es implementar una funcin
de autenticacin en la Capa 2 del modelo
OSI usando el protocolo 802.1X [1]. Un
switch habilitado con 802.1X y un servidor Freeradius es todo lo que necesitamos para implementar la autenticacin
en la Capa 2. Ya que la autenticacin de
la Capa 2 opera en el nivel local, la red
fsica, se evita que los intrusos utilicen la
red fsica sin autenticarse.
Las respuestas Radius (Remote
Authentication Dial-in-User Service Protocol) desde un servidor Linux suelen
incluir la direccin IP y el gateway estndar para el usuario, pero el protocolo
tiene ms potencial. Puede usar un servidor Radius para asignar una VLAN al

60

Nmero 05

puerto del switch del usuario. Esta tcnica evita la necesidad de una
infraestructura compleja de router, pero
sigue restringiendo el tamao del
dominio de broadcast. Adems, las
VLANs se pueden usar para separar
departamentos de una compaa de
manera lgica, mejorando la seguridad
al mismo tiempo. Aunque los usuarios
pueden conectarse desde cualquier sitio
en el que se encuentren (desde el bar por
ejemplo), siempre vern su propio
entorno de red.
El protocolo estndar 802.1X maneja
la autenticacin y el servidor Freeradius
se proporcionan los servicios AAA (Autenticacin, Autorizacin y Arqueo). El
servidor Freeradius accede al directorio
del servidor OpenLDAP para obtener
informacin de las cuentas. El sistema
completo est disponible tanto para
clientes Linux como Windows. Soporta
capas redundantes para alta-disponibilidad utilizando proxies para Radius y

WWW.LINUX- MAGAZINE.ES

replicacin de directorios para la base de


datos LDAP.
La solucin completa tambin puede
aplicarse a la seguridad de la WLAN, y
los administradores pueden beneficiarse
de las opciones de contabilidad (arqueo,
estadsticas.) del servidor Radius.

802.1X y EAP
El protocolo IEEE 802.1X proporciona
control de acceso en la Capa 2 de OSI (la
Capa MAC). IEEE 802.1X soporta la autenticacin de clientes mientras se
establece la conexin a la red, antes de
que al cliente se le asigne una direccin
IP va DHCP (Dynamic Host Configuration Protocol). Entre otras cosas, el
estndar especifica como el protocolo de
autenticacin (EAP, Extensible Authentication Protocol) se encapsula en marcos
Ethernet.
EAP proporciona un marco de trabajo
para varios mtodos de autenticacin
que soportan ms que la combinacin

Radius y 802.1X ADMINISTRACIN

normal de nombre de usuario y clave.


EAP utiliza el Network Access Server
(Autenticador) para abrir un tnel para
la autenticacin del servidor a travs de
la red. 802.1X define un nmero trminos especiales:

Un cliente que pide autenticarse se conoce como Suplicante.

El servidor que autentifica al


cliente se conoce como Servidor
de Autenticacin.

El dispositivo intermediario
entre estas dos entidades es el
Network Authentication Server
(NAS) o Autenticador.
Este sistema funcionar en cualquier red
que entregue paquetes Ethernet. El
Interopnet Labs white paper proporciona
una ayuda bastante til [1].

Variantes de EAP
EAP define una variedad de mtodos de
autenticacin. EAP/MD5 transfiere un
hash con el nombre del usuario, su contrasea y una cadena arbitraria. El servidor utiliza la clave en texto claro y la
cadena arbitraria para generar su propio
hash, el cual se compara con la hash
entrante. Este mtodo es simple, pero no
es seguro contra ataques tipo diccionario. Adems, en una wireless LAN,
es imposible crear claves WEP dinmicas
utilizando EAP/MD5. Por tanto, este
mtodo slo est indicado para las
pequeas redes cableadas.
Con la segunda variante, EAP/TLS,
tanto el servidor como el cliente necesitan certificados X.509. Este mtodo es
muy seguro, pero implica tener un PKI
(Public Key Infrastructure) en funcionamiento. Un tercer mtodo es PEAP,
Protected Extensible Autentication Protocol. Con PEAP, slo el servidor necesita
un certificado para establecer una conexin TLS y enviar el nombre de usuario y
la contrasea encriptados (MSCHAPv2,
Microsoft Challenge Handshake Authentication Protocol). Los administradores
slo necesitan instalar el certificado del
servidor en cada cliente.
Cuando los clientes salen del sistema o
cierran la conexin, PEAP detecta el
cambio y finaliza la autorizacin, cerrando las conexiones por ambos lados.

Distribucin de Carga
En redes slo cableadas, EAP/MD5 es a
menudo la mejor opcin. Esto es todo lo

Figura 1: El protocolo 802.1X cubre varias capas. EAP maneja cambios entre el suplicante y el
autenticador. Radius es el responsable de la ruta entre el autenticador y el servidor de autenticacin.

que se necesita para asignar dinmicamente VLANs y, a diferencia de PEAP, es


un protocolo soportado por una gran
variedad de switches. Adems de esto, el
complicado esfuerzo administrativo es
mucho menor que con PEAP o EAP/
MD5.
Un switch normalmente proporciona
funcionalidad NAS, traduciendo el protocolo EAPOL (EAP sobre LAN) desde el
suplicante a Radius, que es lo que el
servidor de acceso espera. La mayora de
los dispositivos le dan esta opcin
cuando se configura 802.1X. Necesitamos introducir la direccin y la clave
para el servidor Radius. En muchos
casos, los administradores pueden configurar mltiples servidores para proporcionar altos niveles de disponibilidad y
ofrecer una solucin alternativa en caso
de que el servidor principal caiga.

Freeradius
Freeradius [4] es una buena opcin a la
hora de escoger un servidor Radius. La
versin 1.0 aade soporte para un gran
nmero de EAPs y muy especialmente
para PEAP. Los desarrolladores han
introducido una opcin para autenticarse
en los dominios de Windows. Y Freeradius puede recuperar datos de cuenta
desde fuentes tpicas /etc/passwd, LDAP,
MySQL, PostgreSQL o bases de datos
Oracle.
La instalacin es muy simple y sigue
los tres pasos de siempre: configure &&
make && make install. Si todo va bien,
debera poner los ficheros de configuracin
del
servidor
en
/usr/local/etc/raddb. La primera cosa
que Freeradius necesita hacer es permitir
el acceso a los clientes Radius (en nues-

WWW.LINUX-MAGAZINE.COM

tro caso, NAS). El fichero clients.conf se


encarga de esto. La configuracin para
un switch con direccin esttica
192.168.200.20 podra ser como sta, por
ejemplo:
client 192.168.200.20 {
secret = probando123
shortname = switch
}

Cuando estemos configurando el servidor Radius, el administrador necesita


introducir la clave en el switch (esto es,
probando123 en nuestro caso). Freeradius aceptar la notacin CIDR (Classless Inter-Domain Routing) para redes
completas: 192.168.200.0/24.

Autenticacin de Usuarios
El fichero users especifica el tipo de
autenticacin del usuario. La siguiente
entrada debera ser vlida para las pruebas iniciales:
usuarioprueba Auth-Type := Local, U
User-Password == "contprueba"
Reply-Message = "Hola, %u"

Inicialmente querr ejecutar el servidor


Radius en modo debug. radiusd -X le
dice al servidor que muestre por consola
los mensajes de error y las advertencias.
El programa de la lnea de comandos
radtest proporciona una herramienta til
de comprobacin de clientes que puede
ayudarle a probar su configuracin.
Suponiendo la configuracin mencionada, la lnea de comandos para comprobar clientes es la siguiente: radtest
usuarioprueba contprueba localhost 0
probando123. Los tres ltimos parme-

Nmero 05

61

ADMINISTRACIN Radius y 802.1X

Figura 2: Los clientes nuevos primero tienen que autenticarse contra el NAS (esto es: el
switch). El switch acta como un proxy al servidor Radius, el cual en devuelve el acceso al
directorio LDAP para comprobar las credenciales del usuario.

tros hacen referencia al servidor Radius.


Para permitir que esto funcione, necesita
aadir localhost como un cliente Radius
vlido a clients.conf. Freeradius responder con la salida Access-Accept.

nistradores pueden aadir manualmente


la configuracin para el resto de los
usuarios. Lgicamente, este mtodo es
impracticable en grandes redes.

VLAN en la Respuesta

OpenLDAP [5] es una buena opcin


como respaldo para Freeradius (ver
Figura 2). Encontrar un buen HOWTO
con la combinacin Freeradius y OpenLDAP por Dustin Doris en [6]. La documentacin de Freeradius tambin tiene
un ejemplo en un documento de texto
denominado doc/rlm_ldap.
Sin embargo, hay un problema con la
configuracin conjunta con LDAP: RadiusLDAPv3.schema (que tambin est situado bajo el directorio de doc) no es estructural, esto es, slo funciona en conjuncin
con algn otro esquema, por ejemplo,
inetorgperson.schema. En contraste a esto,
el esquema de [6] est diseado especficamente para usarlo con Radius, pero no
entiende el tipo de extensiones necesarias
para las operaciones diarias.
Para permitir a Freeradius que
entienda las respuesta relacionadas con
lo que devuelve la VLAN por la base de
datos LDAP, tenemos que aadir

Por supuesto que el protocolo Radius


puede dar ms que un simple mensaje
como respuesta. Puede darle el nmero
de una VLAN, por ejemplo, permitiendo
al switch evaluar el nmero y aceptar los
clientes en la VLAN requerida. Para permitir que esto ocurra, necesitaremos
aadir la respuesta de Radius a la configuracin de prueba del usuario. Ntese
que el valor que devuelve necesita estar
separado por comas y sangrado con caracteres de espacios.
usuarioprueba Auth-Type := Local, U
User-Password == "contprueba"
Reply-Message = "Hola, %u",
Tunnel-Medium-Type = IEEE-802,
Tunnel-Private-Group-Id = 1,
Tunnel-Type = VLAN

Esto le dice al switch que asigne la


VLAN 1 al usuarioprueba despus de
autenticar al usuario. Los admi-

OpenLDAP

Listado 3: Referencia VLAN


Listado 1: Mapeando
Atributos
01 r e p l y I t e m T u n n e l - T y p e
radiusTunnelType
02 replyItem Tunnel-Medium-Type
radiusTunnelMediumType
03 replyItem
Tunnel-Private-Group-Id
radiusTunnelPrivateGroupId

62

Nmero 05

01 dn:uid=testuser2,ou=users,
ou=radius,dc=domain,dc=de
02 uid: testuser2
03 userPassword: password
04 objectClass: radiusprofile
05 objectClass: top
06 radiusProfileDn:
uid=vlan_02,ou=profiles,ou=rad
ius,dc=domain,dc=de

WWW.LINUX- MAGAZINE.ES

mapeado (ldap.attrmap) a nuestra configuracin de Radius (Listado 1).


La Figura 3 muestra la estructura del
directorio LDAP. El perfil (ou = profiles)
contiene las configuraciones de la VLAN.
El Listado 2 nos da el fichero LDIF para
uid = vlan_02 (ver lnea 1). Para la configuracin de usuario (ou = users), simplemente necesitaremos una referencia
al perfil con el que se corresponde en la
VLAN (Listado 3, lnea 6). Ahora, el
servidor Radius slo necesitar saber
que puede acceder a LDAP para la
gestin de usuarios. El fichero de configuracin radiusd.conf se encarga de esto.
El ejemplo del Listado 4 le dice a
Radius que se registre en el servidor
LDAP, ldap.domain.de, (lnea 3) con la
identidad identity configurada y la contrasea password (lneas 4 y 5) y para
autenticar usando el filtro filter con el
atributo
de
contrasea
password_attribute (lneas 7 y 10). Si
esto funciona, el servidor LDAP
devolver el parmetro en el perfil
correspondiente (mapeado como radiusProfileDn para el usuario).
Una nueva entrada DEFAULT en la
gestin
de
usuario
de
Radius
(fichero:users) se asegura de que se
intente la autenticacin utilizando EAP:
DEFAULT Auth-Type == EAP
Fall-Through = yes

An necesitaremos preparar a los


clientes para la autenticacin 802.1X. El
Proyecto Open 1X de [7] ha desarrollado
software para Linux para manejar esto.
Windows 2000 SP4 y WinXP SP1 tienen
funciones de autenticacin nativas para
este propsito. Adems Windows 2000
necesita lanzar el servicio Wireless Configuration.

Clientes Windows
Hay un campo de Autenticacin en las
propiedades de conexin a la red. Introduciendo EAP con el tipo requerido
(MD5, PEAP o TLS) en este campo. Los
usuarios pueden especificar cmo el sistema responder si las credenciales de
un usuario no estn disponibles, que es
el caso de antes de hacer login.
Si selecciona esta opcin, el ordenador
intentar registrarse en la red utilizando
su nombre de cliente.
En contraste a la opcin EAP/MD5,
PEAP y TLS proporcionan opciones adi-

Radius y 802.1X ADMINISTRACIN

01 dn:uid=vlan_02,ou=profiles,
ou=radius,dc=domain,dc=de
02 uid: vlan_02
03
radiusTunnelMediumType:IEEE-80
2
04 radiusTunnelType: VLAN
05 radiusTunnelPrivateGroupId: 2
06 objectClass: radiusprofile
07 objectClass: top

cionales. Los usuarios tienen que especificar el certificado CA que los clientes
deberan de aceptar. Windows tambin
puede usar el nombre de la cuenta y la
contrasea desde el login de Windows
para la autenticacin PEAP. Esta entrada
est localizada en las opciones de autenticacin avanzada.
Sin embargo, en este caso el sistema
utiliza una combinacin Dominio/Nombre de usuario. Si no estamos seguros, la

Listado 4: Configuracin de Radius


01 modules {
02 ldap {
03
server = "ldap.domain.de"
04
identity =
"cn=freeradius,ou=admins,ou=ra
dius,dc=domain,dc=de"
05
password = secret
06
basedn =
"ou=users,ou=radius,dc=domain,
dc=de"
07
filter =
"(&(uid=%{Stripped-User-Name:%{User-Name}})(objectclass =
radiusprofile))"
08
start_tls = no
09
dictionary_mapping

intenten registrarse en el dominio. Esto


ocasiona el fallo del intento de registro.
El servidor de dominio necesitar estar
en una VLAN abierta y estndar para
permitir a los suplicantes de Windows
funcionar, pero esto contraviene los principios
bsicos de seguridad.
Hay unos cuantas herramientas que resuelven este
problema proporcionando
suplicantes 802.1X propios. Estos clientes apoyan
una configuracin mucho
ms granular - permitiendo que los clientes se
integren en el proceso de
registro del dominio. El
proceso
de
registro
entonces comienza con la
Figura 3: Esta estructura de directorios LDAP contiene la
autenticacin del usuario
administracin de usuarios y otros perfiles para la configucontra la red basada en
racin de la VLAN. En cada perfil de usuario hay una entrada
802.1X y llega a manejar el
a radiusProfileDn que indica la correspondencia con el perfil
login normal de Windows.
de la VLAN.
Sin embargo, algunos programas tienen una bsqueda intervariante exacta se registrar en los
minable, as que hay probarlos antes de
ficheros de log del servidor Radius
comprarlos.
despus del primer intento de registro.
Para entender este formato, Radius neceClientes
y
Servidores
sita unos cuantos retoques. Para aprenbasados en Linux
der ms sobre este asunto, recomendamos el libro sobre Radius disponible
Encontrar una herramienta software
en [8].
802.1X madura para clientes Linux en
[7]. Esta herramienta debera hacer ms
Recin Llegados
fcil el acceso a ordenadores Linux a su
red.
Los clientes de Microsoft 802.1X tienen
El servidor Freeradius tiene una gran
un problema bsico. Primero se registran
variedad de opciones para la autentien su propio dominio y luego se autenticacin de usuarios y la configuracin de
can en la red. Pero la red no est
acceso basada en los requerimientos de
disponible para los clientes mientras

WWW.LINUX- MAGAZINE.ES

=${raddbdir}/ldap.attrmap
password_attribute =
userPassword
11 }
12 }
13
14 authorize {
15 preprocess
16 ldap
17 eap
18 suffix
19 files
20 }
21 authenticate {
22 eap
23 }
10

su red. El ejemplo que hemos visto en


este artculo es tan slo una de muchas
posibles configuraciones. Ya que esta
configuracin utiliza un servicio de
directorio para la gestin de usuarios, los
diseos de seguridad tambin estn
disponibles para redes de gran escala
donde el peligro de ataques internos es
particularmente severo.

RECURSOS
[1] Interopnet Labs, Qu es 802.1X?:
http://www.ilabs.interop.net/
WLANSec/What_is_8021x-lv03.pdf
[2] Freeradius y Windows XP: http://text.
broadbandreports.com/forum/
remark,9286052~mode=flat
[3] TinyCA: http://tinyca.sm-zone.net
[4] Freeradius: http://www.freeradius.org
[5] OpenLDAP: http://www.openldap.org
[6] Freeradius y OpenLDAP:http://doris.
cc/radius/
[7] Cdigo abierto de la implementacin
de 802.1X: http://www.open1x.org
[8] Radius - Securing Public Access to Private Resources, by Jonathan Hassell;
OReilly, 2002.

EL AUTOR

Listado 2: LDIF para VLAN 2

Michael
Schwartzkopff trabaja para Multinet
Services
GmbH
como consultor de
seguridad y redes
(especializado
en
SNMP). Se enganch a Linux en
1994 despus de trabajar con la distribucin de Yggdrasil.

Nmero 05

63

También podría gustarte