
warpgate v0.29.0-beta.1
완전히 투명한 SSH, HTTPS, Kubernetes, 데이터베이스 및 RDP/VNC 배스천/PAM으로, 추가 클라이언트 측 소프트웨어가 필요하지 않습니다.
Warpgate는 클라이언트 앱이나 SSH 래퍼가 필요 없는 스마트하고 완전히 투명한 SSH, HTTPS, Kubernetes, MySQL, PostgreSQL, RDP 및 VNC 배스천 호스트입니다.
- DMZ에 설치하고, 사용자 계정을 추가한 후 네트워크 내 특정 호스트와 URL에 쉽게 할당할 수 있습니다.
- Warpgate는 모든 세션을 기록하여 내장된 관리자 웹 UI를 통해 (실시간으로) 확인하고 나중에 재생할 수 있습니다.
- 브라우저 기반 SSH, RDP 및 VNC 접근이 내장되어 있으며, 네이티브 클라이언트도 계속 작동합니다.
- 점프 호스트가 아닙니다. 클라이언트에게 완전히 투명한 방식으로 연결을 대상으로 직접 전달합니다.
- 네이티브 2FA 및 SSO 지원 (TOTP 및 OpenID Connect)
- IP 차단 및 사용자 잠금 기능이 있는 내장 무차별 대입 공격 방어
- 의존성이 없는 단일 바이너리.
- 100% 안전한 Rust로 작성되었습니다.
지원:
시작하기 및 다운로드
- 시작하기 문서 페이지를 참조하세요 (또는 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 연결을 수락하고 (선택 사항) 웹 관리자 UI를 제공합니다.
warpgate setup을 실행하여 포트 바인딩을 포함한 구성 파일을 대화형으로 생성하세요. 자세한 내용은 시작하기를 참조하세요.
특정 형식의 자격 증명으로 연결을 수신하고, 사용자를 로컬에서 인증한 후, 대상에 직접 연결하여 (선택적으로) 세션을 기록하면서 양쪽을 연결합니다.
HTTPS를 통해 연결할 때 Warpgate는 사용 가능한 대상 목록을 표시하고, 세션의 모든 트래픽을 선택한 대상으로 프록시합니다. 언제든지 대상을 전환할 수 있습니다.
관리자 UI를 통해 대상 및 사용자 목록을 관리하고 서로 할당할 수 있으며, 세션 기록은 SQLite 데이터베이스(기본값: /var/lib/warpgate)에 저장됩니다.
관리자 웹 인터페이스를 사용하여 실시간 세션 목록을 확인하고, 세션 녹화, 로그 등을 검토할 수도 있습니다.
AI 투명성 공개
2025년 후반부터 이 프로젝트는 AI 지원 기여를 받기 시작했습니다. 기여자는 AI 사용을 공개해야 합니다. AI 지원 여부와 관계없이 모든 PR에 동일한 높은 품질 기준을 적용함으로써 품질이나 보안에 손실이 없을 것이라고 믿습니다.
AI는 무지한 유행 추종자부터 자동 완성 사용자까지 다양한 스펙트럼이므로, 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 사양을 따릅니다. 모든 종류의 기여를 환영합니다!































