domingo, 29 de septiembre de 2013

PROTOCOLO AAA

PROTOCOLO AAA

El protocolo AAA en realidad es el acrónimo (en inglés) que corresponde a una familia de protocolos que realizan tres funciones principales Authentication, Authorization, Accounting (Autenticación, Autorización y Contabilización).

Autenticación (Authentication)
Es el proceso por el cual se comprueba la identidad de un usuario ante un servidor antes de determinar a que servicios de red o aplicaciones tiene acceso. La autenticación se consigue mediante la presentación de una identidad (ID) y la demostración de contar con la posesión de las credenciales que permiten la comprobación de la identidad. En los protocolos AAA todas las ID y contraseñas están centralizadas y se pueden utilizar las cuentas existentes para tener acceso. Los procesos de actualización de cuentas ya existentes, elimina los errores y frustración de Usuarios, las ID y contraseñas
se cifran mediante un algoritmo de hash de eficacia contrastada.

Autorización (Authorization)
Tras la autenticación del usuario, el servicio de autorización se refiere a la concesión de acceso a determinas aplicaciones o servicios de red para el usuario, basándose en su ID que se encuentra en la base de datos del servidor, también pueden estar basadas en restricciones horarias, restricciones de localización del ID, la prohibición de múltiples logins simultáneos del mismo usuario etc.

Contabilización (Accounting)
Se refiere al seguimiento del consumo de recursos de una red por los usuarios, proporciona información para la auditoria del tiempo que ha permanecido conectado cada usuario, cómo establecieron la conexión y de qué dirección IP procedían, permitiendo a los administradores revisar fácilmente problemas de seguridad y de acceso operativo que hayan tenido lugar en el pasado.

Los protocolos de AAA son:

  • RADIUS
  • DIAMETER
  • TACACS
  • TACACS+

En esta práctica solo trataremos los protocolos TACACS+ (Terminal Access Controller Access Control System Plus) desarrollado por Cisco y RADIUS (Remote Authentication Dial-in User Service) descrita en el RFC 2865.

RADIUS (Servicio de autenticación remota telefónica de usuario)
Es un protocolo para aplicaciones de acceso a la red o movilidad IP. Utiliza el puerto 1812 UDP para establecer sus conexiones. Distribuye el acceso remoto seguro de redes y a servicios de red que no cuentan con autorización de acceso, permite control total sobre cada llamada, motorización y generación de estadísticas, comprende 3 componentes: Un protocolo que utiliza UDP, un servidor y un cliente.
Cuando se realiza un conexión con un ISP (proveedor de acceso a Internet) se envía la información de autenticación (generalmente nombre de usuario y contraseña) a un dispositivo NAS (Network Access Server) que opera como un cliente RADIUS sobre un protocolo PPP, quien redirige la petición a un servidor RADIUS sobre el protocolo RADIUS. El servidor RADIUS autentica bajo esquemas como PAP (Protocolo de autenticación por contraseña,  CHAP (Protocolo de autenticación por desafío). Si es aceptado, el servidor autoriza el acceso al sistema ISP y le asigna los recursos de res como una IP y otros parámetros. RADIUS también es comúnmente usado por el NAS para notificar eventos como:

  • Inicio de sesión de usuario
  • El final de sesión de usuario
  • Total de paquetes transferidos durante la sesión
  • volumen de datos transferidos durante la sesión

Es muy utilizado en líneas conmutadas, redes wireless y VoIP.


TACACS+ (Sistema de control de acceso del controlador de acceso a terminales)
Es un protocolo de autenticación remota que se usa para gestionar el acceso a servidores y dispositivos de comunicaciones, esta basado en TACACS, pero a pesar de su nombre, es un protocolo diferente y totalmente nuevo e incompatible con las versiones anteriores de TACACS. Fue desarrollado a partir de la experiencia de Cisco con RADIUS y muchas de las características efectivas de RADIUS se conservaron en TACACS+, mientras que los mecanismos más robustos fueron creados para manejar los nuevos niveles de seguridad que demandaban las redes modernas. Una mejora es la encriptación completa de todos los parámetros usados en el proceso de autenticación.

Diferencias entreRADIUS y TACACS+
RADIUS sólo encripta la contraseña, mientras que TACACS+ también encripta el nombre de usuario y otros datos asociados. RADIUS es un protocolo de autenticación independiente, mientras que TACACS+ es escalable, es decir es posible aislar sólo determinados aspectos de autenticación de TACACS+ mientras implementa otros protocolos para capas adicionales del servicio de autenticación.

A continuación se muestra la topología utilizada en esta practica en el programa Packet Tracer de Cisco


Para comenzar con la programación de los protocolos AAA empezaremos configurando los servidores y las PC con una IP adecuada para la práctica, para modificar los valores de las PC y los servidores entramos en cada uno de ellos haciendo click sobre ellos, una vez en la ventana nos dirigimos a la pestaña "Desktop" e ingresamos al icono "IP configuration" escribiendo los siguientes valores en cada campo.

PC-A
IP Address:             192.168.1.3
Subnet Mask:          255.255.255.0
Default Gateway:     192.168.1.1

PC-B
IP Address:             192.168.2.3
Subnet Mask:          255.255.255.0
Default Gateway:     192.168.2.1

PC-C
IP Address:             192.168.3.3
Subnet Mask:          255.255.255.0
Default Gateway:     192.168.3.1

TACACS+ Server
IP Address:             192.168.2.2
Subnet Mask:          255.255.255.0
Default Gateway:     192.168.2.1

RADIUS Server
IP Address:             192.168.3.2
Subnet Mask:          255.255.255.0
Default Gateway:     192.168.3.1


Una vez configurados estos parámetros comenzamos a configurar cada uno de los routers con sus respectivas IP y enrutamiento.

ROUTER R1
Router>enable
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#hostname R1
R1(config)#interface fa0/0
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#description conexion con PCA
R1(config-if)#no shutdown

%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

R1(config-if)#exit
R1(config)#interface se0/0/0
R1(config-if)#ip address 10.1.1.2 255.255.255.252
R1(config-if)#description conexion R2
R1(config-if)#clock rate 64000
R1(config-if)#no shutdown

%LINK-5-CHANGED: Interface Serial0/0/0, changed state to down
R1(config-if)#exit
R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#network 192.168.1.0
R1(config-router)#network 10.1.1.0
R1(config-router)#exit
R1(config)#


ROUTER R2
Router>enable
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#hostname R2
R2(config)#interface fa0/0
R2(config-if)#ip address 192.168.2.1 255.255.255.0
R2(config-if)#description conexion PCB y TACACS+
R2(config-if)#no shutdown

%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

R2(config-if)#exit
R2(config)#interface se0/0/0
R2(config-if)#ip address 10.1.1.1 255.255.255.252
R2(config-if)#description conexion R1
R2(config-if)#no shutdown

%LINK-5-CHANGED: Interface Serial0/0/0, changed state to up

R2(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0, changed state to up

R2(config-if)#exit
R2(config)#interface se0/0/1
R2(config-if)#ip address 10.2.2.1 255.255.255.252
R2(config-if)#description conexion R3
R2(config-if)#clock rate 64000
R2(config-if)#no shutdown

%LINK-5-CHANGED: Interface Serial0/0/1, changed state to down
R2(config-if)#exit
R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#network 10.1.1.0
R2(config-router)#network 10.2.2.0
R2(config-router)#network 192.168.2.0
R2(config-router)#exit
R2(config)#

ROUTER R3
Router>enable
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#interface fa0/0
Router(config-if)#ip address 192.168.3.1 255.255.255.0
Router(config-if)#description conexion PCC y RADIUS
Router(config-if)#no shutdown

%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

Router(config-if)#exit
Router(config)#interface se0/0/1
Router(config-if)#ip address 10.2.2.2 255.255.255.252
Router(config-if)#description conexion R2
Router(config-if)#no shutdown

%LINK-5-CHANGED: Interface Serial0/0/1, changed state to up

Router(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/1, changed state to up

Router(config-if)#exit
Router(config)#router rip
Router(config-router)#version 2
Router(config-router)#network 192.168.3.0
Router(config-router)#network 10.2.2.0
Router(config-router)#exit
Router(config)#


Una vez configurados los routers, verifique que se encuentran realizando sus funciones correctamente haciendo PING entre la PC-A con PC-B, PC-A con PC-C, y por ultimo PC-B con PC-C.
Una vez verificado esto, procederemos a configurar una Autenticación local AAA en el router R1, para ello escribiremos los siguientes comandos en el router.

ROUTER R1
R1(config)#username Admin1 password Admin1pa55  <---Configura una cuenta Admin1
R1(config)#aaa new-model                                          <---Configura el AAA con su base de datos
R1(config)#aaa authentication login default local
R1(config)#line console 0                                             <---Abilita el AAA en el Router
R1(config-line)#login authentication default
R1(config-line)#end
R1#
%SYS-5-CONFIG_I: Configured from console by console

R1#exit                                                                        <---Salir completamente del router

Una vez realizados estos cambios en el Router 1, podemos notar que al ingresar de nuevo al router R1 nos pedirá la el usuario y la contraseña.

User Access Verification

Username: Admin1
Password:                               <-----Aquí se ingresa la contraseña Admin1pa55
R1>


Ahora procederemos a configurar la autenticación local AAA por medio de lineas VTY en el router R1
Primero se configura una lista llamada TELNET-LOGIN para autirizar el uso de conexiones locales con AAA

R1(config)#aaa authentication login TELNET-LOGIN local
R1(config)#line vty 0 4
R1(config-line)#login authentication TELNET-LOGIN   <---VTY utiliza como referencia la lista
R1(config-line)#end

Ahora desde la PC-A intentamos accesar por medio del comando Telnet como se muestra a continuación.
Fig 2. Pantalla de PC-A Realizando Telnet con el router R1


Para continuar con la practica ahora configuraremos la autenticación AAA basada en un servidor usando TACACS+ en el router R2. Para ello ingresaremos los siguientes comandos en el router.

ROUTER R2
R2(config)#username Admin2 password Admin2pa55 <-Se genera usuario Amin2 contraseña Admin2pa55
R2(config)#tacacs-server host 192.168.2.2  <-habilita y configura el AAA con el server TACACS+ en R2
R2(config)#tacacs-server key tacacspa55
R2(config)#aaa new-model       <-se configura el AAA con los datos default
R2(config)#aaa authentication login default group tacacs+ local
R2(config)#line console 0
R2(config-line)#login authentication default
R2(config-line)#end
R2#
%SYS-5-CONFIG_I: Configured from console by console

R2#exit


Ahora comprobamos que se ejecuta el AAA TACACS+ en el servidor.
User Access Verification

Username: Admin2
Password:
R2>


Por ultimo, procederemos a configurar la utenticación AAA con un servidor base usando RADIUS en el router R3.
Al igual que en las anteriores configuraciones crearemos un usuario llamado Admin3 y con contraseña Admin3pa55, y con las configuraciones para identificar el RADIUS server como servidor del AAA en el router R3.

ROUTER R3
Router(config)#username Admin3 password Admin3pa55
Router(config)#radius-server host 192.168.3.2    <-----Se configura el server RADIUS como servidor
Router(config)#radius-server key radiuspa55       <-----Contraseña de RADIUS radiuspa55
Router(config)#aaa new-model                            <-----Se crea un nuevo modelo de AAA en R3
Router(config)#aaa authentication login default group radius local <-habilita el servidor RADIUS
Router(config)#line console 0
Router(config-line)#login authentication default
Router(config-line)#end
Router#
%SYS-5-CONFIG_I: Configured from console by console

Router#exit

Por ultimo se vuleve a verificar si el servidor ingresa por medio del RADIUS server.
User Access Verification

Username: Admin3
Password:


ESPERAMOS  LES HAYA SERVIDO DE AYUDA Y GRACIAS POR LEER EL BLOG, COMENTARIOS Y SUGERENCIAS SON BIENVENIDAS.

1 comentario: