Bandera: Русский Русский Bandera: English English

094 | OpenVPN + Keycloak: Autenticación moderna

Publicado el 27.08.2025

El problema de los certificados a gran escala

En artículos anteriores discutimos que OpenVPN utiliza certificados para la autenticación. Este método es fiable, pero tiene desventajas importantes:

  • Incomodidad para los usuarios: Cada usuario necesita recibir e instalar su certificado manualmente.
  • Complejidad de gestión: Al despedir a un empleado es necesario revocar su certificado, lo que requiere acciones adicionales.
  • Falta de centralización: Cada servicio al que se necesita acceso tiene su propio sistema de autorización.

La solución a este problema es el uso de un proveedor de identidad centralizado, como Keycloak.

El papel de Keycloak: Centro de inicio de sesión único

Keycloak es un sistema de código abierto de gestión de acceso e identidad (Proveedor de identidad, IdP). Su tarea principal — convertirse en un “inicio de sesión único” (Single Sign-On, SSO) para todos sus servicios.

Al integrarse con OpenVPN, Keycloak se encarga de todas las tareas relacionadas con la autenticación:

  • Almacenamiento de la base de usuarios y sus contraseñas.
  • Soporte de autenticación de dos factores (2FA).
  • Posibilidad de inicio de sesión a través de redes sociales u otros proveedores de identidad.

¿Cómo funciona a nivel conceptual?

En lugar de autenticar al usuario mediante un certificado, OpenVPN redirige la solicitud al servidor Keycloak.

  1. Intento de conexión: El cliente de OpenVPN intenta establecer la conexión.
  2. Solicitud de autenticación: El servidor OpenVPN envía una solicitud al servidor Keycloak, que actúa como su entidad de confianza.
  3. Autenticación a través del navegador: El navegador del usuario abre la página de inicio de sesión de Keycloak. El usuario introduce su nombre de usuario y contraseña.
  4. Verificación y token: Keycloak verifica los datos y, en caso de éxito, envía al servidor OpenVPN un token especial.
  5. Establecimiento de la conexión: El servidor OpenVPN comprueba el token, verifica la autenticidad del usuario y le concede acceso.

De este modo, la autenticación se vuelve cómoda y familiar para el usuario. No tiene que preocuparse por los certificados, y el administrador obtiene un control centralizado sobre todas las cuentas.

Ventajas de integrar OpenVPN y Keycloak

  • Comodidad: Los usuarios inician sesión en la red con su nombre de usuario y contraseña habituales.
  • Seguridad: Puede forzar el uso de autenticación de dos factores para el acceso a la VPN.
  • Escalabilidad: Añadir y eliminar usuarios se puede hacer desde un único lugar: el servidor Keycloak.
  • Automatización: La gestión de accesos se puede automatizar, por ejemplo, mediante la API.

Conclusión

OpenVPN, creado originalmente sobre la base de una infraestructura de certificados, demuestra una sorprendente flexibilidad. La posibilidad de integrarlo con proveedores de identidad modernos, como Keycloak, le permite mantenerse vigente y cumplir con los requisitos de seguridad corporativa. Esta combinación une la fiabilidad y flexibilidad del protocolo con la comodidad y seguridad de la gestión centralizada de usuarios.

¿Necesitas ayuda?

Escríbeme y te ayudaré a resolver el problema

Publicaciones relacionadas