
Fully transparent SSH, HTTPS, Kubernetes, database and RDP/VNC bastion/PAM that doesn't need additional client-side software Bastión/PAM totalmente transparente para SSH, HTTPS, Kubernetes, bases de datos y RDP/VNC que no requiere software adicional en el lado del cliente.
Warpgate es un host bastión inteligente y totalmente transparente para SSH, HTTPS, Kubernetes, MySQL, PostgreSQL, RDP y VNC que no requiere una aplicación cliente ni un wrapper de SSH.
Con el apoyo de:
La documentación completa está disponible en warpgate.null.page, e incluye:
|
|
|
Utiliza el sistema de reporte de vulnerabilidades de GitHub.
Warpgate se utiliza activamente en entornos empresariales.
Lo que está planificado y en lo que se está trabajando a continuación se rastrea en la hoja de ruta pública.
Warpgate es un servicio que despliegas en el host bastión/DMZ, que aceptará conexiones SSH, HTTPS, Kubernetes, MySQL, PostgreSQL, RDP y VNC y proporcionará una interfaz web de administración (opcional).
Ejecuta warpgate setup para generar interactivamente un archivo de configuración, incluidos los enlaces de puertos. Consulta Primeros pasos para más detalles.
Recibe conexiones con credenciales con formato específico, autentica al usuario localmente, se conecta al destino por sí mismo y luego conecta a ambas partes mientras (opcionalmente) graba la sesión.
Al conectarse a través de HTTPS, Warpgate presenta una selección de destinos disponibles y luego proxyará todo el tráfico de la sesión al destino seleccionado. Puedes cambiar entre destinos en cualquier momento.
Gestionas las listas de destinos y usuarios y las asignas entre sí a través de la interfaz de administración, y el historial de sesiones se almacena en una base de datos SQLite (por defecto: en /var/lib/warpgate).
También puedes usar la interfaz web de administración para ver la lista de sesiones en vivo, revisar grabaciones de sesiones, registros y más.
A finales de 2025, este proyecto comenzó a aceptar contribuciones asistidas por IA. Se requiere que los contribuyentes revelen el uso de IA. Creo que al aplicar el mismo estándar de alta calidad a todos los PR, ya sea asistidos por IA o no, no es necesario hacer ningún sacrificio en calidad o seguridad.
Dado que la IA es un espectro entre entusiastas sin criterio y usuarios de autocompletado, creo que ser transparente sobre su uso ayuda a establecer y limitar el lugar de la IA en este proyecto.
Las decisiones arquitectónicas y de seguridad en este proyecto son 100% humanas.
cargo install justjust npm installjust npm run buildcargo build (opcionalmente --release)El binario está en target/{debug|release}.
poem-websea-orm + sqlxrusshjust openapi-all.Gracias a estas maravillosas personas (clave de emojis):
Este proyecto sigue la especificación all-contributors. ¡Se aceptan contribuciones de cualquier tipo!
| Warpgate | Host de salto SSH | VPN | Teleport |
|---|
| ✅ Asignación precisa 1:1 entre usuarios y servicios | (Normalmente) acceso completo a la red detrás del host de salto | (Normalmente) acceso completo a la red | ✅ Asignación precisa 1:1 entre usuarios y servicios |
| ✅ No se necesita un cliente personalizado | Se necesita configuración del host de salto | ✅ No se necesita un cliente personalizado | Se requiere un cliente personalizado |
| ✅ 2FA incluido de serie | 🟡 2FA posible con plugins PAM adicionales | 🟡 Depende del proveedor | ✅ 2FA incluido de serie |
| ✅ SSO incluido de serie | 🟡 SSO posible con plugins PAM adicionales | 🟡 Depende del proveedor | De pago |
| ✅ Auditoría a nivel de comandos | 🟡 Auditoría a nivel de conexión en el host de salto, sin auditoría segura en el destino si se otorga acceso root | Sin auditoría segura en el destino si se otorga acceso root | ✅ Auditoría a nivel de comandos |
| ✅ Grabación completa de sesiones | No es posible una grabación segura en el destino si se otorga acceso root | No es posible una grabación segura en el destino si se otorga acceso root | ✅ Grabación completa de sesiones |
| ✅ Conexiones no interactivas | 🟡 Las conexiones no interactivas son posibles si los clientes soportan hosts de salto de forma nativa | ✅ Conexiones no interactivas | Las conexiones no interactivas requieren usar un wrapper de cliente SSH o ejecutar un túnel |
| ✅ Autoalojado, tú eres dueño de los datos | ✅ Autoalojado, tú eres dueño de los datos | 🟡 Depende del proveedor | SaaS |
| ✅ Protección integrada contra fuerza bruta | 🟡 Requiere configuración de fail2ban | 🟡 Depende del proveedor | ✅ Protección integrada contra fuerza bruta |
![]() Hariharan 💻 |
![]() kamilkrzeminski 💻 |
![]() Lars 💻 |
Hugues Granger 💻 |