Búsqueda de sitios web

Instalación y configuración de TACACS+ con Cisco Router en Debian 8 Jessie


La tecnología actual depende en gran medida de los equipos de red y de la configuración adecuada de esos equipos de red. Los administradores tienen la tarea de garantizar que los cambios de configuración no solo se prueben minuciosamente antes de la implementación, sino también que cualquier cambio de configuración sea realizado por personas autorizadas para realizar cambios, así como asegurarse de que los cambios se registren.

Este principio de seguridad se conoce como AAA (Triple-A) o Autenticación, Autorización y Contabilidad. Hay dos sistemas muy destacados que ofrecen funcionalidad AAA para que los administradores protejan el acceso a los dispositivos y las redes a las que sirven esos dispositivos.

RADIUS (Servicio de usuario de acceso telefónico remoto) y TACACS+ (Terminal Access Controller Access-Control System Plus).

Radius se usa tradicionalmente para autenticar a los usuarios para acceder a la red, lo que contrasta con TACACS en que TACACS se usa tradicionalmente para la administración de dispositivos. Una de las grandes diferencias entre estos dos protocolos es la capacidad de TACACS de separar las funciones AAA en funciones independientes.

El beneficio de la separación TACACS de las funciones AAA es que se puede controlar la capacidad de un usuario para ejecutar ciertos comandos. Esto es muy ventajoso para las organizaciones que desean proporcionar al personal de redes u otros administradores de TI diferentes privilegios de comando a un nivel muy granular.

Este artículo explicará cómo configurar un sistema Debian para que actúe como un sistema TACACS+.

Configuración del entorno

  1. Debian 8 instalado y configurado con conectividad de red. Lea este artículo sobre cómo instalar Debian 8
  2. Conmutador de red Cisco 2940 (la mayoría de los demás dispositivos Cisco también funcionarán, pero los comandos en el conmutador/enrutador pueden variar).

Instalación del software TACACS+ en Debian 8

El primer paso para configurar este nuevo servidor TACACS será adquirir el software de los repositorios. Esto se logra fácilmente con el uso del comando 'apt'.


apt-get install tacacs+

El comando anterior instalará e iniciará el servicio del servidor en el puerto 49. Esto se puede confirmar con varias utilidades.


lsof -i :49
netstat -ltp | grep tac

Estos dos comandos deberían devolver una línea que indique que TACACS está escuchando en el puerto 49 de este sistema.

En este punto, TACACS está escuchando conexiones en esta máquina. Ahora es el momento de configurar el servicio y los usuarios TACACS.

Configuración del servicio TACACS y los usuarios

Generalmente es una buena idea vincular servicios a direcciones IP específicas si el servidor tiene varias direcciones. Para realizar esta tarea, las opciones predeterminadas del demonio se pueden modificar para especificar una dirección IP.


nano /etc/default/tacacs+

Este archivo especifica todas las configuraciones del demonio que debe iniciar el sistema TACACS. La instalación predeterminada solo especificará el archivo de configuración. Al agregar un argumento ‘-B’ a este archivo, se puede usar una dirección IP específica para que TACACS escuche.


DAEMON_OPTS="-C /etc/tacacs+/tac_plus.conf " - Original Line
DAEMON_OPTS="-C /etc/tacacs+/tac_plus.conf -B X.X.X.X " - New line, where X.X.X.X is the IP address to listen on

Nota especial en Debian: por alguna razón, intentar reiniciar el servicio TACACS+ para leer las nuevas opciones del demonio no tiene éxito (a través del servicio tacacs_plus reiniciar).

El problema aquí parece ser que cuando TACACS se inicia mediante el script init, el PID se establece estáticamente en “PIDFILE=/var /run/tac_plus.pid ” sin embargo, cuando “-B X.X.X.X ” se especifica como opción de demonio, el nombre del archivo pid se cambia a “/var/run /tac_plus.pid.X.X.X.X”.

No estoy totalmente seguro de si esto es un error o no, pero para combatir la situación temporalmente, se puede configurar manualmente el PIDFILE en el script init cambiando la línea a “PIDFILE=/var/run/tac_plus.pid.X.X.X.X ” donde X.X.X.X es la dirección IP que TACACS debe escuchar y luego iniciar el servicio con:


service tacacs_plus start

Al reiniciar el servicio, el comando lsof se puede usar nuevamente para confirmar que el servicio TACACS está escuchando en la dirección IP correcta.


lsof -i :49

Como se vio arriba, TACACS está escuchando en una dirección IP en una dirección IP específica como se establece en el archivo predeterminado de TACACS anterior. En este punto es necesario crear usuarios y conjuntos de comandos específicos.

Esta información es gestionada por otro archivo: ‘/etc/tacacs+/tac_plus.conf‘. Abra este archivo con un editor de texto para realizar las modificaciones apropiadas.


nano /etc/tacacs+/tac_plus.conf

Este archivo es donde deben residir todas las especificaciones TACACS (permisos de usuario, listas de control de acceso, claves de host, etc.). Lo primero que hay que crear es una clave para los dispositivos de red.

Hay mucha flexibilidad en este paso. Se puede configurar una única clave para todos los dispositivos de red o se pueden configurar varias claves por dispositivo. La opción depende del usuario, pero esta guía utilizará una única clave por razones de simplicidad.


key = "super_secret_TACACS+_key"

Una vez configurada una clave, se deben crear grupos que determinen los permisos que se asignarán a los usuarios más adelante. Crear grupos facilita mucho la delegación de permisos. A continuación se muestra un ejemplo de cómo asignar derechos de administrador completos.


group = admins {
        default service = permit
        service = exec {
                priv-lvl = 15
        }
}

  1. El nombre del grupo está determinado por la línea "group=admins", siendo admins el nombre del grupo.
  2. La línea “default service=permit” indica que si un comando no se niega explícitamente, se permite implícitamente.
  3. El “servicio=exec { priv-lvl=15 } ” permite el nivel de privilegio 15 en modo ejecutivo en un dispositivo Cisco (el nivel de privilegio 15 es el más alto en Equipos Cisco).

Ahora es necesario asignar un usuario al grupo de administración.


user = rob {
       member = admins
       login = des mjth124WPZapY
}

  1. La estrofa “user=rob ” permite que un nombre de usuario de rob acceda a algún recurso.
  2. El “miembro=admins ” le dice a TACACS+ que se refiera al grupo anterior llamado administradores para obtener una lista de lo que este usuario está autorizado a hacer.
  3. La última línea, “login=des mjth124WPZapY” es una contraseña descifrada para que este usuario se autentique (¡no dudes en utilizar un cracker para descubrir este ejemplo de contraseña súper “compleja”)!

Importante: generalmente es una buena práctica colocar contraseñas cifradas en este archivo en lugar de texto sin formato, ya que agrega una ligera cantidad de seguridad en caso de que alguien lea esto. archivo y no necesariamente debería tener acceso.

Una buena medida preventiva para esto es eliminar al menos también el acceso de lectura mundial en el archivo de configuración. Esto se puede lograr mediante el siguiente comando:


chmod o-r /etc/tacacs+/tac_plus.conf
service tacacs_plus reload

En este punto, el lado del servidor está listo para conexiones desde dispositivos de red. Vayamos ahora al conmutador Cisco y configúrelo para comunicarse con este servidor Debian TACACS+.