Home

Awesome

Devolutions Gateway

Build Status

A blazing fast relay server adaptable to different protocols and desired levels of traffic inspection.

Install

From our website (recommended)

You can download either the Devolutions Server Management Console or the offline Windows Installer from the official Devolutions website. Only releases that have successfully passed our quality assurance team's acceptance testing are accessible through this channel.

From GitHub

Signed binaries and installers for all versions can be conveniently obtained from the GitHub releases page. It's important to note that these are made available immediately, without going through the acceptance testing process of our quality assurance team.

From sources

Ensure that you have the Rust toolchain installed, then clone this repository and run:

cargo install --path ./devolutions-gateway

Configuration

Devolutions Gateway is configured using a JSON document. The recommended way to modify this document is to use the PowerShell module, but it is nonetheless possible to modify it manually or by any other means that are convenient for you.

The file containing this JSON document must be named gateway.json and exist under the following path, depending on your platform:

PlatformPath
Windows%ProgramData%\Devolutions\Gateway\
Linux/etc/devolutions-gateway/
macOS (Darwin)/Library/Application Support/devolutions-gateway/

This path may be overridden using the DGATEWAY_CONFIG_PATH environment variable.

A default template with minimal options is generated at this location on startup if the file doesn't exist yet.

Stable options are:

Troubleshooting

Connection from Microsoft Windows 7/8/8.1/Server 2008/Server 2012 clients

  1. For Window 7 and Windows Server 2008: Install latest updates. Make sure to install the update that adds support for TLS 1.1 and TLS 1.2. This is not required for newer Windows editions - they support TLS 1.1 and TLS 1.2 by default.

  2. Add following cipher suites to the SSL Cipher Suite order:

    • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256;
    • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384.

    To add cipher suites, use the group policy setting SSL Cipher Suite Order under Computer Configuration > Administrative Templates > Network > SSL Configuration Settings. TLS Cipher Suites in Windows 7.

Redirection to Microsoft Windows 7/8/8.1/Server 2008/Server 2012 server

Unfortunately, Microsoft Windows 7/8/8.1/Server 2008/Server 2012 machines cannot accept connections from rustls client. Support for required cipher suits was not implemented until Windows 10.

NoCipherSuitesInCommon error on Windows with a custom SChannel configuration

If you tried to to explicitly enable hashing algorithms like SHA256 in registry keys under HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes, it turns out that this will… disable them, even if you set Enabled to 1. For example, if the only hashing algorithm that is not explicitly set is SHA1, the SChannel client only advertises SHA1, which is not supported anymore by default.

See this page from Microsoft documentation to learn how to properly configure SChannel.

Knowledge base

Read more on our knowledge base.

Cookbook

See COOKBOOK.md.

Continuous Integration and Delivery

See the dedicated README.md file in the workflows directory.

<!-- links -->