# TACACS+

> Proteger la administración de switches, routers y cortafuegos con TACACS+: crear la aplicación, definir perfiles de autorización y configurar el dispositivo.

URL: https://docs.ironchip.com/identidad/protocolos/tacacs/

TACACS+ permite autenticar y autorizar a los administradores de dispositivos de red con Ironchip, y registrar sus sesiones y comandos. Ironchip actúa como servidor TACACS+.

## Requisitos

- Acceso a la consola de Ironchip con rol de administrador.
- Un dispositivo de red compatible con TACACS+ (switches, routers, cortafuegos).
- Conectividad desde el dispositivo hasta Ironchip por el puerto TCP 49.

## Crear la aplicación en Ironchip

1. Ve a **Applications** y haz clic en **New Application**.
2. En el primer cuadro, con el título **Custom application**, haz clic en **Create application**.
3. Ponle un nombre identificativo, selecciona el tipo **TACACS+** y haz clic en **Add service**.
4. Completa estos campos:
   - **Shared secret**: el secreto compartido entre el dispositivo de red e Ironchip. Elige el que quieras, pero debe ser el mismo en el dispositivo y en la consola. Se recomienda un mínimo de 24 caracteres.
   - **Devices**: direcciones IP o rangos CIDR de los dispositivos autorizados a consultar al servidor TACACS+. Las peticiones de otros orígenes se rechazan.
   - **Authentication method**: método con el que se valida al administrador. Puedes elegir Ironchip (modelo passwordless), LDAP, RADIUS o certificado, según lo configurado en la [validación centralizada](https://docs.ironchip.com/identidad/protocolos/validacion-centralizada/).
   - **Second factor**: OTP o MFA de Ironchip, opcional u obligatorio.
5. Haz clic en **Save**. Ironchip empieza a escuchar peticiones TACACS+ en el puerto TCP 49.

## Configurar perfiles de autorización

Los perfiles definen qué puede hacer cada administrador una vez autenticado.

1. Ve a la aplicación creada, abre la pestaña **Authorization** y haz clic en **New profile**.
2. Completa estos campos:
   - **Name**: nombre del perfil, por ejemplo `network-admin` o `read-only`.
   - **Privilege level**: nivel de privilegio, de 0 a 15, que se entrega al dispositivo.
   - **Allowed commands**: lista de comandos permitidos, con soporte de expresiones regulares.
   - **Denied commands**: lista de comandos denegados. Tiene prioridad sobre la lista de permitidos.
3. Asigna cada perfil a un usuario o a un grupo de Ironchip.

Un usuario que pertenece a varios grupos recibe el perfil de mayor privilegio, salvo que definas otro orden de prioridad en **Priority**.

Todas las sesiones y los comandos ejecutados quedan registrados (accounting). Puedes consultarlos en el apartado **Events** de la consola o exportarlos mediante la [exportación de eventos](https://docs.ironchip.com/identidad/administracion/exportacion-de-eventos/).

## Configurar el dispositivo de red

Configura el dispositivo para que use Ironchip como servidor TACACS+. Este es un ejemplo para un dispositivo con Cisco IOS:

```text title="Cisco IOS"
aaa new-model
tacacs server ironchip
 address ipv4 <IP de Ironchip>
 port 49
 key <secreto compartido>
aaa group server tacacs+ ironchip-group
 server name ironchip
aaa authentication login default group ironchip-group local
aaa authorization exec default group ironchip-group local
aaa authorization commands 15 default group ironchip-group local
aaa accounting exec default start-stop group ironchip-group
aaa accounting commands 15 default start-stop group ironchip-group
```

:::caution[Conserva una cuenta local]
La palabra clave `local` al final de cada línea mantiene un acceso local de emergencia si el servidor TACACS+ no responde. Asegúrate de conservar una cuenta local de administración antes de aplicar la configuración.
:::

## Comprobación

Para comprobar la conectividad, ejecuta en el dispositivo:

```text
test aaa group ironchip-group <usuario> <código OTP> legacy
```

## Ejemplo de autenticación

Al conectar por SSH al dispositivo, el administrador introduce su usuario y, en el campo de contraseña, el segundo factor (por ejemplo, el código de un [OTP](https://docs.ironchip.com/identidad/protocolos/otp/)). Si el método de autenticación es Ironchip, el dispositivo envía la petición al servidor TACACS+ de Ironchip, que valida al administrador, comprueba la localización y los factores configurados y devuelve el perfil de autorización correspondiente.

Algunos dispositivos no permiten dejar vacío el campo de contraseña. Cuando el método de autenticación es Ironchip, el texto de ese campo puede ser aleatorio.
