Está en la página 1de 4

Acceso Seguro a Redes con 802.

1X, Radius y LDAP


60
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 au-
tenticacin 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 Configura-
tion Protocol). Entre otras cosas, el
estndar especifica como el protocolo de
autenticacin (EAP, Extensible Authenti-
cation Protocol) se encapsula en marcos
Ethernet.
EAP proporciona un marco de trabajo
para varios mtodos de autenticacin
que soportan ms que la combinacin
puerto del switch del usuario. Esta tc-
nica 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 (Au-
tenticacin, 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-disponibili-
dad utilizando proxies para Radius y
L
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 servi-
dor Freeradius es todo lo que necesita-
mos 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 Pro-
tocol) desde un servidor Linux suelen
incluir la direccin IP y el gateway estn-
dar para el usuario, pero el protocolo
tiene ms potencial. Puede usar un servi-
dor Radius para asignar una VLAN al
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 MICHAEL SCHWARTZKOPFF
PROHIBIDO EL PASO
PROHIBIDO EL PASO PROHIBIDO EL PASO
PROHIBIDO EL PASO PROHIBIDO EL PASO
PROHIBIDO EL PASO PROHIBIDO EL PASO
PROHIBIDO EL PASO PROHIBIDO EL PASO
ADMINISTRACIN Radius y 802.1X
60
WWW. L I NUX- MAGAZI NE. ES
o
r
i
g
i
n
a
l

p
h
o
t
o
:

w
w
w
.
s
x
c
.
h
u
Nmero 05
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 MICHAEL SCHWARTZKOPFF
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 trmi-
nos especiales:
Un cliente que pide autenti-
carse se conoce como Supli-
cante.
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 con-
trasea y una cadena arbitraria. El servi-
dor 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 dic-
cionario. 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 necesi-
tan certificados X.509. Este mtodo es
muy seguro, pero implica tener un PKI
(Public Key Infrastructure) en fun-
cionamiento. Un tercer mtodo es PEAP,
Protected Extensible Autentication Proto-
col. Con PEAP, slo el servidor necesita
un certificado para establecer una cone-
xin TLS y enviar el nombre de usuario y
la contrasea encriptados (MSCHAPv2,
Microsoft Challenge Handshake Authen-
tication 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, cerran-
do las conexiones por ambos lados.
Distribucin de Carga
En redes slo cableadas, EAP/MD5 es a
menudo la mejor opcin. Esto es todo lo
que se necesita para asignar dinmica-
mente 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 proto-
colo 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. Necesita-
mos introducir la direccin y la clave
para el servidor Radius. En muchos
casos, los administradores pueden con-
figurar mltiples servidores para propor-
cionar 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 Freera-
dius 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 configu-
racin del servidor en
/usr/local/etc/raddb. La primera cosa
que Freeradius necesita hacer es permitir
el acceso a los clientes Radius (en nues-
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 servi-
dor Radius, el administrador necesita
introducir la clave en el switch (esto es,
probando123 en nuestro caso). Freera-
dius aceptar la notacin CIDR (Class-
less 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 prue-
bas 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 men-
cionada, la lnea de comandos para com-
probar clientes es la siguiente: radtest
usuarioprueba contprueba localhost 0
probando123. Los tres ltimos parme-
61
WWW. L I NUX- MAGAZI NE. COM
Radius y 802.1X ADMINISTRACIN
61
Nmero 05
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 auten-
ticacin.
nistradores pueden aadir manualmente
la configuracin para el resto de los
usuarios. Lgicamente, este mtodo es
impracticable en grandes redes.
OpenLDAP
OpenLDAP [5] es una buena opcin
como respaldo para Freeradius (ver
Figura 2). Encontrar un buen HOWTO
con la combinacin Freeradius y Open-
LDAP por Dustin Doris en [6]. La docu-
mentacin 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: Radius-
LDAPv3.schema (que tambin est situa-
do bajo el directorio de doc) no es estruc-
tural, esto es, slo funciona en conjuncin
con algn otro esquema, por ejemplo,
inetorgperson.schema. En contraste a esto,
el esquema de [6] est diseado especfi-
camente 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
mapeado (ldap.attrmap) a nuestra con-
figuracin 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 con-
figuracin de usuario (ou = users), sim-
plemente 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 confi-
guracin 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 con-
trasea 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 radius-
ProfileDn 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 Con-
figuration.
Clientes Windows
Hay un campo de Autenticacin en las
propiedades de conexin a la red. Intro-
duciendo EAP con el tipo requerido
(MD5, PEAP o TLS) en este campo. Los
usuarios pueden especificar cmo el sis-
tema 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-
tros hacen referencia al servidor Radius.
Para permitir que esto funcione, necesita
aadir localhost como un cliente Radius
vlido a clients.conf. Freeradius respon-
der con la salida Access-Accept.
VLAN en la Respuesta
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 per-
mitir que esto ocurra, necesitaremos
aadir la respuesta de Radius a la confi-
guracin de prueba del usuario. Ntese
que el valor que devuelve necesita estar
separado por comas y sangrado con ca-
racteres 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-
ADMINISTRACIN Radius y 802.1X
62
Nmero 05 WWW. L I NUX- MAGAZI NE. ES
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.
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
Listado 1: Mapeando
Atributos
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
Listado 3: Referencia VLAN
cionales. Los usuarios tienen que especi-
ficar 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 auten-
ticacin avanzada.
Sin embargo, en este caso el sistema
utiliza una combinacin Dominio/Nom-
bre de usuario. Si no estamos seguros, la
variante exacta se registrar en los
ficheros de log del servidor Radius
despus del primer intento de registro.
Para entender este formato, Radius nece-
sita unos cuantos retoques. Para apren-
der ms sobre este asunto, recomen-
damos el libro sobre Radius disponible
en [8].
Recin Llegados
Los clientes de Microsoft 802.1X tienen
un problema bsico. Primero se registran
en su propio dominio y luego se autenti-
can en la red. Pero la red no est
disponible para los clientes mientras
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 con-
traviene los principios
bsicos de seguridad.
Hay unos cuantas herra-
mientas que resuelven este
problema proporcionando
suplicantes 802.1X pro-
pios. Estos clientes apoyan
una configuracin mucho
ms granular - permi-
tiendo que los clientes se
integren en el proceso de
registro del dominio. El
proceso de registro
entonces comienza con la
autenticacin del usuario
contra la red basada en
802.1X y llega a manejar el
login normal de Windows.
Sin embargo, algunos pro-
gramas tienen una bsqueda inter-
minable, as que hay probarlos antes de
comprarlos.
Clientes y Servidores
basados en Linux
Encontrar una herramienta software
802.1X madura para clientes Linux en
[7]. Esta herramienta debera hacer ms
fcil el acceso a ordenadores Linux a su
red.
El servidor Freeradius tiene una gran
variedad de opciones para la autenti-
cacin de usuarios y la configuracin de
acceso basada en los requerimientos de
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. I
Radius y 802.1X ADMINISTRACIN
63
Nmero 05 WWW. L I NUX- MAGAZI NE. ES
Figura 3: Esta estructura de directorios LDAP contiene la
administracin de usuarios y otros perfiles para la configu-
racin de la VLAN. En cada perfil de usuario hay una entrada
a radiusProfileDn que indica la correspondencia con el perfil
de la VLAN.
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
Listado 2: LDIF para VLAN 2
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
=${raddbdir}/ldap.attrmap
10 password_attribute =
userPassword
11 }
12 }
13
14 authorize {
15 preprocess
16 ldap
17 eap
18 suffix
19 files
20 }
21 authenticate {
22 eap
23 }
Listado 4: Configuracin de Radius
[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 Pri-
vate Resources, by Jonathan Hassell;
OReilly, 2002.
RECURSOS
Michael
Schwartzkopff tra-
baja para Multinet
Services GmbH
como consultor de
seguridad y redes
(especializado en
SNMP). Se enganch a Linux en
1994 despus de trabajar con la dis-
tribucin de Yggdrasil.
E
L
A
U
T
O
R

También podría gustarte