
warpgate v0.29.0-beta.1
Полностью прозрачный SSH, HTTPS, Kubernetes, базы данных и RDP/VNC bastion/PAM, не требующий дополнительного клиентского ПО
Warpgate — это умный и полностью прозрачный бастион-хост для SSH, HTTPS, Kubernetes, MySQL, PostgreSQL, RDP и VNC, который не требует клиентского приложения или SSH-обёртки.
- Разверните его в своей DMZ, добавьте учётные записи пользователей и легко назначайте их на конкретные хосты и URL-адреса внутри сети.
- Warpgate будет записывать каждую сессию, чтобы вы могли просматривать её (в реальном времени) и воспроизводить позже через встроенный веб-интерфейс администратора.
- Встроен доступ к SSH, RDP и VNC через браузер; нативные клиенты продолжают работать.
- Это не jump-хост — соединение пересылается напрямую к цели полностью прозрачно для клиента.
- Встроенная поддержка 2FA и SSO (TOTP и OpenID Connect)
- Встроенная защита от перебора паролей с блокировкой IP и блокировкой пользователя
- Один бинарный файл без зависимостей.
- Написан на 100% безопасном Rust.
При поддержке:
Начало работы и загрузка
- См. страницу документации Getting started (или Getting started on Docker).
- Release / beta binaries
- Nightly builds
Документация
Полная документация доступна на warpgate.null.page, включая:
- Login Protection — настройка защиты от перебора паролей
- SSO — единый вход (Single Sign-On) через OpenID Connect
- Tickets — временные учётные данные для доступа
Чем Warpgate отличается от jump-хоста / VPN / Teleport?
| Warpgate | SSH jump host | VPN | Teleport |
|---|---|---|---|
| ✅ Точное сопоставление 1:1 между пользователями и сервисами | (Обычно) полный доступ к сети за jump-хостом | (Обычно) полный доступ к сети | ✅ Точное сопоставление 1:1 между пользователями и сервисами |
| ✅ Не требуется специальный клиент | Требуется настройка jump-хоста | ✅ Не требуется специальный клиент | Требуется специальный клиент |
| ✅ 2FA из коробки | 🟡 2FA возможна с дополнительными PAM-плагинами | 🟡 Зависит от провайдера | ✅ 2FA из коробки |
| ✅ SSO из коробки | 🟡 SSO возможен с дополнительными PAM-плагинами | 🟡 Зависит от провайдера | Платно |
| ✅ Аудит на уровне команд | 🟡 Аудит на уровне соединений на jump-хосте, нет надёжного аудита на цели при предоставлении root-доступа | Нет надёжного аудита на цели при предоставлении root-доступа | ✅ Аудит на уровне команд |
| ✅ Полная запись сессий | Невозможна надёжная запись на цели при предоставлении root-доступа | Невозможна надёжная запись на цели при предоставлении root-доступа | ✅ Полная запись сессий |
| ✅ Неинтерактивные соединения | 🟡 Неинтерактивные соединения возможны, если клиенты поддерживают jump-хосты нативно | ✅ Неинтерактивные соединения | Неинтерактивные соединения требуют использования SSH-обёртки клиента или запуска туннеля |
| ✅ Self-hosted, данные принадлежат вам | ✅ Self-hosted, данные принадлежат вам | 🟡 Зависит от провайдера | SaaS |
| ✅ Встроенная защита от перебора паролей | 🟡 Требуется настройка fail2ban | 🟡 Зависит от провайдера | ✅ Встроенная защита от перебора паролей |
|
|
|
Сообщение о проблемах безопасности
Пожалуйста, используйте систему сообщений об уязвимостях GitHub.
Статус проекта
Warpgate активно используется в корпоративных средах.
Что запланировано и над чем ведётся работа дальше, отслеживается на публичной дорожной карте.
Как это работает
Warpgate — это сервис, который вы разворачиваете на бастион-хосте/DMZ-хосте. Он принимает SSH, HTTPS, Kubernetes, MySQL, PostgreSQL, RDP и VNC-соединения и предоставляет (опциональный) веб-интерфейс администратора.
Запустите warpgate setup, чтобы в интерактивном режиме сгенерировать файл конфигурации, включая привязки портов. Подробности см. в разделе Getting started.
Он принимает соединения со специально отформатированными учётными данными, аутентифицирует пользователя локально, сам подключается к цели, а затем соединяет обе стороны вместе, (опционально) записывая сессию.
При подключении через HTTPS Warpgate показывает выбор доступных целей, а затем проксирует весь трафик сессии к выбранной цели. Вы можете переключаться между целями в любой момент.
Вы управляете списками целей и пользователей и назначаете их друг другу через интерфейс администратора, а история сессий хранится в базе данных SQLite (по умолчанию: в /var/lib/warpgate).
Вы также можете использовать веб-интерфейс администратора для просмотра списка активных сессий, записей сессий, журналов и многого другого.
Раскрытие информации об использовании ИИ
В конце 2025 года проект начал принимать вклад с использованием ИИ. Участники обязаны раскрывать использование ИИ. Я считаю, что, применяя одинаково высокий стандарт качества ко всем PR, независимо от того, использовался ли ИИ, не нужно жертвовать качеством или безопасностью.
Поскольку ИИ — это спектр между бездумными энтузиастами и пользователями автодополнения, я считаю, что прозрачность в отношении его использования помогает установить и ограничить место ИИ в этом проекте.
Архитектурные решения и решения по безопасности в этом проекте на 100% принимаются людьми.
Участие в разработке / сборка из исходников
- Вам понадобятся Rust, NodeJS и NPM
- Клонируйте репозиторий
- Для запуска задач используется Just — установите его:
cargo install just - Установите зависимости интерфейса администратора:
just npm install - Соберите фронтенд:
just npm run build - Соберите Warpgate:
cargo build(опционально--release)
Бинарный файл находится в target/{debug|release}.
Технологический стек
- Rust 🦀
- HTTP:
poem-web - База данных: SQLite через
sea-orm+sqlx - SSH:
russh
- HTTP:
- Typescript
- Svelte 5
- Bootstrap
Backend API
- API Warpgate для администратора и пользователя используют автоматически сгенерированные схемы OpenAPI и SDK. Чтобы обновить SDK после изменения структур запросов/ответов, запустите
just openapi-all.
Участники ✨
Спасибо этим замечательным людям (ключ эмодзи):
Этот проект соответствует спецификации all-contributors. Приветствуются любые виды вклада!































