Retour aux mises à jour
New releaseSep 15, 2026

warpgate v0.29.0-beta.1

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.

Partager


Affiche un logo noir en mode clair et un logo blanc en mode sombre.


GitHub All Releases     Discord   Docs


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.

  • Installez-le dans votre DMZ, ajoutez des comptes utilisateurs et assignez-les facilement à des hôtes et des URL spécifiques au sein du réseau.
  • Warpgate enregistre chaque session pour que vous puissiez la visionner (en direct) et la rejouer ultérieurement via une interface d'administration web intégrée.
  • L'accès SSH, RDP et VNC via navigateur est intégré ; les clients natifs continuent de fonctionner.
  • Ce n'est pas un hôte de rebond — il transmet la connexion directement à la cible de manière totalement transparente pour le client.
  • Prise en charge native de la 2FA et du SSO (TOTP et OpenID Connect)
  • Protection intégrée contre la force brute avec blocage d'adresses IP et verrouillage d'utilisateurs
  • Binaire unique sans dépendances.
  • Écrit en Rust 100 % sûr.

Soutenu par :

Badge FLOSS/fund

Démarrage et téléchargements

Documentation

La documentation complète est disponible sur warpgate.null.page, notamment :

  • Protection de connexion - Configurer la protection contre la force brute
  • SSO - Authentification unique avec OpenID Connect
  • Tickets - Identifiants d'accès temporaires

En quoi Warpgate diffère-t-il d'un hôte de rebond / VPN / Teleport ?

WarpgateHôte de rebond SSHVPNTeleport
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éseauAssignation précise 1:1 entre utilisateurs et services
Aucun client personnalisé requisConfiguration de l'hôte de rebond requiseAucun client personnalisé requisClient personnalisé requis
2FA intégrée🟡 2FA possible avec des plugins PAM supplémentaires🟡 Dépend du fournisseur2FA intégrée
SSO intégré🟡 SSO possible avec des plugins PAM supplémentaires🟡 Dépend du fournisseurPayant
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 sessionsAucun 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 nativementConnexions non interactivesLes connexions non interactives nécessitent un wrapper client SSH ou l'exécution d'un tunnel
Auto-hébergé, vous possédez vos donnéesAuto-hébergé, vous possédez vos données🟡 Dépend du fournisseurSaaS
Protection intégrée contre la force brute🟡 Nécessite la configuration de fail2ban🟡 Dépend du fournisseurProtection intégrée contre la force brute
image

Signaler des problèmes de sécurité

Veuillez utiliser le système de signalement de vulnérabilités de GitHub.

État du projet

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.

Comment ça fonctionne

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.

Déclaration de transparence sur l'IA

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.

Contribuer / compiler à partir des sources

  • Vous aurez besoin de Rust, NodeJS et NPM
  • Clonez le dépôt
  • Just est utilisé pour exécuter les tâches — installez-le : cargo install just
  • Installez les dépendances de l'interface d'administration : just npm install
  • Compilez le frontend : just npm run build
  • Compilez Warpgate : cargo build (optionnellement --release)

Le binaire se trouve dans target/{debug|release}.

Pile technologique

  • Rust 🦀
    • HTTP : poem-web
    • Base de données : SQLite via sea-orm + sqlx
    • SSH : russh
  • Typescript
    • Svelte 5
    • Bootstrap

API backend

  • Les API orientées administration et utilisateur de Warpgate utilisent des schémas et SDK OpenAPI autogénérés. Pour mettre à jour les SDK après avoir modifié les structures de requête/réponse, exécutez just openapi-all.

Contributeurs ✨

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 !

Catégories