
Bastion/PAM entièrement transparent pour SSH, HTTPS, Kubernetes, bases de données et RDP/VNC, qui ne nécessite aucun logiciel supplémentaire côté client.
Warpgate est un bastion intelligent et entièrement transparent pour SSH, HTTPS, Kubernetes, MySQL, PostgreSQL, RDP et VNC qui ne nécessite ni application cliente ni wrapper SSH.
Soutenu par :
La documentation complète est disponible sur warpgate.null.page, notamment :
|
|
|
Veuillez utiliser le système de signalement de vulnérabilités de GitHub.
Warpgate est activement utilisé dans des environnements d'entreprise.
Ce qui est prévu et en cours de développement est suivi sur la feuille de route publique.
Warpgate est un service que vous déployez sur l'hôte bastion/DMZ, qui accepte les connexions SSH, HTTPS, Kubernetes, MySQL, PostgreSQL, RDP et VNC et fournit une interface d'administration web (optionnelle).
Exécutez warpgate setup pour générer interactivement un fichier de configuration, y compris les liaisons de ports. Consultez Démarrage pour plus de détails.
Il reçoit des connexions avec des identifiants au format spécifique, authentifie l'utilisateur localement, se connecte lui-même à la cible, puis relie les deux parties tout en enregistrant (optionnellement) la session.
Lors d'une connexion via HTTPS, Warpgate présente une sélection des cibles disponibles, puis relaie tout le trafic de la session vers la cible sélectionnée. Vous pouvez basculer entre les cibles à tout moment.
Vous gérez les listes de cibles et d'utilisateurs et les assignez les unes aux autres via l'interface d'administration, et l'historique des sessions est stocké dans une base de données SQLite (par défaut : dans /var/lib/warpgate).
Vous pouvez également utiliser l'interface web d'administration pour consulter la liste des sessions en direct, revoir les enregistrements de sessions, les journaux et plus encore.
Fin 2025, ce projet a commencé à accepter des contributions assistées par l'IA. Les contributeurs sont tenus de divulguer l'utilisation de l'IA. Je crois qu'en appliquant la même norme de haute qualité à toutes les demandes de tirage (PR), qu'elles soient assistées par l'IA ou non, aucun sacrifice en matière de qualité ou de sécurité n'est nécessaire.
L'IA étant un spectre entre les enthousiastes sans discernement et les utilisateurs d'autocomplétion, je crois que la transparence quant à son utilisation aide à établir et à limiter la place de l'IA dans ce projet.
Les décisions architecturales et de sécurité de ce projet sont 100 % humaines.
cargo install justjust npm installjust npm run buildcargo build (optionnellement --release)Le binaire se trouve dans target/{debug|release}.
poem-websea-orm + sqlxrusshjust openapi-all.Merci à ces personnes formidables (clé des emojis) :
Ce projet suit la spécification all-contributors. Toutes les contributions, quel qu'en soit le type, sont les bienvenues !
| Warpgate | Hôte de rebond SSH | VPN | Teleport |
|---|
| ✅ Assignation précise 1:1 entre utilisateurs et services | (Généralement) accès complet au réseau derrière l'hôte de rebond | (Généralement) accès complet au réseau | ✅ Assignation précise 1:1 entre utilisateurs et services |
| ✅ Aucun client personnalisé requis | Configuration de l'hôte de rebond requise | ✅ Aucun client personnalisé requis | Client personnalisé requis |
| ✅ 2FA intégrée | 🟡 2FA possible avec des plugins PAM supplémentaires | 🟡 Dépend du fournisseur | ✅ 2FA intégrée |
| ✅ SSO intégré | 🟡 SSO possible avec des plugins PAM supplémentaires | 🟡 Dépend du fournisseur | Payant |
| ✅ Audit au niveau des commandes | 🟡 Audit au niveau des connexions sur l'hôte de rebond, aucun audit sécurisé sur la cible si un accès root est accordé | Aucun audit sécurisé sur la cible si un accès root est accordé | ✅ Audit au niveau des commandes |
| ✅ Enregistrement complet des sessions | Aucun enregistrement sécurisé possible sur la cible si un accès root est accordé | Aucun enregistrement sécurisé possible sur la cible si un accès root est accordé | ✅ Enregistrement complet des sessions |
| ✅ Connexions non interactives | 🟡 Les connexions non interactives sont possibles si les clients prennent en charge les hôtes de rebond nativement | ✅ Connexions non interactives | Les connexions non interactives nécessitent un wrapper client SSH ou l'exécution d'un tunnel |
| ✅ Auto-hébergé, vous possédez vos données | ✅ Auto-hébergé, vous possédez vos données | 🟡 Dépend du fournisseur | SaaS |
| ✅ Protection intégrée contre la force brute | 🟡 Nécessite la configuration de fail2ban | 🟡 Dépend du fournisseur | ✅ Protection intégrée contre la force brute |
![]() Hariharan 💻 |
![]() kamilkrzeminski 💻 |
![]() Lars 💻 |
Hugues Granger 💻 |