
warpgate v0.29.0-beta.1
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.
- Configure-o na sua DMZ, adicione contas de usuário e atribua-as facilmente a hosts e URLs específicos dentro da rede.
- Warpgate gravará cada sessão para você visualizar (ao vivo) e reproduzir posteriormente através de uma UI web administrativa integrada.
- O acesso SSH, RDP e VNC baseado em navegador é integrado; clientes nativos continuam funcionando.
- Não é um jump host — encaminha a conexão diretamente ao destino de uma forma totalmente transparente para o cliente.
- Suporte nativo a 2FA e SSO (TOTP & OpenID Connect)
- Proteção integrada contra força bruta com bloqueio de IP e bloqueio de usuário
- Binário único sem dependências.
- Escrito em Rust 100% seguro.
Apoiado por:
Primeiros passos e downloads
- Consulte a página de documentação Primeiros passos (ou Primeiros passos no Docker).
- Binários de release / beta
- Builds noturnos
Documentação
A documentação completa está disponível em warpgate.null.page, incluindo:
- Proteção de login - Configure a proteção contra força bruta
- SSO - Single Sign-On com OpenID Connect
- Tickets - Credenciais de acesso temporárias
Como o Warpgate é diferente de um jump host / VPN / Teleport?
| 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 |
|
|
|
Reportando problemas de segurança
Use o sistema de relatório de vulnerabilidades do GitHub.
Status do projeto
Warpgate está sendo usado ativamente em ambientes empresariais.
O que está planejado e em andamento é acompanhado no roadmap público.
Como funciona
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.
Divulgação de transparência em IA
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.
Contribuindo / compilando a partir do código-fonte
- Você precisará de Rust, NodeJS e NPM
- Clone o repositório
- Just é usado para executar tarefas - instale-o:
cargo install just - Instale as dependências da UI administrativa:
just npm install - Compile o frontend:
just npm run build - Compile o Warpgate:
cargo build(opcionalmente--release)
O binário está em target/{debug|release}.
Stack tecnológica
- Rust 🦀
- HTTP:
poem-web - Banco de dados: SQLite via
sea-orm+sqlx - SSH:
russh
- HTTP:
- Typescript
- Svelte 5
- Bootstrap
API de backend
- As APIs administrativas e voltadas ao usuário do Warpgate usam esquemas e SDKs OpenAPI autogerados. Para atualizar os SDKs após alterar as estruturas de consulta/resposta, execute
just openapi-all.
Contribuidores ✨
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!































