Diseño e implementación de arquitectura de conectividad y

Anuncio
1
Diseño e implementación de arquitectura de
conectividad y seguridad AAA en UDNET
(Authentication, Authorization and Accounting)
Jorge Alberto González Güiza 20101273035
Resumen—This document is a summary about the project
named “Diseño e implementación de arquitectura de conectividad
y seguridad AAA en UDNET (Authentication, Authorization and
Accounting)”.
In the theoretical framework will find information of different
technologies and protocols that underpin this project, also provides a short guide implementation of AAA . Through the state
of the art we have an overview of how this technology is being
implemented today, and in this article you can read about an
example of implementation of AAA with RADIUS on Windows.
Index Terms—Accounting, Authentication, Authorization, Firewall, Proxy, RADIUS, Server, TACACS+.
I.
I NTRODUCCION
Ste proyecto consiste en el analisis, diseño e implementación de una arquitectura de conexión y seguridad
denominado AAA. Para que AAA funcione necesita configurar
un protocolo base, el cual puede ser TACACS+ o RADIUS.
TACACS+ es un protocolo de CISCO, por lo cual requiere dos
caracteristicas especificas: que todos los equipos sean CISCO
y pagar el precio que exigen para permitir la utilización de este
protocolo. Por otra parte RADIUS es de libre uso y no tiene
ninguna limitante con respecto a el fabricante de los equipos
donde se vaya a implementar[1].
Al hacer una breve comparación entre estos dos protocolos
encontramos los siguientes resultados:
E
Transporte
Encriptación
Autorización y Autenticación
ARA, NetBios,NASI, X25
Requerimiento de equipos
Precio
TACACS+
RADIUS
TCP
Todo
Por separado
Si
Alto
Alto
UDP
Password
Combinado
No
Medio
Gratis
Cuadro I
C OMPARACIÓN TACAS+ Y RADIUS
AAA es una arquitectura de sistema, la cual sirve para
configurar un conjunto de tres funciones de seguridad (Authentication, Authorization and Accountig):
Autenticación: Proporciona el método de identificación
de usuarios, incluyendo nombre de usuario y contraseña,
desafío y respuesta, soporte de mensajería, y, según el
Your name is with xyz Department. . .
protocolo de seguridad que seleccione, puede ofrecer
cifrado[2].
Autorización: Provee el método de control de acceso
remoto, incluyendo autorización total o autorización para
cada servicio, lista de cuentas y perfil por usuario, soporte
para grupos de usuarios, y soporte para IP, IPX, ARA y
Telnet[2].
Contabilización: Posee un método de recolección y envió de información al servidor de seguridad, el cual
es usado para facturar, auditar y reportar: nombres de
usuario, tiempo de inicio y final, comandos ejecutados
(como PPP), cantidad de paquetes enviados, y número
de bytes[2].
AAA provee los siguientes beneficios:
• Incrementación de flexibilidad y control de configuración
de acceso.
• Escalabilidad.
• Métodos de autorización estandarizados, como RADIUS,
TACACS+ o Kerberos.
• Múltiples sistemas de backup.
II.
O BJETIVOS
A. Objetivo General
Diseño e implementación de arquitectura de conectividad
y seguridad en la red UDNET, mediante AAA (Auhtorization, Authentication and Accounting), utilizando el
protocolo de libre uso RADIUS.
B. Objetivos Especificos
Modificar proxy que solicite usuario y contraseñapara
cada conexión desde la red.
Generar grupos de ususarios con diferentes niveles de
accesibilidad.
Implementación de sistema que permita conexión a los
diferentes servicios de la red con una misma contraseña.
III.
M ARCO T EÓRICO
A. AAA
AAA es una arquitectura de sistema, la cual sirve para
configurar un conjunto de tres funciones de seguridad (Authentication, Authorization and Accountig, por sus siglas en ingles)
de una forma coherente. AAA ofrece una forma modular de
proveer los siguientes servicios:
2
• Autenticación: Proporciona el método de identificación de
usuarios, incluyendo nombre de usuario y contraseña, desafío
y respuesta, soporte de mensajería, y, según el protocolo de
seguridad que seleccione, puede ofrecer cifrado. La autenticación es la forma en que un usuario se identifica antes
de poder acceder a la red y los servicios que esta ofrece.
Configurar la autenticación AAA mediante la definición de
una lista llamada métodos de autenticación, y luego aplicando
esa lista a varias interfaces. En la lista de métodos se definen
los tipos de autenticación a realizar y la secuencia en la que se
llevará a cabo, esto debe ser aplicado a una interfaz específica
antes de que cualquiera de los métodos de autenticación
definidos se utilicen. La única excepción es la lista método
por defecto (que se denomina "default"). La lista método por
defecto es aplica automáticamente a todas las interfaces si
ninguna lista de otro método está definida. Una lista de método
definida reemplaza automáticamente la lista de método por
defecto. Todos los métodos de autenticación, excepto local,
line de contraseña y habilitación de la autenticación, deben
ser definidas a través de AAA[2].
• Autorización: Provee el método de control de acceso
remoto, incluyendo autorización total o autorización para cada
servicio, lista de cuentas y perfil por usuario, soporte para
grupos de usuarios, y soporte para IP, IPX, ARA y Telnet.
AAA Autorización trabaja agrupando un grupo de atributos
que describen lo que el usuario está habilitado a usar o
acceder. Estos atributos son comparados con la información
contenida en una base de datos de un usuario determinado y el
resultado se devuelve a AAA para determinar las capacidades
reales de los usuarios y las restricciones. La base de datos
se puede localizar de forma local en el servidor de acceso o
Router o puede ser alojado de forma remota en un servidor de
seguridad RADIUS o TACACS+. Los servidores remotos de
seguridad, tales como RADIUS y TACACS+, autorizan a los
usuarios de los derechos específicos mediante la asociación de
atributos de valor (AV) pares, que definen los derechos con el
usuario apropiado. Todos los métodos de autorización deben
ser definidos a través de AAA. Así como en la autenticación,
configurar AAA Autorización es definida por una lista llamada
métodos de autorización, y luego aplicando esa lista a varias
interfaces[2].
• Contabilización: Posee un método de recolección y envió
de información al servidor de seguridad, el cual es usado para
facturar, auditar y reportar: nombres de usuario, tiempo de
inicio y final, comandos ejecutados (como PPP), cantidad de
paquetes enviados, y número de bytes. Contabilidad permite
realizar el seguimiento de los usuarios que tienen acceso a
los servicios, así como la cantidad de recursos de red que
están consumiendo. Cuando AAA contabilidad se activa, el
acceso a la red del servidor informa la actividad del usuario a
el servidor de seguridad de RADIUS o TACACS+ (según el
método de seguridad que se haya implementado) en la forma
de los registros contables. Cada registro contable se compone
de la contabilidad de pares AV y se almacena en el servidor
de control de acceso. Estos datos pueden ser analizados para
la gestión de la red, la facturación del cliente, y / o auditoría.
Todos los métodos de contabilidad deben ser definidos a través
de AAA. Al igual que con la autenticación y autorización, se
configura la contabilidad AAA mediante la definición de una
lista llamada métodos de contabilidad, y luego la aplicación
de esa lista a varios interfaces[2].
AAA provee los siguientes beneficios:
• Incrementación de flexibilidad y control de configuración
de acceso.
• Escalabilidad.
• Métodos de autorización estandarizados, como RADIUS,
TACACS+ o Kerberos.
• Múltiples sistemas de backup.
AAA está diseñado para que el administrador de la red
pueda configurar dinámicamente el tipo de autenticación y
autorización que se quiera, puede ser por línea (por usuario)
o por servicio (por ejemplo, IP, IPX, o VPDN) base. Para
definir el tipo de autenticación y autorización que se desee, se
hace mediante la creación de listas de método, a continuación,
la aplicación de esas listas de método para determinados
servicios o interfaces.
Una lista de método es una lista secuencial que define los
métodos de autenticación usados para autenticar usuarios. Las
listas de método le permiten designar uno o varios protocolos
de seguridad que se utilizarán para la autenticación, lo que
garantiza un sistema de copia de seguridad para la autenticación en caso de que el método inicial falla. El software
utiliza el primer método la lista para autenticar a los usuarios,
y si ese método no responde, el software selecciona el método
de autenticación siguiente en la lista de métodos. Este proceso
continúa hasta que haya una comunicación exitosa con un
método de autenticación de la lista o la lista de método de
autenticación se ha agotado, en los que la autenticación caso
de falla.
Figura 1.
Local-Based Dial Access Environment
Figura 2.
Local-Based Router Environment
Configurar AAA es relativamente simple después de com-
3
prender el proceso básico. Para configurar la seguridad en un
servidor de acceso o enrutador usando AAA, se deben seguir
los siguientes pasos:
1. Habilitar AAA utilizando el comando de configuración
global AAA New Model.
2. Si decide utilizar un servidor de seguridad independiente,configurar los parámetros de protocolo de seguridad, tales
como RADIUS, TACACS+, o Kerberos.
3. Definir las listas método para la autenticación mediante
el uso de un comando de autenticación AAA.
4. Aplicar el método de listas para una interfaz específica
o una línea, si es necesario.
5. (Opcional) Configure la autorización con el comando
Autorización AAA.
6. (Opcional) Configurar la contabilidad mediante el comando Contabilidad AAA.
Requirimientos[3]:
RFC 2194 Review of Roaming Implementations
RFC 2477 Criteria for Evaluating Roaming Protocols
RFC 2881 Network Access Server Requirements Next
Generation (NASREQNG) NAS Model
RFC 2903 Generic AAA Architecture
RFC 2904 AAA Authorization Framework
RFC 2905 AAA Authorization Application Examples
RFC 2906 AAA Authorization Requirements
RFC 3169 Criteria for Evaluating Network Access Server
Protocols
RFC 3539 AAA Transport Profile * RFC 1234 AAA
Transport Profile
Lista de protocolos AAA[3]:
RADIUS
Diameter
TACACS
TACACS+
Otros protocolos usados en combinación con los protocolos
anteriores:
PPP: Point-to-point Protocol o Protocolo punto a punto,
es un protocolo de nivel de enlace estandarizado en el
documento RFC 1661. Por tanto, se trata de un protocolo
asociado a la pila TCP/IP de uso en Internet[4].
EAP: Extensible Authentication Protocol (EAP) es una
autenticación framework usada habitualmente en redes
WLAN Point-to-Point Protocol. Aunque el protocolo
EAP no está limitado a LAN inalámbricas y puede ser
usado para autenticación en redes cableadas, es más
frecuentemente su uso en las primeras. Recientemente
los estándares WPA y WPA2 han adoptado cinco tipos de
EAP como sus mecanismos oficiales de autenticación. Es
una estructura de soporte, no un mecanismo específico de
autenticación. Provee algunas funciones comunes y negociaciones para el o los mecanismos de autenticación escogidos. Estos mecanismos son llamados métodos EAP,
de los cuales se conocen actualmente unos 40. Además
de algunos específicos de proveedores comerciales, los
definidos por RFC de la IETF incluyen EAP-MD5, EAPOTP, EAP-GTC, EAP-TLS, EAP-IKEv2, EAP-SIM, y
EAP-AKA. Los métodos modernos capaces de operar en
ambientes inalámbricos incluyen EAP-TLS, EAP-SIM,
EAP-AKA, PEAP, LEAP y EAP-TTLS. Los requerimientos para métodos EAP usados en LAN inalámbricas
son descritos en la RFC 4017. Cuando EAP es invocada
por un dispositivo NAS (Network Access Server) capacitado para 802.1X, como por ejemplo un punto de acceso
802.11 a/b/g, los métodos modernos de EAP proveen un
mecanismo seguro de autenticación y negocian un PMK
(Pair-wise Master Key) entre el dispositivo cliente y el
NAS. En esas circunstancias, la PMK puede ser usada
para abrir una sesión inalámbrica cifrada que usa cifrado
TKIP o AES[4], [5].
PEAP: El Protocolo de autenticación extensible protegido
(PEAP) es un nuevo miembro de la familia de protocolos
de Protocolo de autenticación extensible (EAP). PEAP
utiliza Seguridad de nivel de transporte (TLS) para crear
un canal cifrado entre un cliente de autenticación PEAP,
como un equipo inalámbrico, y un autenticador PEAP,
como un Servicio de autenticación de Internet (IAS) o un
servidor del Servicio de usuario de acceso telefónico de
autenticación remota (RADIUS). PEAP no especifica un
método de autenticación, sino que proporciona seguridad
adicional para otros protocolos de autenticación de EAP,
como EAP-MSCHAPv2, que pueden operar a través del
canal cifrado de TLS que proporciona PEAP. PEAP se
utiliza como método de autenticación para los equipos
cliente inalámbricos 802.11, pero no se admite en clientes
de red privada virtual (VPN) u otros clientes de acceso
remoto.
LEAP: El LEAP es un una variante del protocolo EAP de
protección de las redes wireless que fue desarrollado por
Cisco Networks para cumplimentar el estándar 802.1x
del IEEE (Institute of Electrical and Electronic Engineers). Otros fabricantes han desarrollado otras variantes
del EAP como el EAP-TLS, el EAP-TTLS y el EAPPEAP. Aún no se ha demostrado ninguna vulnerabilidad
de estos tres últimos. El LEAP es un protocolo de autenticación mutua que se "apoya" en un secreto compartido
que es la clave de acceso del usuario y que como es
lógico es conocida por el mismo usuario y "la red" y
es utilizada para responder a los desafíos del servidor
RADIUS que debe autenticar y autorizar al usuario.
LDAP: LDAP (Lightweight Directory Access Protocol,
Protocolo Ligero de Acceso a Directorios) es un protocolo a nivel de aplicación que permite el acceso a un
servicio de directorio ordenado y distribuido para buscar
diversa información en un entorno de red. LDAP también
es considerado una base de datos (aunque su sistema de
almacenamiento puede ser diferente) a la que pueden
realizarse consultas. Un directorio es un conjunto de
objetos con atributos organizados en una manera lógica
y jerárquica. El ejemplo más común es el directorio telefónico, que consiste en una serie de nombres (personas
u organizaciones) que están ordenados alfabéticamente,
con cada nombre teniendo una dirección y un número de
teléfono adjuntos[5].
4
B. RADIUS
RADIUS es un protocolo para la realización de autenticación, autorización e información de configuración entre un
servidor de acceso a la red que desea autenticar sus vínculos
y un servidor de autenticación compartida[6].
RADIUS es sinónimo de autenticación remota telefónica
de servicio de usuario.
RADIUS es un protocolo de AAA para aplicaciones tales
como acceso a la red o movilidad IP.
Obra en ambas situaciones (a) Local (b) móvil.
Utiliza PAP, CHAP o protocolos EAP para autenticar a
los usuarios.
Busca en archivo de texto, servidores LDAP, bases de
datos para la autenticación.
Después de los servicios de autenticación parámetros que
se pasan de nuevo a la NAS.
Recibe notificación cuando se inicia el período de sesiones y la parte superior. Estos datos se utilizarán con
fines de facturación o estadísticas.
SNMP se utiliza para el control remoto.
Puede ser utilizado como un proxy.
Figura 3.
Para administrar el servicio debemos usar la consola Servicio de Autentificación de Internet (ias.msc), para añadir un
nuevo cliente del servicio tenemos que hacer click con el botón
derecho sobre el apartado Clientes RADIUS, donde tendremos
que ir introducir la dirección IP o FQDN del cliente además
de un secreto compartido (shared key). Aparte del RADIUS
estándar también soporta otras implementaciones RADIUS de
distintos fabricantes.
En el apartado Registro remoto tenemos la oportunidad de
fijar el sistema almacenamiento de logs, podemos almacenarlos en local (por defecto) o bien en una base de datos SQL a
través del correspondiente DSN (origen de datos OBDC).
En Directivas de acceso remoto podemos configurar una
serie de condiciones de acuerdo con diversos parámetros
para admitir o rechazar peticiones de autentificación, estas se
procesan en el orden establecido y en caso de que no se cumpla
ninguna el intento de autentificación será rechazado. Aparte de
las directivas que podeis ver abajo que son las personalizadas,
también existen otras que vienen ya definidas de acuerdo con
los escenarios mas habituales de uso de IAS.
En Procesamiento de solicitud de conexión podremos crear
proxies de RADIUS de forma que deleguemos la autentificación en un servidor de RADIUS remoto, esta opción
esta solo soportada en Windows Server 2003. Para ciertas
funcionalidades tales como implantar un servidor de VPN con
RRAS donde es necesaria un integración con el Directorio
Activo tenemos que registrar el servidor en el directorio, para
ello debemos situarnos sobre el nodo raíz del menú y hacer
click con el botón derecho sobre el o bien ir a Acciones donde
también encontraremos la opción Registrar servidor en Active
Directory.
En Windows Server 2003 en la versión Standard del sistema
operativo estamos limitados a 50 clientes y 2 grupos remotos
de acceso mientras que en Enterprise el número es ilimitado,
en Windows 2000 solo existe la función de servidor RADIUS
y no hay limitaciones en ninguna versión.
RADIUS Network Diagram
V.
IV.
E STADO DEL ARTE
A. RADIUS en Windows
Microsoft ha implementado el protocolo RADIUS (Remote
Authentication Dial In User Service) en Windows 2000/2003
en lo que ha llamado el servicio IAS (Internet Authentication
Service / Servicio de Autenticación de Internet). Habitualmente este servicio nos puede ser necesario si queremos
poner en marcha una red wireless segura con WPA/WPA2
+ RADIUS o bien un servidor de VPN tanto autentificando
contra Directorio Activo o los usuarios locales de un servidor.
Para usar este servicio si colocamos nuestro servidor detrás
de un firewall debemos abrir los puertos con protocolo UDP
1812 y 1813 para que funcione correctamente.
Como de costumbre para poner en marcha este servicio
tendremos que ir a Panel de Control -> Agregar o quitar
programas -> Agregar o quitar componentes de Windows ->
Servicios de Red y una vez en este apartado activar el "Servicio
de autenticación de Internet".
R ESULTADOS E SPERADOS
Obtener un metodo de conexión a la red UDNET con
autenticación de usuario y contraseña.
Implementar grupos de diferentes usuarios, los cuales
nos permitan separarlos dependiendo del uso o tipo de
usuario que sean.
Hacer de la red de la Universidad Distrital una red más
moderna y con caracteristicas de conexión y seguridad
predeterminados.
Poner en funcionamiento el protocolo RADIUS, para
poder implementar satisfactoriamente AAA.
R EFERENCIAS
[3] Academic dictionaries and encyclopedias, “AAA Protocol,” March 2008.
Available: http://en.academic.ru/dic.nsf/enwiki/1033751, AAA Protocol
[6] Tutorials Point, A self learning center, “Radius Overview,” January 2010.
Available: http://www.tutorialspoint.com/radius/what_is_radius.htm
[4] Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E. Lear, “Address
Allocation for Private Internets.” RFC 1918, September 2006.
[5] R.T. Morris, 1985. A Weakness in the 4.2BSD Unix TCP/IP Software.
Computing Science Technical Report No. 117, AT&T Bell Laboratories,
Murray Hill, New Jersey.
5
[1] Cisco Systems technical support and documentation, TACACS+ and
RADIUS comparison, Document ID: 13838, Jan 2008.
[2] Cisco Systems technical support and documentation, Cisco IOS security
configuration guide, 2008.
Jorge Alberto González Güiza
Tecnólogo en Electrónica Universidad Distrital
Estudiante Ingenieria Telecomunicaciones Universidad Distrital
Técnico Electricista ESINCO S.A
Descargar