Gestionando usuarios del switch

Los switches Cisco soportan estos dos protocolos de autenticación:

  1. TACACS+:
    Es un protocolo propietario de Cisco que separa cada una de las funciones AAA
    La comunicación es segura y cifrada a través del puerto TCP 49.
  2. RADIUS:
    Es un protocolo basado en estándares que combina la autenticación y la autorización en un solo recurso
    la comunicación utiliza los puertos UDP 1812 y 1813 (accounting), pero no está completamente cifrada.

Tanto TACACS+ como RADIUS se organizan como un modelo cliente / servidor, donde un switch actúa como un cliente que habla con un servidor AAA.

Authentication: ¿ Quién es el usuario ?
Authorization: ¿ Qué puede hacer el usuario ?.
Accounting: ¿ Qué hizo el usuario ?

La autenticación del usuario puede ser gestionada por los siguientes métodos:

  • Nombres de usuario y contraseñas configurados localmente en el switch.
  • Uno o más servidores externos de RADIUS (Remote Authentication Dial-In User Service).
  • Uno o más servidores externos de TACACS+ (Terminal Access Controller Access Control System+).

Para configurar la autenticación debemos seguir estos pasos:

  1. Habilitar AAA en el switch.
    Por defecto está deshabilitado. Con esto conseguimos toda la autenticación del usuario se maneje localmente configurando los nombres de usuario y las contraseñas en el propio switch. Para habilitar AAA, use el siguiente comando de configuración global:
    Switch(config)# aaa new-model
  2. Definir la fuente de autenticación, siempre es mejor dejar los usuarios locales como alternativa final:
    1. remoto (Radius o TACACS+)
      Switch(config)# radius-server host {hostname | ip-address} [key string]
      Switch(config)# tacacs-server host {hostname | ip-address} [key string]
      Podemos definir un grupo donde definir una lista de diferentes servidores:
      Switch(config)# aaa group server {radius | tacacs+} group-name
      Y dentro del grupo indicar las IPs de los servidores:
      Switch(config-sg)# server ip-address
    2. local:
      Switch(config)# username username password password
  3. Definir una lista de métodos de autenticación para probar.
    Podemos definir un nombre o usar default y añadir los métodos de autenticación en el orden que se probarán:
    aaa authentication login {default | list-name} method1 [method2 ...]
    Y los métodos que podemos usar:
    • tacacs+: se prueba cada uno de los servidores TACACS+ configurados en el switch, en el orden en que se configuró.
    • radius: se prueba cada uno de los servidores RADIUS configurados en el switch, en el orden en que se configuró.
    • local: las credenciales del usuario se comparan con todos los comandos de nombre de usuario configurados en el switch localmente.
    • line: las contraseñas de línea autentican a cualquier usuario conectado. No se pueden utilizar nombres de usuario.
  4. Aplicar una lista de métodos de autenticación.
    login authentication {default | list-name}
  5. Es una buena idea mantener la sesión iniciada mientras en otra sesión se prueba la autenticación configurada.

TACACS+ en Autenticación usa REPLY y CONTINUE.

Por defecto los usuarios autenticados se ponen en el nivel EXEC en el cual poco se puede hacer.

Para configurar usaremos el comando:

Swotch(config)# aaa authorization { commands | config-commands | configuration | exec | network | reverse-access } { default | LIST-NAME} METHOD1 METHOD2
  • commands: el servidor debe devolver permiso para usar cualquier comando en cualquier nivel de privilegio.
  • config-commands: el servidor debe devolver permiso para usar cualquier comando de configuración.
  • configuration: el servidor debe devolver permiso para entrar al modo de configuración.
  • exec: el servidor debe devolver el permiso para que el usuario ejecute una sesión EXEC. El servidor también puede devolver el nivel de privilegio para el usuario, de manera que el usuario puede ponerse inmediatamente en modo EXEC (enable) sin tener que escribir el comando enable.
  • network: el servidor debe devolver permiso para utilizar servicios relacionados con la red.
  • reverse-access: el servidor debe devolver permiso para que el usuario acceda a una sesión de telnet inversa.

Si no, la lista predeterminada es default. Cada método de autorización se enumera en el orden en que se intentará. Los métodos pueden ser cualquiera de los siguientes valores:

  • group group-name: las solicitudes se envían a los servidores en un grupo específico.
  • group {radius | tacacs+}: las solicitudes se envían a todos los servidores de este tipo.
  • if-authenticated: las solicitudes se conceden si el usuario ya está autenticado.
  • none: no se utiliza ninguna autorización externa; Todos los usuarios están autorizados con éxito.

Lo siguiente es aplicar una lista de métodos de autorización a una línea específica en el switch. Los usuarios que accedan al switch a través de esa línea estarán sujetos a autorización. Utilice el siguiente comando de configuración de línea:

Switch(config-line)# authorization { commands LEVEL | exec | reverse-access} { default | LIST-NAME}

Si no usa este comando, el grupo predeterminado se usa para todas las líneas. Para configurar un switch para usar la autorización AAA para todas las líneas, podemos usar el siguiente comando:

Switch(config)# aaa authorization exec default group myauthservers none

TACACS+ en autorización usa REQUEST y RESPONSE.

Debemos definir una lista de métodos que proporcione una secuencia de métodos de accounting utilizando el siguiente comando:

Switch(config)# aaa accounting { system | exec | commands level} { default | list-name } { start-stop | stop-only | wait-start | none } METHOD1 {METHOD2 ...}
  • system: se registran los eventos de switch principales, como reload.
  • exec: se registra la autenticación del usuario en una sesión EXEC, junto con información sobre la dirección del usuario, el tiempo y la duración de la sesión.
  • commands level: se registra información sobre cualquier comando que se ejecute en un nivel de privilegio específico, junto con el usuario que ejecutó el comando.
  • start-stop: los eventos se registran cuando comienzan y se detienen.
  • stop-only: los eventos se registran solo cuando se detienen.
  • none: no se registran eventos.

Debemos aplicar la lista de métodos a una línea específica (console o vty)

Switch(config-line)# accounting {commands LEVEL | connection | exec} { default |LIST-NAME}

NOTA: Una sesión de accounting y authorization consistirá en un solo dos paquetes, la solicitud y su respuesta (request and response).

TACACS+ en accounting usa REQUEST y RESPONSE.

Retro

Lugares

Redes

Sistemas

Varios