Cuando hablamos de un servicio cloud de Zero Trust, la principal objeción que aparece es “yo no puedo exponer mis servidores a la internet” y es un punto definitivamente válido que es considerado en el diseño y para esto existe el Duo Security Authentication Proxy.
Un servicio Cloud o necesariamente implica exposición de los servidores. Justamente estas tecnologÃas desarrollan soluciones que hacen de interfaz segura entre la infraesturctura On-Premises y el Cloud.
Es justo el caso del funcionamiento de Cisco Duo Security quien provee al Duo Authentication Proxy (DAP) para hacer el trabajo de conexión segura de la infraestructura local hacia los servicios cloud de Duo.
En este artÃculo les explicaré la filosofÃa y funcionamiento del Duo Security Authentication Proxy
Tabla de Contenidos
¿Qué es el Duo Security Authentication Proxy?
Es un pequeño programa que se instala como un servicio. Es provisto por Duo Security y viene en versión para Windows y para Linux
Su función es hacer de intermediario entre Duo Security y los servidores o equipos instalados en las premisas de la organización.
La filosofÃa de funcionamiento es este proxy es justamente no exponer a la internet la infraestructura on-premises.
Beneficios de Usar el Duo Security Authentication Proxy
- Mayor seguridad
- Integración multiprotocolo
- Derivación de la autenticación primaria
Cuáles son sus Funciones
A continuación voy a describir por separado las funciones que ejerce el Duo Security Authentication proxy para luego unirlas y mostrar el flujo completo de una autenticación realizada con él.
Sincronizador de Usuarios
La primera función que ejecuta el Duo Security Authentication Proxy (DAP) es la de sincronización de usuarios de Duo de esta manera el DAP permite que los Directorios permanezcan On-Premises y no sean expuestos a la internet.
Dentro de las opciones disponibles de sincronización On-Premises, el DAP puede comunicarse con el Directorio Activo de Microsoft o servidores de OpenLDAP.
Para hacer esta sincronización hay que configurarla en el Portal de Administración de Duo y en el propio Duo Authentication Proxy en su sección [CLOUD]
Una vez sincronizados los usuarios, éstos deben pasar por un proceso de enrolamiento de sus dispositivos 2FA para poder autenticarse con Duo Security.
Receptor de Autenticación Derivada
Otra de las funciones del Duo Security Authentication Proxy es la de recibir solicitudes de autenticación desde diversos equipos o aplicaciones a quienes se les ha configurado derivar su autenticación a un tercero.
Esta funcionalidad hace de Duo Security un servicio de autenticación multiprotocolo donde prácticamente cualquier aplicación puede ser integrada.
Estas autenticaciones llegan con base a dos protocolos estándar de autenticación:
Solicitudes vÃa RADIUS
El DAP puede recibir solicitudes de autenticación vÃa el protocolo RADIUS lo que lo hace un potente puente de autenticación para equipos de red, como por ejemplo:
- Firewalls para VPN (Virtual Private Networks)
- Interfaz de administración de Routers, Switches, Wireless Lan Controllers
Esto se realiza en la sección [radius_server_auto] de su archivo de configuración
Solicitudes vÃa LDAP
Ya a nivel de aplicaciones, surge el protocolo LDAP como un protocolo de autenticación prácticamente nativo en la mayorÃa de las aplicaciones ya que LDAP es el mismo protocolo que usa el Directorio Activo
Por esta razón es muy común que las aplicaciones tengan opción de autenticarse externamente a través de LDAP y es acá cuando el DAP puede recibir estas solicitudes.
Verificador de Autenticación Primaria
Esto se realiza en la sección [ldap_server_auto] del archivo de configuración.
El Duo Authentication Proxy puede enviar solicitudes de autenticación a los autenticadores primarios, en este caso puede enviarlas al autenticador primario que por lo general es un Directorio Activo u también puede ser a otro RADIUS.
Cliente Directorio Activo / LDAP
Es la opción más común, y en ella, vÃa LDAP el Duo Authentication Proxy envÃa el hash de autenticación al Directorio activo, y es este como autenticador primario quien tiene la responsabilidad de validar las credenciales presentadas.
Luego de esta validación, el Directorio Activo responde al DAP si las credenciales son correctas o no.
La confguración de esta autenticación va en la sección [ad_client] del archivo de configuración
Cliente de Servidor RADIUS
Una configuración no tan común es volver a derivar la autenticación a otro servidor RADIUS y esperar respuesta del mismo a través de este protocolo.
Para su configuración, acudimos a la sección [radius_client] del archivo de configuración
Intermediario con el Servicio de Duo
Una vez que la autenticación primaria acepta las credenciales del usuario, le informa al DAP. Entonces, éste pasa a requerir a la nube de Duo Security que solicite el Multi-Factor Authentication.
Parte de esta intermediación consiste en manejar los modos de fallos de Duo Security para los momentos en los cuales los servicios Cloud no se encuentran disponibles
Flujo de Autenticación
Ahora que ya conoces las funciones por separado, vamos a unir todas las piezas del rompecabezas y analizar por completo el flujo de autenticación, partiendo del siguiente diagrama y la numeración que he colocado en él:
Todo comienza cuando un usuario intenta acceder a los servicios de una aplicación
- La aplicación que recibe el intento de autenticación tiene configurada la autenticación externa apuntando al Duo Authentication Proxy y envÃa dicha solicitud vÃa el protocolo que corresponda (RADIUS / LDAP) y el DAP la procesa
- El DAP envÃa la solicitud de autenticación primaria al proveedor de esta autenticación que por lo general es el Directorio Activo. ¿Este evalúa las credenciales y responde si son correctas o no.
- Si las credenciales primarias son correctas, el DAP envÃa una petición de solicitud de 2FA al usuario que corresponde. Duo recibe esta petición y envÃa al usuario una solicitud de autenticación de doble factor. Si esta solicitud es satisfactoria, Duo responde con este hecho al DAP.
- El DAP indica a la aplicación que el acceso ha sido permitido y la aplicación culmina su autenticación y permite el acceso al usuario.
Fuente de Autenticación para SSO
Para el servicio de Single Sing-On, Duo Soporta dos tipos de fuente de autenticación una Cloud vÃa SAML u OIDC o una On-Premises a través del Duo Security Authentication Proxy.
Proxy HTTPS
En el caso de requerir mantener los equipos o aplicaciones totalmente aislados de la internet, el Duo Authentication Proxy puede servir de proxy http.
Una aplicación común es la aplicación de Windows Logon y RDP, en la que se pueda desear que los equipos windows no contacten directamente a los servicios Cloud de Duo.
En este caso, se configura un Duo Security Authentication Proxy para que maneje las peticiones https proveniente de los equipos Windows y los envie a la nube de Duo.
Mejores Prácticas
- Por lo ligero del programa del Duo Authentication Proxy, no es necesario instalar un servidor exclusivo para este fin, a menos que se espere un tráfico alto de Autenticaciones
- Usa LDAPS en la medida de lo posible, esto asegurará la información entre el DAP y tus Controladores de Dominio y permitirá funciones adicionales tales como la posibilidad de cambio de contraseña del usuario VPN vÃa autoservicio.
- Usa una Base DN lo más alta posible para cubrir todas las ramas del árbol del Directorio Activo.
- Utiliza el Manager que viene integrado al DAP para una configuración y gestión mucho más sencilla
Conclusiones
El Duo Security Authentication Proxy es un componente vital para el ecosistema Zero Trust de Duo. El permite una gran cantidad de integraciones gracias a su manejo multiprotocolo, principalmente RADIUS y LDAP.
Además, permite la no exposición de la infraestructura On-Premises consumiendo bajos recursos y de una configuración sencilla vÃa archivo de configuración.
Referencias
Documentación de Duo Security, Duo Authentication Proxy – Reference
Principal Solutions Engineer en ICT International MSP
Especialista en Ciberseguridad ZeroTrust | Content Marketer | Experto SEO |