본문으로 건너뛰기
로그인 둘러보기
윈도우즈 유틸 · 인터넷·네트워크·원격

Devolutions Gateway

0

Devolutions Gateway는 캐나다의 Devolutions사가 개발한 오픈소스 원격 접속 게이트웨이 솔루션입니다.

VPN 없음보안 게이트웨이원격 관리원격 접속

소개

Devolutions Gateway는 캐나다의 Devolutions사가 개발한 오픈소스 원격 접속 게이트웨이 솔루션입니다. VPN을 사용하지 않고도 내부 네트워크의 RDP, SSH, Telnet, VNC, ARD 등 다양한 프로토콜 기반 서비스에 안전하게 접근할 수 있도록 경량 릴레이 서버 역할을 수행합니다. Rust로 작성되어 메모리 안전성을 기반으로 설계되었으며, 소규모 배포 환경에서 무료로 설치하여 상업적 및 개인적으로 사용할 수 있습니다.

상세정보

다중 프로토콜 지원

RDP, SSH, ARD, VNC, PowerShell, 사내 웹 사이트 등 여러 프로토콜을 하나의 게이트웨이를 통해 접속할 수 있어 네트워크 노출을 줄일 수 있습니다.

VPN 없이 안전한 접속

사설 네트워크 자원을 인터넷에서 VPN 없이 접속할 수 있도록 지원하며, RDP와 같은 이미 암호화된 프로토콜에는 사전 인증 및 권한 부여를, Telnet과 같은 비암호화 프로토콜에는 WebSocket 기반 암호화를 추가합니다.

파일 전송

SCP 또는 SFTP를 통해 원격으로 파일을 전송할 수 있습니다.

인터넷 연결 없이도 세션 실행

인터넷 연결이 없는 환경에서도 SSH 또는 RDP 세션을 시작할 수 있도록 설계되어 클라우드 서비스 의존성을 줄였습니다.

다중 요소 인증

Devolutions Gateway를 통해 이루어지는 모든 연결에 MFA 적용을 강제할 수 있습니다.

세션 로그 및 보고서

JIT(Just-in-Time) 연결에 대한 상세한 세션 추적 및 감사 로그를 제공하여 가시성을 높입니다.

레코딩 저장소 관리

RecordingPath로 지정한 폴더에 세션 기록이 저장되며, MinRecordingStorageFreeSpace 옵션으로 최소 여유 공간 임계값을 지정할 수 있습니다. 공간 부족 시 `/jet/jrec/push/{id}` 엔드포인트가 HTTP 507 응답으로 새 녹화 스트림을 거부합니다.

Winget을 통한 설치 (Windows)

Windows 환경에서는 winget 패키지 관리자를 통해 간편하게 설치할 수 있습니다. 명령 프롬프트 또는 PowerShell에서 다음 명령을 실행합니다.

  • winget install --id Devolutions.Gateway --exact

설치 시 인스톨러 형식은 wix 기반으로 동작합니다.

공식 웹사이트에서 다운로드

Devolutions 공식 웹사이트의 다운로드 센터에서는 Devolutions Server Management Console 또는 오프라인 Windows Installer를 내려받을 수 있습니다. 이 경로를 통해 배포되는 버전은 Devolutions 품질 보증팀의 합격 테스트를 거친 빌드입니다.

GitHub 릴리스에서 다운로드

GitHub 릴리스 페이지에서 모든 버전의 서명된 바이너리 및 인스톨러를 받을 수 있습니다. 이 경로로 배포되는 파일은 QA 합격 테스트 없이 바로 제공됩니다.

소스에서 설치

Rust 툴체인이 설치된 환경에서 저장소를 클론한 후 다음 명령으로 설치할 수 있습니다.

  • cargo install --path ./devolutions-gateway

구성 파일 위치

Devolutions Gateway는 JSON 문서로 구성되며, 파일 이름은 `gateway.json`입니다. 플랫폼별 기본 경로는 다음과 같습니다.

  • Windows: %ProgramData%DevolutionsGateway
  • Linux: /etc/devolutions-gateway/
  • macOS: /Library/Application Support/devolutions-gateway/

이 경로는 DGATEWAY_CONFIG_PATH 환경 변수로 재정의할 수 있습니다. 시작 시 해당 위치에 파일이 없으면 최소 옵션만 포함한 기본 템플릿이 생성됩니다.

PowerShell 모듈을 통한 구성

JSON 문서를 직접 수정할 수도 있지만, PowerShell Gallery의 DevolutionsGateway 모듈을 사용하는 것이 권장됩니다.

주요 구성 항목

  • Id (UUID): 게이트웨이 고유 식별자
  • Hostname (String): 외부 URL 추론에 사용되는 호스트 이름
  • ProvisionerPublicKeyFile / ProvisionerPrivateKeyFile: 토큰 검증 및 세션 토큰 생성에 사용되는 키 파일 경로
  • TlsCertificateSource: External(파일 시스템의 인증서 사용) 또는 System(시스템 인증서 저장소 사용) 선택
  • TlsVerifyStrict: 엄격한 TLS 인증서 검증 활성화 여부. 활성화 시 SAN 확장 및 EKU의 serverAuth 포함 여부를 확인합니다
  • Listeners: 내부 및 외부 URL 배열 형태의 리스너 설정
  • WebApp: 스탠드얼론 웹 애플리케이션 활성화 및 인증 설정. Custom(사용자명/비밀번호 필요) 또는 None 선택 가능
  • Proxy: HTTP/SOCKS 프록시 설정. Off, System, Manual 모드 지원
  • AgentTunnel: QUIC 기반 에이전트 터널 설정. 기본 포트는 4433

기본 사용 흐름

  1. winget 또는 공식 사이트에서 Devolutions Gateway를 설치합니다.
  2. 기본 경로에 생성된 `gateway.json`을 필요에 맞게 수정하거나 PowerShell 모듈로 구성합니다.
  3. TLS 인증서를 설정하고 외부 URL 리스너를 구성합니다.
  4. Devolutions Server 또는 Devolutions Cloud와 연동하여 원격 연결을 시작합니다.

Devolutions Gateway는 VPN인가요?

전통적인 VPN은 아니며, VPN의 대안으로 사용되는 경량 프로토콜 릴레이입니다. RDP, ARD 등 이미 암호화된 프로토콜에는 사전 인증과 권한 부여를 추가하고, Telnet 같은 비암호화 프로토콜에는 WebSocket 기반 암호화를 추가합니다.

라이선스 조건은 어떻게 되나요?

GitHub 저장소의 라이선스는 Apache-2.0이며, 소스 상세 정보에는 Apache-2.0 + MIT로 표기되어 있습니다. 스탠드얼론 버전은 소규모 배포 환경에서 상업적 및 개인적으로 무료 설치 및 사용할 수 있습니다.

Devolutions Server 또는 Devolutions Cloud가 필요한가요?

스탠드얼론 웹 애플리케이션만으로도 사용할 수 있으나, RBAC, 감사 로그, 통합 관리 등 고급 기능을 활용하려면 Devolutions Server 또는 Devolutions Cloud와의 연동이 필요합니다. 두 옵션 모두 Remote Desktop Manager Team Edition 구독이 필요합니다.

설치는 어떤 방법으로 하나요?

Windows에서는 `winget install –id Devolutions.Gateway –exact` 명령으로 설치하거나, 공식 다운로드 센터에서 오프라인 Windows Installer를 내려받을 수 있습니다. 소스에서 설치하려면 Rust 툴체인이 필요합니다.

화면으로 보는 주요 기능

로고 이미지

로고 이미지

흰색과 검은색으로 그려진 만화 캐릭터가 노트북을 들고 있는 모습을 보여줍니다. 노트북 화면에는 흰색 삼각형 아이콘이 있는 회색 재생 버튼이 있습니다.

시스템 요구사항

- 운영 체제: Windows (x64). Linux 및 macOS 구성 경로도 지원.
- 아키텍처: x64.
- 패키지 관리자: Windows에서 winget을 통한 설치 지원 (Devolutions.Gateway).
- 구성 도구: PowerShell 모듈(DevolutionsGateway) 또는 JSON 파일(`gateway.json`) 수동 편집.
- TLS 관련: 자체 TLS 인증서 또는 시스템 인증서 저장소 사용 가능. PFX/PKCS12 사용 시에는 비밀번호 필요. CredSspCredentialInjection 사용 시에는 CredSSP 인증서 및 개인 키 필요.
- 레코딩 저장 공간: 세션 기록을 저장할 경로(RecordingPath)와 최소 여유 공간(MinRecordingStorageFreeSpace) 설정 가능.
- 추가 런타임: 소스에서 설치 시 Rust 툴체인 필요.