1 Design and implementation of a network with scalable authentication applying the Authentication, Authorization and Accounting network protocols Oscar P. Sarmiento 1 , José R. Arana 2 y Fabio G. Guerrero 3 TIPOLOGÍA: ARTICULO DE REFLEXIÓN CLASIFICACIÓN UNESCO: Campo: 33 (Ciencias Tecnológicas) Disciplina: 3304 (Tecnología de los ordenadores) Subdisciplina: 3304.0X (Fiabilidad de los ordenadores) RESUMEN Este artículo presenta el diseño e implementación de una infraestructura de red TCP/IP básica y escalable que proporciona el servicio de Autenticación, Autorización y Auditoría (AAA) usando software libre, empleando los protocolos del estándar IEEE 802.1X y el protocolo RADIUS, con base en una infraestructura de clave pública completa, un servicio de directorio centralizado que almacena las políticas de seguridad para cada usuario y una base de datos mySQL en donde se registran los eventos de autenticación del servicio de AAA. Palabras clave: AAA, Autenticación, Autorización, Auditoría, IEEE 802.1X, LDAP, VLAN. ABSTRACT This article presents the design and implementation of a basic and scalable TCP/IP network infrastructure which provides the Authentication, Authorization and Accounting (AAA) service using GNU Licensed Software, employing the IEEE 802.1X standard protocols and the RADIUS protocol, with basis in a complete public key infrastructure (PKI), a centralized directory service which stores the security policies allocated to every user and a mySQL database where the authentication events of the AAA service are registered. Keywords: AAA, Authentication, Authorization, Accounting, IEEE 802.1X, LDAP, VLAN. 1 Ingeniero Electricista de la Universidad del Valle. Profesor Asistente, Escuela de Ingeniería Eléctrica y Electrónica, Universidad del Valle. [email protected]2 Ingeniero Electrónico, Universidad del Valle. Ingeniero de Soporte Senior, Assenda S.A. [email protected]3 Ingeniero Electrónico de la Universidad del Cauca. Profesor Asistente, Escuela de Ingeniería Eléctrica y Electrónica, Universidad del Valle. [email protected]Diseño e implementación de una red con sistema de Autenticación escalable aplicando los protocolos de Autenticación, Autorización y Auditoría de redes
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Design and implementation of a network with scalable authentication applying the Authentication, Authorization and Accounting network protocols
Oscar P. Sarmiento1, José R. Arana2 y Fabio G. Guerrero3
TIPOLOGÍA: ARTICULO DE REFLEXIÓN
CLASIFICACIÓN UNESCO:
Campo: 33 (Ciencias Tecnológicas) Disciplina: 3304 (Tecnología de los ordenadores)
Subdisciplina: 3304.0X (Fiabilidad de los ordenadores)
RESUMEN
Este artículo presenta el diseño e implementación de una infraestructura de red TCP/IP
básica y escalable que proporciona el servicio de Autenticación, Autorización y Auditoría (AAA)
usando software libre, empleando los protocolos del estándar IEEE 802.1X y el protocolo
RADIUS, con base en una infraestructura de clave pública completa, un servicio de directorio
centralizado que almacena las políticas de seguridad para cada usuario y una base de datos
mySQL en donde se registran los eventos de autenticación del servicio de AAA.
Las compañías actualmente están basando cada vez más sus modelos de negocios en
proveer acceso a recursos. Estos recursos pueden ser páginas Web, acceso a Internet, cuentas
de correo electrónico, o cualquier cosa que necesite ser protegida o controlada.
¿Cómo un usuario le puede indicar a un sistema, especialmente a uno que de facto no confía
en nadie, que él está autorizado a usar determinados servicios computacionales? ¿Cómo
puede el dueño del negocio tener a los usuarios no pagos fuera del camino mientras provee
acceso conveniente a los usuarios pagos? El trasfondo es este: Con las nuevas fallas de
seguridad cada día siendo explotadas y el entorno del Internet público degenerándose de un
entorno confiable a uno de hostilidad y ataque, debe existir alguna forma con la cual el usuario
de Internet pueda usar los recursos a los cuales tiene derecho, sin dejar a todas las demás
personas sin acceso.
Este es el propósito de la autenticación, autorización y auditoría de redes, es decir,
diferenciar, asegurar y auditar a estos usuarios.
Actualmente ya se cuentan con herramientas para realizar estas tareas, usando tanto
software libre como también empleando código cerrado y el presente artículo pretende dar un
vistazo de cómo se realizan estos procedimientos, usando sólo software libre, planteando como
objetivo principal diseñar e implementar una infraestructura de red TCP/IP básica y escalable
que proporcione el servicio de autenticación, autorización y auditoría (AAA) usando el
protocolo 802.1x entre un cliente y el punto de ejecución de políticas (PEP), que use el
protocolo RADIUS entre el PEP y el punto de decisión de políticas (PDP).
3
2. METODOLOGÍA
2.1. DISEÑO DE LA INFRAESTRUCTURA DE RED QUE PROPORCIONA EL SERVICIO DE AAA
USANDO EL PROTOCOLO RADIUS Y LOS DEL ESTÁNDAR IEEE 802.1X.
La red que se desea implementar para que provea el servicio de AAA, de manera escalable,
permita varios métodos de autenticación dependiendo de las políticas que el administrador de
red desee implementar, consulte en una base de datos centralizada los usuarios que pueden
acceder a la red y los permisos en la red que cada uno posee y use certificados digitales para
demostrar la identidad de un usuario o un equipo a un usuario o equipo remoto se muestra a
continuación:
Ilustración 1 Infraestructura de la red TCP/IP básica y escalable con servicio de AAA
Este diseño muestra que es necesario que exista un aislamiento fuerte entre los equipos que
serían autenticados para ingresar a la red y los servidores que proveen el servicio de AAA, con
el fin de evitar al máximo posibles ataques contra estos equipos de misión crítica.
Para que la red sea robusta y tolerante a fallas de conectividad, los equipos de misión crítica
de la red AAA, los cuales se encuentran en el área de servidores, deben tener redundancia en
sus enlaces, principalmente el directorio de usuarios y el Servidor RADIUS, ya que sin estos
dos ningún usuario podría ingresar a la red.
Es deseable que cada departamento corporativo de una empresa esté separado por medio de
VLANS, para proteger la información confidencial que cada uno posee. Una buena práctica que
siempre se debería hacer, es ubicar en una VLAN separada a los visitantes de la red,
4
configurando dicha VLAN con restricciones muy estrictas para acceder a Internet, sin
acceso a la Intranet.
2.2. PERSPECTIVA DEL DISEÑO: AUTENTICACIÓN
El sistema de autenticación, autorización y auditoría de redes fue configurado para permitir 3
tipos de autenticación usando FreeRADIUS versión 2.1.7. El usuario que desee ingresar a la
red podrá usar alguno de estos 3 métodos de autenticación, escogiendo el que mejor se ajuste
a las características de su equipo o el método que el administrador de red haya predefinido
para el acceso a la red. Los tipos de autenticación disponibles son:
2.2.1. USANDO CERTIFICADOS DIGITALES DE IDENTIFICACIÓN PERSONAL
Se implementó una Autoridad de Certificación usando la herramienta libre OpenSSL, la cual
será la encargada de emitir todos los certificados digitales de los dispositivos de red o usuarios
que lo requieran, para comprobar ante equipos remotos sus identidades.
Para que el equipo de un usuario pueda establecer confianza con la Autoridad de
Certificación de la red, aceptar y confiar en los dispositivos de red que ella ha certificado, es
necesario que tenga instalado en su equipo el certificado raíz de confianza de dicha Autoridad
de Certificación, con el que podrá comprobar la validez de un certificado de identificación de un
tercero, que en este caso sería el servidor de autenticación RADIUS, es decir, el punto de
decisión de políticas.
Al tener una Autoridad de Certificación, y usar certificados digitales dentro de la red, se podrá
implementar autenticación mutua, eliminando la posibilidad de que un atacante pueda robar los
datos de un usuario, haciéndose pasar por el punto de acceso de la empresa, simulando un
servidor RADIUS. Un vistazo de este tipo de autenticación se muestra a continuación:
Ilustración 2 Certificado de identificación personal en Windows
Ilustración 3 Certificado del Servidor RADIUS visto en MAC OSX
5
Ilustración 4 Verificación de los certificados exitosa
Ilustración 5 Acceso aceptado con información para el acceso
2.2.2. USANDO UN NOMBRE DE USUARIO Y CONTRASEÑA CON EAP PROTEGIDO (PEAP):
En los parámetros de configuración de red de los equipos que tendrían acceso a la misma, se
configuró para que solamente se establezca la conexión con el punto de ejecución de políticas
el cual demuestre con un certificado digital, expedido por la Autoridad de Certificación en la cual
dicho equipo confía, la identidad del servidor RADIUS el cual verificará las credenciales.
El servidor RADIUS está configurado para que tenga como puntos de información de políticas
dos tipos de servidores de directorio centralizado; estos son OpenLDAP (licencia GNU) y
Directorio Activo (AD) de Microsoft. Al emplearse OpenLDAP se podrán otorgar los permisos
que tiene cada usuario en la red, al tener este servidor de directorio los pares atributo-valor
necesarios para informar al servidor RADIUS a qué VLAN será direccionado el usuario. Un
vistazo de este tipo de autenticación se muestra a continuación:
Ilustración 6 Petición de credenciales de acceso en Windows
Ilustración 7 Petición de credenciales de acceso en MAC OSX
6
2.2.3. USANDO UN NOMBRE DE USUARIO Y CONTRASEÑA EMPLEANDO EAP CON SEGURIDAD
EN LA CAPA DE TRANSPORTE TUNELADA (EAP-TTLS):
Al igual que se hizo con EAP-PEAP, se configuraron los equipos de los usuarios que acceden
a la red para que se realice autenticación mutua, antes de hacer el intercambio de credenciales
del usuario, de tal forma que no se realice la entrega si el punto de ejecución de políticas no
entrega un certificado de Servidor RADIUS válido.
Los sistemas operativos de Microsoft Windows, por defecto no tienen compatibilidad con este
tipo de EAP, por lo que fue necesario instalar un software licencia GNU adicional que
administrara la conexión inalámbrica llamado wpa_supplicant, el cual permite usar este tipo de
conexión y una gran variedad de otros tipos de EAP. Para los demás sistemas operativos
probados no fue necesario, dado que tenían compatibilidad por defecto con este tipo de EAP.
Un vistazo de este tipo de autenticación se muestra a continuación:
Ilustración 8 Conexión exitosa usando EAP-TTLS administrado por
wpa_supplicant en Windows
Ilustración 9 Ingreso de credenciales de usuario para el acceso a la red
usando EAP-TTLS en MAC OSX
7
2.3. CONFIGURACIÓN DEL PUNTO DE EJECUCIÓN DE POLÍTICAS
2.3.1. PUNTO DE EJECUCIÓN DE POLÍTICAS INALÁMBRICO:
La configuración necesaria en el punto de ejecución de políticas en el caso de que sea un
punto de acceso inalámbrico para su interacción con un servidor RADIUS se muestra a
continuación:
Ilustración 10 Configuración del Punto de Acceso inalámbrico para autenticar contra el Servidor RADIUS
2.3.2. PUNTO DE EJECUCIÓN DE POLÍTICAS CABLEADO:
Si se usa un conmutador de nivel 2, la configuración se haría con los siguientes comandos: Para configurar la autenticación usando AAA: aaa new-model aaa authentication dot1x default group radius dot1x system-auth-control Para configurar el Puerto de acceso Ethernet en donde se conectará el usuario que usará la red con AAA: interface FastEthernet0/2 switchport mode access dot1x port-control auto Para configurar la ubicación del servidor RADIUS en la red: radius-server host 10.60.60.60 auth-port 1812 acct-port 1813 key secretomuysecreto
También se deben crear las VLAN que se planea asignar a los usuarios de acuerdo al
departamento corporativo al que pertenezcan.
En el punto de decisión de políticas (Servidor RADIUS) es necesario autorizar a los puntos de
ejecución de políticas (PEP) que tendrán permiso para hacer las consultas de AAA de los
usuarios que quieran ingresar a la red.
8
En el archivo clients.conf dentro de la carpeta de configuración del servidor RADIUS
FreeRADIUS, se ingresan los puntos de ejecución de políticas que se desea que usen el
servidor RADIUS como punto de decisión de políticas, especificando su dirección IP y el secreto
compartido que tendrá con dicho PEP. Si el servidor RADIUS recibe una petición de un PEP
que no está en este listado, o el secreto compartido está errado, será ignorada.