IEEE final

Anuncio
1
Diseño e implementación de arquitectura de
conectividad y seguridad AAA en UDNET
(Authentication, Authorization and Accounting)
Oscar Mauricio Muñoz Ortiz Cód: 20091273019 [email protected]
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 off different
technologies and protocols that underpin this project, also provides a short guide implementation of AAA. Through the state
of the art it has an overview of how this technology is being
implemented today, and in this articule 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 NTRODUCCIÓN
STE proyecto consiste en el análisis, diseño e implementación de una arquitectura de conexión y seguridad
denominada AAA. Para que AAA funcione necesita configurar
un protocolo base, el cual puede ser TACACS+ o RADIUS.
TACACS+ es un protocolo patentado por CISCO, por lo cual
requiere: que todos los equipos sena CISCO y pagar el precio
que exigen para permitir la utilización de este protocolo.
RADIUS es de libre uso y no tiene ninguna limitante con
respecto al fabricante de los equipos donde se vaya a instalar.
Al hacer una breve comparación entre estos dos protocolos
encontramos los siguientes resultados:
E
Características
TACACS+
RADIUS
Encriptación
Todo
Password
Transporte
TCP
UDP
Autorización y Autenticación
Por separado
Combinado
ARA, NetBios, NASI, X25
Si
No
Requerimientos de equipo
Alto
Medio
Precio
Alto
No
Autorización: Provee el método de control de acceso remoto, incluyendo autorización total o para cada servicio,
liste de cuentas y perfil por usuario, soporte para grupos
de usuarios, y soporte para IP, IPX, ARA y Telnet.
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.
AAA provee los siguientes beneficios:
Incremento de flexibilidad y control de configuración de
acceso.
Métodos de autorización estandarizados, como RADIUS,
TACACS+ o Kerberos.
Múltiples sistemas de backup.
II.
OBJETIVOS
A. Objetivo General
Diseño e implementación de arquitectura de conectividad
y seguridad en la red UDNET, mediante AAA (Authorization, Authentication and Accounting), utilizando el
protocolo de libre uso RADIUS.
B. Objetivos Específicos
Modificar proxy que solicite usuario y contraseña para
cada conexión desde la red.
Generar grupos de usuarios 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
por usuario.
Cuadro I
C OMPARACIÓN TACACS+ Y RADIUS
III.
M ARCO TEÓRICO
A. AAA
AAA es una arquitectura de seguridad, la cual esta dividida
en tres módulos (Authentication, Authorization and Accountig,
por sus siglas en ingles), los cuales trabajan en conjunto,
creando una forma eficiente y segura de conectarse a una red.
Sus funcionalidades son:
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.
AAA es una arquitectura de sistema que sirve para configurar un conjunto de tres funciones de seguridad (Authentication,
Authorization and Accounting, por sus siglas en ingles) de una
forma coherente. AAA brinda los siguientes servicios:
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
2
servicios que esta ofrece. Se configura 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.
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. El módulo de 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.
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.
Contabilización 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 ésta 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 contabilización deben
ser definidos a través de AAA. Al igual que con la
autenticación y autorización, este método se configura
mediante la definición de una lista llamada métodos de
contabilización, y luego la aplicación de esa lista a varias
interfaces.
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.
La aplicación de AAA se usa tanto en usuarios que se
conectan de forma remota, como en los que hacen uso dentro
de la red.
Figura 1.
Acceso remoto
Figura 2.
Acceso dentro de la red
3
B. Configuración AAA
Configurar AAA es relativamente simple después de com3
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.
C. Requerimientos:
RFC 2194 Review of Roaming Implementations: Este
documento resume el diseño y la funcionalidad de
una implementación de itinerancia existente. Comprende
la posibilidad de utilizar cualquiera de los múltiples
proveedores de servicios de Internet (ISP), mientras que
mantiene una relación formal, cliente-proveedor con sólo
una. http://www.ietf.org/rfc/rfc2194.txt
RFC 2477 Criteria for Evaluating Roaming Protocols:
Describe los requerimientos para el aprovisionamiento
de capacidad de itinerancia para usuarios de internet de
acceso telefónico. http://www.ietf.org/rfc/rfc2477.txt
RFC 2881 Network Access Server Requirements Next
Generation (NASREQNG) NAS Model: Describe la terminología y brinda un modelo de un servidor de acceso a datos (NAS) típico. Describe los protocolos de
servicio NAS, como el RADIUS (RFCs 2865, 2866).
http://www.ietf.org/rfc/rfc2881.txt
RFC 2903 Generic AAA Architecture: Propone la arquitectura del protocolo AAA que será incorporada en un
servidor genérico con una interfaz de aplicación la cual
contiene un grupo de módulos específicos de aplicación
que pueden mejorar las funciones específicas de AAA.
http://www.ietf.org/rfc/rfc2903.txt
RFC 2904 AAA Authorization Framework: Sirve como base de los requerimientos para la autorización
de fuentes de internet y servicios (AIRS). Presenta un
marco arquitectural para el entendimiento de la autorización de las fuentes de internet y servicios y requerimientos derivados para los protocolos de internet.
http://www.ietf.org/rfc/rfc2904.txt
RFC 2905 AAA Authorization Application Examples:
Describe algunos ejemplos de aplicaciones que requieren
autorización. Cada aplicación es descrita en términos de
un marco consistente, y requerimientos específicos de
autorización. http://www.ietf.org/rfc/rfc2905.txt
RFC 2906 AAA Authorization Requirements: este documento especifica los requerimientos que los pro-
tocolos de AAA deben reunir con el fin de soportar los servicios de autorización en internet.
http://www.ietf.org/rfc/rfc2906.txt
RFC 3169 Criteria for Evaluating Network Access Server Protocols: Define los requerimientos para protocolos
usados por los servidores de acceso a la red (NAS).
http://www.ietf.org/rfc/rfc3169.txt
RFC 3539 AAA Transport Profile * RFC 1234 AAA:
Este documento discute acerca de aspectos de transporte que surgen en los protocolos AAA. También
provee recomendaciones en el uso de protocolos AAA.
http://www.ietf.org/rfc/rfc3539.txt
D. Protocolos
a. RADIUS: El protocolo RADIUS fue desarrollado por
Livingston Enterprises, como un acceso a la autenticación
del servidor y protocolo de contabilización. La especificación
RADIUS (RFC 2138) es una propuesta de protocolo estándar
y el de contabilización (RFC 2139) es informativo. Aunque
TACACS+ es considerado por ser el más versátil, RADIUS
es el protocolo AAA de mayor elección para las empresas
ISP porque este usa menores ciclos de CPU y es menos
intensivo con la memoria. La comunicación un servidor de
acceso a la red (NAS) y un servidor RADIUS está basada en
el Protocolo de Datagrama de usuario (UDP). Por lo general,
el protocolo RADIUS es considerado como un servicio sin
conexión. Aspectos relacionados con la disponibilidad del
servidor, retransmisión, y tiempos de espera son manejados por
los dispositivos RADIUS habilitados en lugar del protocolo
de transmisión. RADIUS es un protocolo cliente/servidor. El
cliente RADIUS es por lo general un NAS y el servidor es
usualmente un proceso que se ejecuta en una maquina con
UNIX o Windows NT. El cliente pasa la información del
usuario a los servidores RADIUS designados y actúa con la
respuesta que es devuelta. Los servidores RADIUS reciben
las peticiones de conexión del usuario, lo autentican, y luego
devuelven la información de configuración necesaria al cliente
para entregar los servicios al mismo. Un servidor RADIUS
puede actuar como un cliente proxy para otros servidores
RADIUS u otra clase de servidores de autenticación.
b. TACACS+: Características de TACACS+: - Separa AAA
dentro de tres funciones diferentes (Autenticación, Autorización y Contabilización). - Soporta la integración de comandos de autorización de router con mecanismos de autenticación
avanzados, como el estándar de encriptación de datos (DES) y
contraseñas de una sola vez (OTP). - Soporta 16 niveles diferentes de privilegios (0-15). - Permite el control de servicios,
como el protocolo punto a punto (PPP), Shell, estándar log in,
enable, protocolo Apple Talk Remote Access (ARA), interfaz
Novell de servicios asíncronos, comando remoto (RCMD), y
proxy firewall. - Permite el bloqueo de servicios a un puerto
específico, como la interfaz TTY o VTY en un router. El servicio más común soportado por TACACS+ es el PPP para IP
y el acceso al router usando la consola o puertos VTY. EXEC
Shell permite a los usuarios conectarse a los routers y servicios
seleccionados, como el PPP, Telnet, TN3270, o administrar
el router por el mismo. Muchos servidores TACACS+ están
4
disponibles hoy en el mercado; sin embargo, el servidor AAA
está diseñado específicamente para ser escalable y compatible
con la línea de routers de la marca CISCO, servidores de
acceso y switches. Cuando se configura correctamente, el
servidor AAA valida AAA y responde a las peticiones de
los routers y servidores de acceso con una señal de paso o
falla. El servidor AAA contiene una base de datos interna para
5000 usuarios. El servidor AAA actúa como un servidor proxy
usando TACACS+ para autenticar, autorizar y contabilizar para
el acceso a routers Cisco y servidores de acceso a la red.
c. 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.
EAP: Extensible Authentication Protocol (EAP) es un
marco de autenticación usado 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, EAPSIM, 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.
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.
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".
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
5
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.
V.
R ESULTADOS ESPERADOS
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.
PLACE
PHOTO
HERE
Oscar Mauricio Muñoz Ortiz
Tecnologo en electronica
Universidad Distrital "FJDC"
Descargar