
warpgate v0.29.0-beta.1
完全透過型のSSH、HTTPS、Kubernetes、データベース、RDP/VNC用バスション/PAMで、クライアント側の追加ソフトウェアを必要としません
Warpgate は、クライアントアプリや SSH ラッパーを必要としない、スマートで完全に透過的な SSH、HTTPS、Kubernetes、MySQL、PostgreSQL、RDP、VNC バスチョンホストです。
- DMZ にセットアップし、ユーザーアカウントを追加して、ネットワーク内の特定のホストや URL に簡単に割り当てることができます。
- Warpgate はすべてのセッションを記録し、内蔵の管理用 Web UI を通じて (ライブで) 表示したり、後で再生したりできます。
- ブラウザベースの SSH、RDP、VNC アクセスが組み込まれており、ネイティブクライアントも引き続き動作します。
- ジャンプホストではありません。クライアントに対して完全に透過的な方法で、接続をターゲットに直接転送します。
- ネイティブの 2FA および SSO サポート (TOTP & OpenID Connect)
- IP ブロックとユーザーロックアウトによる内蔵のブルートフォース保護
- 依存関係のない単一バイナリ。
- 100% 安全な Rust で記述されています。
Supported by:
はじめにとダウンロード
- はじめに のドキュメントページを参照してください (または Docker でのはじめに)。
- リリース / ベータ版バイナリ
- ナイトリービルド
ドキュメント
完全なドキュメントは warpgate.null.page で入手できます。以下を含みます:
Warpgate はジャンプホスト / VPN / Teleport とどう違うのか?
| Warpgate | SSH ジャンプホスト | VPN | Teleport |
|---|---|---|---|
| ✅ ユーザーとサービス間の正確な 1:1 割り当て | (通常) ジャンプホストの背後にあるネットワークへのフルアクセス | (通常) ネットワークへのフルアクセス | ✅ ユーザーとサービス間の正確な 1:1 割り当て |
| ✅ カスタムクライアント不要 | ジャンプホストの設定が必要 | ✅ カスタムクライアント不要 | カスタムクライアントが必要 |
| ✅ 2FA が標準装備 | 🟡 追加の PAM プラグインで 2FA が可能 | 🟡 プロバイダーによる | ✅ 2FA が標準装備 |
| ✅ SSO が標準装備 | 🟡 追加の PAM プラグインで SSO が可能 | 🟡 プロバイダーによる | 有料 |
| ✅ コマンドレベルの監査 | 🟡 ジャンプホスト上での接続レベルの監査。ルートアクセスが付与されている場合、ターゲット上での安全な監査は不可 | ルートアクセスが付与されている場合、ターゲット上での安全な監査は不可 | ✅ コマンドレベルの監査 |
| ✅ 完全なセッション記録 | ルートアクセスが付与されている場合、ターゲット上での安全な記録は不可 | ルートアクセスが付与されている場合、ターゲット上での安全な記録は不可 | ✅ 完全なセッション記録 |
| ✅ 非対話型接続 | 🟡 クライアントがジャンプホストをネイティブにサポートしている場合、非対話型接続が可能 | ✅ 非対話型接続 | 非対話型接続には SSH クライアントラッパーの使用またはトンネルの実行が必要 |
| ✅ セルフホスト、データを所有 | ✅ セルフホスト、データを所有 | 🟡 プロバイダーによる | SaaS |
| ✅ 内蔵のブルートフォース保護 | 🟡 fail2ban のセットアップが必要 | 🟡 プロバイダーによる | ✅ 内蔵のブルートフォース保護 |
|
|
|
セキュリティ問題の報告
GitHub の 脆弱性報告システム を使用してください。
プロジェクトの状態
Warpgate はエンタープライズ環境で積極的に使用されています。
次に計画され、取り組まれている内容は、公開 ロードマップ で追跡されています。
仕組み
Warpgate は、バスチョン/DMZ ホストにデプロイするサービスで、SSH、HTTPS、Kubernetes、MySQL、PostgreSQL、RDP、VNC 接続を受け入れ、(オプションの) Web 管理 UI を提供します。
warpgate setup を実行して、ポートバインディングを含む設定ファイルを対話的に生成します。詳細は はじめに を参照してください。
特定の形式の認証情報を持つ接続を受け取り、ユーザーをローカルで認証し、ターゲットに自身で接続してから、(オプションで) セッションを記録しながら両者を接続します。
HTTPS 経由で接続する場合、Warpgate は利用可能なターゲットの選択肢を提示し、選択したターゲットへのセッション内のすべてのトラフィックをプロキシします。ターゲットはいつでも切り替えることができます。
管理 UI を通じてターゲットとユーザーのリストを管理し、相互に割り当てます。セッション履歴は SQLite データベース (デフォルト: /var/lib/warpgate) に保存されます。
管理 Web インターフェースを使用して、ライブセッションリストの表示、セッション録画の確認、ログの表示なども行えます。
AI 透明性の開示
2025 年後半、このプロジェクトは AI 支援による貢献の受け入れを開始しました。貢献者は AI の使用を開示することが求められます。AI 支援の有無にかかわらず、すべての PR に同じ高品質基準を適用することで、品質やセキュリティを犠牲にする必要はないと私は考えています。
AI は、思考停止の「バイブブロ」からオートコンプリートユーザーまで幅広いスペクトラムであるため、その使用について透明性を保つことが、このプロジェクトにおける AI の位置づけを確立し、制限するのに役立つと信じています。
このプロジェクトにおけるアーキテクチャおよびセキュリティ上の決定は 100% 人間によるものです。
貢献 / ソースからのビルド
- Rust、NodeJS、NPM が必要です
- リポジトリをクローンします
- タスクの実行には Just が使用されます - インストール:
cargo install just - 管理 UI の依存関係をインストール:
just npm install - フロントエンドをビルド:
just npm run build - Warpgate をビルド:
cargo build(オプションで--release)
バイナリは target/{debug|release} にあります。
技術スタック
- Rust 🦀
- HTTP:
poem-web - データベース:
sea-orm+sqlxによる SQLite - SSH:
russh
- HTTP:
- Typescript
- Svelte 5
- Bootstrap
バックエンド API
- Warpgate の管理およびユーザー向け API は、自動生成された OpenAPI スキーマと SDK を使用します。クエリ/レスポンス構造を変更した後に SDK を更新するには、
just openapi-allを実行します。
コントリビューター ✨
これらの素晴らしい人々に感謝します (絵文字キー):
このプロジェクトは all-contributors 仕様に従っています。あらゆる種類の貢献を歓迎します!































