AAA - Configuración
AAA (Authentication, Authorization, Accounting) centraliza el control de acceso a los dispositivos: quién entra (autenticación), qué puede hacer (autorización) y qué registró (accounting), usando una base local o servidores RADIUS/TACACS+. Incluye Role-Based CLI (Parser View). La validación está en AAA - Verificación y el diagnóstico en AAA - Troubleshooting.
Prerrequisitos
- Un usuario local (o un servidor RADIUS/TACACS+ alcanzable).
- Para servidores externos: conectividad IP y una llave compartida.
Conceptos previos (mínimos)
- Authentication: verifica la identidad (usuario/contraseña).
- Authorization: define qué está autorizado a hacer el usuario.
- Accounting: registra lo que hizo.
TACACS+ vs RADIUS
| TACACS+ | RADIUS | |
|---|---|---|
| Protocolo | Propietario (Cisco) | Estándar |
| Transporte | TCP puerto 49 | UDP 1812 y 1813 (o 1645 y 1646) |
| Separación de funciones AAA | Procesos diferentes para cada función | Authentication y Authorization son un mismo proceso |
| Recursos | Consume más recursos | Protocolo liviano |
| Encriptación | Encripta todo el paquete | Encripta solo la contraseña intercambiada |
| Función general | Remote Access (CLI) | Network Access |
Habilitar AAA
Router(config)# aaa new-model
Definir servidores RADIUS/TACACS+ (añadido pro)
Estas líneas exactas son estándar de Cisco (tus diapositivas muestran la comparación y el uso, no la definición del servidor).
! TACACS+
Router(config)# tacacs server NOMBRE
Router(config-server-tacacs)# address ipv4 IP-servidor
Router(config-server-tacacs)# key LLAVE-COMPARTIDA
! RADIUS
Router(config)# radius server NOMBRE
Router(config-server-radius)# address ipv4 IP-servidor auth-port 1812 acct-port 1813
Router(config-server-radius)# key LLAVE-COMPARTIDA
! Agrupar servidores (opcional)
Router(config)# aaa group server tacacs+ GRUPO-TACACS
Router(config-sg)# server name NOMBRE
Authentication (autenticación)
Se define una lista de métodos que se prueban en orden:
Router(config)# aaa authentication login NOMBRE-LISTA método1 [método2] ...
Métodos disponibles (del menú de ayuda): group (grupo de servidores), local (usuario local), enable (contraseña enable), line (contraseña de línea), none (sin autenticación), entre otros.
Aplicar la lista a las líneas:
Router(config)# line vty 0 4
Router(config-line)# login authentication NOMBRE-LISTA
Buena práctica: poner
local(oenable) como método de respaldo trasgroup, para no quedar fuera si el servidor no responde.
Authorization (autorización)
Router(config)# aaa authorization exec NOMBRE-LISTA método1 [método2] ...
La autorización EXEC controla el acceso a la sesión y se apoya en:
- Privilegios (niveles 0-15).
- Role Based CLI Access (Parser View): define vistas con solo ciertos comandos permitidos.
Parser View (Role-Based CLI) — añadido pro (CLI estándar)
Router(config)# enable view
Router# enable view ! entrar a la vista root (pide enable secret)
Router(config)# parser view NOMBRE-VISTA
Router(config-view)# secret CONTRASEÑA
Router(config-view)# commands exec include show ip route
Router(config-view)# commands exec include show version
Router(config-view)# commands exec include ping
Asociar un usuario a la vista:
Router(config)# username USUARIO view NOMBRE-VISTA secret CONTRASEÑA
Dos ejemplos completos de configuración
Ejemplo 1 — Autenticación AAA local para las líneas VTY
Diseño: R1 usa AAA con base local para el acceso remoto. La lista se llama ACCESO_LINEASVTY.
R1# configure terminal
R1(config)# aaa new-model
R1(config)# username admin privilege 15 secret Cisco12345
! Lista de autenticación: usuario local
R1(config)# aaa authentication login ACCESO_LINEASVTY local
! Aplicarla a las VTY
R1(config)# line vty 0 4
R1(config-line)# login authentication ACCESO_LINEASVTY
R1(config-line)# transport input ssh
R1(config-line)# end
R1# copy running-config startup-config
Ejemplo 2 — Autorización con Parser View (Role-Based CLI)
Diseño (datos de tu diapositiva): usuario carlosp / carlos123, grupo Parser View Practicantes, autenticación y autorización locales. La vista Practicantes solo permite show ip route, show version y ping.
R1# configure terminal
R1(config)# aaa new-model
R1(config)# aaa authentication login default local
R1(config)# aaa authorization exec default local
! Habilitar Role-Based CLI y crear la vista
R1(config)# enable secret EnableFuerte
R1(config)# end
R1# enable view
R1# configure terminal
R1(config)# parser view Practicantes
R1(config-view)# secret carlos123
R1(config-view)# commands exec include show ip route
R1(config-view)# commands exec include show version
R1(config-view)# commands exec include ping
R1(config-view)# exit
! Usuario asociado a la vista
R1(config)# username carlosp view Practicantes secret carlos123
R1(config)# end
R1# write memory
Verificación rápida (comprobar que quedó bien)
La verificación detallada está en AAA - Verificación.
! Configuración AAA aplicada
R1# show running-config | include aaa
! Vistas Parser View
R1# show parser view
! Servidores (si aplica)
R1# show tacacs
R1# show aaa servers
De tus diapositivas quedan la comparación TACACS+/RADIUS,
aaa authentication logincon sus métodos, y la autorización EXEC con Parser View. La definición de servidores y la CLI exacta del Parser View son estándar de Cisco, marcadas como añadido. Si quieres que quite algo, dime.