TACACS+ y Latch: “Buena combinación para administrar tus dispositivos de Red”

jueves, 21 de junio de 2018

Ha pasado mucho tiempo desde cuando administrar equipos de red en una infraestructura tecnológica solo necesitaba Telnet o SSH con algún usuario y clave robusta para poder dormir tranquilos. Recuerdo, hace más de 10 años, cuando trabajaba con mi compañero Arturo administrando la infraestructura y seguridad de la red de una entidad financiera. Un día recibimos la tarea de implementar la centralización de accesos a todos los dispositivos; tras una investigación y análisis, decidimos implementar un servidor en Linux que ejecutase un software llamado TACACS+.

TACACS+ es un protocolo derivado del protocolo TACACS, (sus siglas en inglés Terminal Access Controller Access-Control System Plus (TACACS+)), que permite gestionar servicios de autenticación, autorización y contabilización (AAA). En base a esto, dentro de nuestro proyecto, la idea era tener un punto centralizado para administrar los dispositivos, auditar accesos de operarios de la red, minimizar el punto de exposición de equipos... en definitiva, mejorar controles de seguridad en general.

Mientas recordaba esta historia, me planteé porqué no agregar una capa extra de seguridad que brindan ya algunas opciones – 2FA (Doble Factor de Autenticación) o algo similar – que, de hecho, hay varias fórmulas rondando por internet y que son válidas. Pero, a diferencia de estas, lancé una idea a mi amigo Claudio Caracciolo, y quise aprovechar la potencialidad de nuestra plataforma Latch desde ElevenPaths.

Enseguida me puse manos a la obra a trabajar en aquello y el resultado es este artículo que quiero compartir con ustedes y que desarrollo a continuación:
Esquema básico de implementación servidor TACACS+ & Plugin Latch imagen
Figura 1: Esquema básico de implementación servidor TACACS+ & Plugin Latch

Instalación de Servidor TACACS+
Instalamos sobre un servidor Linux (Ubuntu Server 16.04.4 LTS) el paquete de TACACS+ para luego realizar una configuración básica donde habilitaremos el “Tacacs Key”. Acto seguido, se compartirá con los dispositivos de red que administraremos; con los respectivos usuarios grupos y permisos (Figura 2).

Instalación y Configuración Básica de Servidor TACACS+ imagen
Figura 2: Instalación y Configuración Básica de Servidor TACACS+

Instalación y configuración de plugin de Latch (UNIX)
Para comenzar la integración debemos crearnos una cuenta de desarrollador gratuita en la plataforma de Latch. Allí deberemos crear una aplicación Latch donde proporcionaremos información del nombre de la aplicación, correo electrónico, teléfono de contacto... para mostrar alertas, entre otras funcionalidades más avanzadas.

Creación del app Servidor TACACS+ en Latch imagen
Figura 3: Creación del app Servidor TACACS+ en Latch

Acompañado de lo anterior, ahora instalaremos el plugin de Latch para Unix, el mismo que nos permite integrar Latch para proteger servicios del sistema Unix, y que utiliza autenticación PAM, en este caso el servicio de TACACS+. La configuración de Latch en el servidor TACACS+ la realizamos en su archivo de configuración /etc/latch/latch.conf donde agregamos nuestro “Application ID” y el “Secreto” (Figura 5) generado previamente en la creación de la aplicación (Figura 3).

Instalación y configuración de Latch en el Servidor Tacacs+ imagenFigura 4: Instalación y configuración de Latch en el Servidor Tacacs+

 Configuración de archivo de Latch nimagen
Figura 5: Configuración de archivo de Latch

Ahora pareamos nuestro plugin de Latch con el servidor de Latch.

Pareamos nuestro plugin de Latch con el servidor de Latch imagen

Para esta parte de la implementación terminamos creando el archivo tac_plus, donde vincularemos  Latch como requisito para gestión del pestillo y luego requeriremos autenticación PAM, que estará configurado en la solicitud de “login” en nuestra configuración de TACACS+.

Configuración de archivo tac_plus para interacción con Latch & módulo PAM imaegn
Figura 6: Configuración de archivo tac_plus para interacción con Latch & módulo PAM

Configuración básica de Switch
En nuestro laboratorio hemos trabajado con un dispositivo Switch Cisco (2960S), donde las líneas básicas de configuración y para la interacción con nuestro Servidor TACACS+ fueron las siguientes:

Configuración Básica en Switch para comunicación con Servidor TACACS+ (AAA) imagen
Figura 7: Configuración Básica en Switch para comunicación con Servidor TACACS+ (AAA)

La configuración nos permitirá conectarnos desde nuestro servidor TACACS+ a los dispositivos mediante SSH.

Algo que sucede comúnmente cuando hacemos investigaciones o implementaciones, es revisar qué sucede por detrás de algún proceso, o en caso de problemas “troubleshooting”. Para ello les dejo opciones para realizar debug de la comunicación entre el Switch y Servidor (TACACS+) / Latch Plugin.

Habilitar debug en Switch para revisar comunicación AAA imagen
Figura 8: Habilitar debug en Switch para revisar comunicación AAA

Figura 9: Revisión de Logs de accesos desde el Servidor TACACS+ (Linux)

Con todo lo anterior funcionando, podemos realizar las pruebas de habilitar o deshabilitar acceso mediante el pestillo de Latch de un usuario a nuestro dispositivo Switch, pudiéndolo monitorear a través de alertas o intentos de acceso desde la web de Latch, nuestro móvil o desde nuestro reloj ejecutando Latch.

Bloqueo de acceso por Latch imagen
Figura 10: Bloqueo de acceso por Latch

Acceso permitido por Latch imagen
Figura 11: Acceso permitido por Latch

Por supuesto, hay muchas más opciones para poder fortalecer esta implementación, incluso para tener mayor granularidad de permisos. Podríamos complementar esto con un servidor de LDAP o directorio activo para no mantener los usuarios de manera local en el servidor TACACS+, listas de control de accesos (ACLs), tipos de comandos a ejecutar dentro del dispositivo, habilitar operaciones o 2FA (Doble Factor de Autenticación) con Latch y muchas más opciones.

La finalidad de este ejemplo es iniciar algo sencillo y tomarlo como referencia inicial, te invitamos a fortalecer mediante este tipo de controles tu infraestructura de red. Si tenéis dudas con el post entrar en la comunidad de ElevenPaths y dejar vuestras preguntas, nosotros u otros usuarios te responderán. ¡Hasta la próxima!

Carlos Avila
Chief Security Ambassador (CSA) de ElevenPaths

No hay comentarios:

Publicar un comentario