Noticias

Configure el servidor TACACS + con una sencilla GUI

Administrar la autenticación y autorización en una red grande es un desafío: las contraseñas deben configurarse y rotarse de vez en cuando, el acceso a ciertos ajustes de configuración debe controlarse y, finalmente, las acciones de los usuarios deben registrarse en algún lugar. Esto requiere un controlador central en la red que sea responsable de tales funciones. Los enrutadores y conmutadores modernos que normalmente ejecutan sistemas operativos Linux son compatibles con el protocolo TACACS +, que permite a los administradores del sistema implementar reglas flexibles para la autenticación y autorización. Sin embargo, la implementación del servidor TACACS + para el sistema operativo Linux carece de una interfaz gráfica de usuario que hace que la configuración del demonio sea un proceso sencillo e intuitivo. En los siguientes párrafos discutiremos cómo configurar el demonio TACACS + en el sistema operativo Linux y cómo proporcionar una GUI simple pero intuitiva para configurar la instancia TACACS +.

TACACS +, que significa Terminal Access Controller Access-Control System Plus, es un protocolo desarrollado principalmente por Cisco y estandarizado en RFC8907. El objetivo principal del protocolo es manejar la autenticación y autorización de comandos ejecutados en hardware de telecomunicaciones remoto en un servidor centralizado. TACACS + es un gran protocolo y se puede comparar con RADIUS. Sus principales ventajas son las siguientes: permite cifrar u ofuscar toda la carga útil (aunque en realidad no está cifrada en un sentido criptográfico) con la ayuda de la función hash MD5 y un secreto compartido entre el hardware de telecomunicaciones y un servidor central que admite. el protocolo TCP para el transporte, y ofrece la posibilidad de ejecutar funciones AAA de forma flexible. Se pueden encontrar más detalles sobre el protocolo en el RFC correspondiente.

Hay una implementación bastante decente del servidor TACACS + para Linux. Y aquí discutiremos cómo configurar esta implementación en Linux y también abordaremos los problemas relacionados con la provisión de la herramienta basada en GUI utilizada para configurar una instancia del protocolo.

Para instalar TACACS +, ejecute los siguientes comandos en el servidor accesible a su zoológico de dispositivos de red:

$ sudo apt-get update && sudo apt-get upgrade -y

$ sudo apt-get install -y perl build-essential libnet-ldap-perl libnet-ssleay-perl libauthen-pam-perl libpam-runtime libio- pty-perl libbind-dev libssl-dev libpcre3-dev libpcre++-dev libfreeradius-dev zlib1g-dev libgcrypt20-dev libcurl4-openssl-dev libpam0g-dev libsctp-dev libevent-dev

$ cd  ̃

$ wget http://www.pro-bono-publico.de/projects/src/DEVEL.tar.bz2

$ bzip2 -dc DEVEL.tar.bz2 | tar xvfp -

$ cd PROJECTS

$ sudo make

$ sudo make install

$ sudo mkdir /var/log/tac_plus

$ sudo mkdir /var/log/tac_plus/access

$ sudo mkdir /var/log/tac_plus/accounting

$ sudo mkdir /var/log/tac_plus/authentication

$ cp tac_plus/extra/etc_init.d_tac_plus /etc/init.d/tac_plus

$ chmod +x /etc/init.d/tac_plus

Ahora no se preocupe por iniciar el servidor. Lo haremos más tarde usando la GUI. Ahora todo está listo para instalar la parte GUI. Lo primero es lo primero, así que descargue el repositorio que contiene la implementación de Python de TACACS + GUI de la siguiente manera:

$ sudo apt-get install git

$ cd  ̃

$ git clone https://github.com/dmitriykuptsov/tacacsgui.git

$ cd tacacsgui

The next step is to run the installation script:

$ cd deployment

$ sudo bash deploy.sh

Ahora todo está listo para configurar la instancia TACACS +. El nombre de usuario y la contraseña de administrador predeterminados se pueden buscar y cambiar en el archivo database / schema.sql. Ahora abra el navegador y apunte a la dirección IP de su servidor TACACS + GUI recién proporcionado (normalmente ingrese el navegador http: //: 8080 / uno, a menos que haya personalizado el servidor para que se adapte a sus necesidades).

Inicie sesión en el servidor y navegue hasta la pestaña Sistema. Es el momento adecuado para cambiar la configuración predeterminada del sistema. Normalmente, sin embargo, solo necesita especificar aquí la clave secreta para el servidor TACACS +. Estoy usando la utilidad apg con los siguientes parámetros para generar la clave de tamaño 192 bits, que es una longitud de clave suficientemente buena:

$ apg -a 1 -x 32 -m 32

Sistema de configuración TACACS

Ingrese el valor de la clave de autenticación y guarde el formulario. Ahora podemos crear nuestra primera configuración para la instancia TACACS +. Vaya a la pestaña Configuración y haga clic en el botón Agregar nueva configuración. Ingrese el nombre de la configuración, por ejemplo, Predeterminado, y presione el botón Guardar. Haga clic en Crear y verifique que la configuración sea válida. Si todo está bien, ahora puede implementar su primera instancia TACACS +. Para hacer esto, haga clic en el botón Implementar. Ahora puede comprobar si se ha aplicado la configuración y si la instancia de TACACS + se está ejecutando. Hay un pequeño script bash que se ejecuta regularmente en segundo plano y comprueba si el archivo / usr / local / etc / tac plus.cfg ha sido modificado. Si algo sale mal, siempre puede verificar si el trabajo cron definido en / etc / crontab está haciendo lo que está destinado. Si todo funciona correctamente, la salida del siguiente comando debería indicar que el demonio tac plus se está ejecutando (tómese un minuto antes de verificar, ya que el trabajo cron se ejecuta una vez por minuto):

# ps aux | grep tac_plus

Acciones de configuración de TACACS

Ahora es el momento de definir comandos y usuarios y asignar usuarios a grupos. Empecemos por los grupos. Haga clic en la pestaña Grupo, luego agregue un nuevo botón de grupo. Ingrese el nombre de un grupo, por ejemplo, Expertos, ingrese la fecha de vencimiento del grupo y configure la política de comando predeterminada en Permitir (este grupo tiene amplios permisos). Creemos un grupo con pautas más estrictas. Haga clic en Crear grupo nuevamente, ingrese el nombre del grupo, por ejemplo, Juniors, y establezca la política predeterminada en Denegar. Y sí, no olvide establecer la fecha de vencimiento del grupo. Ahora, después de guardar el grupo, haga clic en Editar junto a Grupo Junior. En este punto, puede comenzar a agregar los comandos que los usuarios de este grupo pueden ejecutar:

Configuración del grupo TACACS

Simplemente comience a escribir el nombre del comando y los comandos que coincidan aparecerán en el cuadro de diálogo. Seleccione el comando que desee y haga clic en el botón Agregar. Puede agregar tantos comandos como desee al grupo. Entonces no olvide actualizar el grupo haciendo clic en el botón «Actualizar». El siguiente paso es agregar usuarios a la configuración del sistema. Haga clic en la pestaña Usuarios y luego en el botón Agregar usuario. Ingrese el nombre de su usuario y la contraseña encriptada (la contraseña inicial puede ser simple ya que el usuario tiene la opción de restablecer su contraseña a través del formulario de restablecimiento, cuyo enlace se puede encontrar en la página de inicio). Ahora las contraseñas en este formulario deben ingresarse en forma encriptada. Para cifrar una contraseña, siempre puede usar la biblioteca openssl de esta manera:

$ openssl passwd -1 resetme

Copie la contraseña generada en el campo correspondiente y guarde la información del usuario. Una vez que se guarda el usuario, debe asignarlo a un grupo. Para hacer esto, haga clic en el botón Editar junto al usuario deseado y en el formulario abierto comience a escribir los nombres de los grupos y luego agréguelos al usuario. Cuando termine, finalmente necesitamos agregar nuestros grupos y usuarios a la configuración. Haga clic en la pestaña Configuración, seleccione su configuración aprovisionada y haga clic en Editar. En la página abierta, agregue todos sus grupos y todos sus usuarios como se muestra en la siguiente figura:

Grupos de configuración de TACACS

Una vez completada la configuración, puede probar e implementar la configuración. Felicitaciones, TACACS + está listo para autenticación, autorización y facturación. Una cosa más, solo a modo de ejemplo, a continuación, es una configuración simple de TACACS + para los conmutadores de Huawei:

system-view

hwtacacs enable

hwtacacs-server template ht

 hwtacacs-server authentication <IP address of TACACS+ server>

 hwtacacs-server authorization <IP address of TACACS+ server>

 hwtacacs-server accounting <IP address of TACACS+ server>

 hwtacacs-server shared-key cipher witOvibWotshEdPhutOgDiCrup3quod0

 quit

aaa

 authentication-scheme default

 authentication-mode local hwtacacs

 quit

 authorization-scheme default

 authorization-mode local hwtacacs

  authorization-cmd 1 hwtacacs local

  authorization-cmd 2 hwtacacs local

  authorization-cmd 3 hwtacacs local

  authorization-cmd 4 hwtacacs local

  authorization-cmd 5 hwtacacs local

  authorization-cmd 6 hwtacacs local

  authorization-cmd 7 hwtacacs local

  authorization-cmd 8 hwtacacs local

  authorization-cmd 9 hwtacacs local

  authorization-cmd 10 hwtacacs local

  authorization-cmd 11 hwtacacs local

  authorization-cmd 12 hwtacacs local

  authorization-cmd 13 hwtacacs local

  authorization-cmd 14 hwtacacs local

  authorization-cmd 15 hwtacacs local

  quit

accounting-scheme default

  accounting-mode hwtacacs

  accounting realtime 3

  accounting start-fail online

quit

 domain default_admin

 authentication-scheme default

  authorization-scheme default

  accounting-scheme default

  hwtacacs-server ht

quit quit

quit save

Ahora, cuando SSH (recuerde no usar Telnet si su infraestructura usa conexiones inseguras, que puede ser el caso si alquila los canales de comunicación a terceros) a un conmutador, la autenticación y autorización se realiza en un servidor central. Esto facilita la revocación de usuarios, la adición de esquemas de autorización más complejos y la rotación de contraseñas de los usuarios.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba