# Gestión centralizada de acceso SSH con Warpgate, SSO e IaC
En entornos con múltiples infraestructuras aisladas gestionadas por un equipo de ingeniería compartido, el enfoque anticuado de usar playbooks de Ansible para distribuir claves SSH en más de 100 máquinas virtuales se convierte en un cuello de botella. El acceso estaba ligado a la posesión de claves en lugar de roles corporativos, lo que generaba onboarding manual, retrasos en la revocación de permisos y dolores de cabeza en auditorías. La nueva configuración aprovecha Warpgate como proxy transparente con SSO y RBAC para control de acceso automatizado, sin necesidad de agentes en los servidores.
Limitaciones clave del enfoque tradicional
La gestión manual de usuarios vía Ansible generaba serios problemas:
- Sin integración SSO: El estado corporativo no afectaba el acceso.
- Ejecuciones manuales de playbooks para cambios de proyecto.
- Retrasos en revocaciones: Hosts offline mantenían claves obsoletas.
- Logs de auditoría descentralizados dispersos por los servidores.
Requisitos para un reemplazo: Integración con SSO corporativo, gestión declarativa con IaC, resiliencia en Kubernetes y soporte sin agentes para SSH/HTTPS/DB/K8s.
Características de Warpgate
Warpgate es un bastión open source que hace proxy de conexiones tras autenticar usuarios y verificar roles. Soporta SSO OIDC, 2FA, grabación de sesiones y auditoría de comandos. Funciona sin modificar los recursos destino y ofrece una interfaz web para historial de conexiones.
Comparación con alternativas
| Característica | Warpgate | Jump Host | VPN | Teleport |
|---------|----------|-----------|-----|----------|
| Vinculación precisa a servicios | ✅ | No | No | ✅ |
| Sin cliente requerido | ✅ | No | No | ✅ |
| 2FA | ✅ | PAM | Varía | ✅ |
| SSO | ✅ | PAM | Varía | De pago |
| Auditoría de comandos | ✅ | No | No | ✅ |
| Grabación de sesiones | ✅ | No | No | ✅ |
| Conexiones no interactivas | ✅ | Limitado | ✅ | Wrapper |
| Autoalojado | ✅ | ✅ | Varía | SaaS |
Ventajas para entornos multi-proyecto: Sin costos de licencias, configuración con IaC y escalabilidad sin fisuras.
Arquitectura con Keycloak y Terraform
Integración SSO
El proveedor OIDC Keycloak mapea grupos a roles de Warpgate. Ejemplo warpgate.yaml:
sso_providers:
- name: keycloak
label: "Iniciar sesión con Keycloak"
auto_create_users: true
provider:
type: custom
client_id: warpgate
client_secret: $OIDC_CLIENT_SECRET
issuer_url: $ISSUER_URL
scopes: ["openid", "email"]
role_mappings:
'/teams/devops/warpgate-admin': 'warpgate:admin'
'/teams/devops/project-A': 'project-A'
'/teams/devops/project-B': 'project-B'
El grupo /teams/devops/project-A otorga acceso a recursos del Proyecto A. Los cambios en Keycloak surten efecto al instante.
IaC con proveedor Terraform
Terraform define roles, recursos y gateways. Estructura: Warpgate raíz + carpetas por proyecto. Para redes internas, usa un Warpgate interno como gateway. Esto mantiene todo declarativo en más de 100 VMs, evitando ajustes manuales en la UI.
Despliegue en Kubernetes con réplicas elimina puntos únicos de fallo.
Limitaciones y compatibilidad
Warpgate no reemplaza completamente Ansible: Las VMs necesitan un usuario técnico único para conexiones proxy. Los permisos de ingeniería se aplican en el bastión, sin claves personales en hosts. Escala sin esfuerzo a nuevos proyectos sin playbooks.
Cambios prácticos
- Onboarding: Añadir al grupo de Keycloak.
- Revocación: Eliminar del grupo.
- Auditoría: Logs de sesiones centralizados.
- Escalado: Multiinquilino sin riesgos de accesos huérfanos.
Reduce el overhead operativo en un 80% en gestión de accesos.
Lecciones clave
- Acceso basado en roles desde SSO, sin agentes en servidores.
- Configuración declarativa con Terraform para +100 recursos.
- Grabación completa de sesiones y auditoría a nivel de comandos.
- Autoalojado, sin licencias, listo para Kubernetes.
- Proxy para SSH/HTTPS/DB/K8s con soporte no interactivo.
— Editorial Team
Aún no hay comentarios.