
Fully transparent SSH, HTTPS, Kubernetes, database and RDP/VNC bastion/PAM that doesn't need additional client-side software
Warpgate é um bastion host inteligente e totalmente transparente para SSH, HTTPS, Kubernetes, MySQL, PostgreSQL, RDP e VNC que não requer um aplicativo cliente ou um wrapper SSH.
Apoiado por:
A documentação completa está disponível em warpgate.null.page, incluindo:
|
|
|
Use o sistema de relatório de vulnerabilidades do GitHub.
Warpgate está sendo usado ativamente em ambientes empresariais.
O que está planejado e em andamento é acompanhado no roadmap público.
Warpgate é um serviço que você implanta no host bastion/DMZ, que aceitará conexões SSH, HTTPS, Kubernetes, MySQL, PostgreSQL, RDP e VNC e fornecerá uma UI web administrativa (opcional).
Execute warpgate setup para gerar interativamente um arquivo de configuração, incluindo bindings de porta. Consulte Primeiros passos para detalhes.
Ele recebe conexões com credenciais formatadas especificamente, autentica o usuário localmente, conecta-se ao destino por conta própria e, em seguida, conecta ambas as partes enquanto (opcionalmente) grava a sessão.
Ao conectar via HTTPS, Warpgate apresenta uma seleção de destinos disponíveis e, em seguida, fará proxy de todo o tráfego em uma sessão para o destino selecionado. Você pode alternar entre destinos a qualquer momento.
Você gerencia as listas de destinos e usuários e as atribui entre si através da UI administrativa, e o histórico de sessões é armazenado em um banco de dados SQLite (padrão: em /var/lib/warpgate).
Você também pode usar a interface web administrativa para visualizar a lista de sessões ao vivo, revisar gravações de sessão, logs e muito mais.
No final de 2025, este projeto começou a aceitar contribuições assistidas por IA. Os contribuidores são obrigados a divulgar o uso de IA. Acredito que, aplicando o mesmo padrão de alta qualidade a todos os PRs, sejam eles assistidos por IA ou não, nenhum sacrifício em qualidade ou segurança precisa ser feito.
Como a IA é um espectro entre entusiastas sem noção e usuários de autocomplete, acredito que ser transparente sobre seu uso ajuda a estabelecer e limitar o lugar da IA neste projeto.
Decisões arquiteturais e de segurança neste projeto são 100% humanas.
cargo install justjust npm installjust npm run buildcargo build (opcionalmente --release)O binário está em target/{debug|release}.
poem-websea-orm + sqlxrusshjust openapi-all.Agradecimentos a estas pessoas maravilhosas (chave de emoji):
Este projeto segue a especificação all-contributors. Contribuições de qualquer tipo são bem-vindas!
| Warpgate | SSH jump host | VPN | Teleport |
|---|
| ✅ Atribuição precisa 1:1 entre usuários e serviços | (Geralmente) acesso total à rede atrás do jump host | (Geralmente) acesso total à rede | ✅ Atribuição precisa 1:1 entre usuários e serviços |
| ✅ Nenhum cliente personalizado necessário | Configuração do jump host necessária | ✅ Nenhum cliente personalizado necessário | Cliente personalizado necessário |
| ✅ 2FA pronto para uso | 🟡 2FA possível com plugins PAM adicionais | 🟡 Depende do provedor | ✅ 2FA pronto para uso |
| ✅ SSO pronto para uso | 🟡 SSO possível com plugins PAM adicionais | 🟡 Depende do provedor | Pago |
| ✅ Auditoria em nível de comando | 🟡 Auditoria em nível de conexão no jump host, sem auditoria segura no destino se acesso root for concedido | Sem auditoria segura no destino se acesso root for concedido | ✅ Auditoria em nível de comando |
| ✅ Gravação completa da sessão | Nenhuma gravação segura possível no destino se acesso root for concedido | Nenhuma gravação segura possível no destino se acesso root for concedido | ✅ Gravação completa da sessão |
| ✅ Conexões não interativas | 🟡 Conexões não interativas são possíveis se o cliente suportar jump hosts nativamente | ✅ Conexões não interativas | Conexões não interativas exigem o uso de um wrapper de cliente SSH ou a execução de um túnel |
| ✅ Self-hosted, você é dono dos dados | ✅ Self-hosted, você é dono dos dados | 🟡 Depende do provedor | SaaS |
| ✅ Proteção integrada contra força bruta | 🟡 Requer configuração do fail2ban | 🟡 Depende do provedor | ✅ Proteção integrada contra força bruta |
![]() Hariharan 💻 |
![]() kamilkrzeminski 💻 |
![]() Lars 💻 |
Hugues Granger 💻 |