Artica Wiki

Artica RDS Proxy Edition

Publish Windows remote desktops (RDP) and VNC consoles through a single, audited bastion.

← Back to the remote-control main section

The RDS Proxy (Remote Desktop Service proxy, also called RDP proxy or RDP bastion) is a gateway between your users and your Remote Desktop servers. 
The real server addresses and service accounts stay hidden, and every session can be logged, recorded and sent to a SIEM.

Users open their usual Remote Desktop client against the Artica appliance.
Artica checks who they are, which servers they may reach, from which networks and at what time, then opens the session to the real server on their behalf. 

The gateway engine is ReDemPtion (rdpproxy). 
Artica adds the policy engine (the RDP Proxy authenticator), the web console, the video conversion and the REST API.

The RDS Proxy status page

The RDS Proxy status page

Why use a bastion instead of port forwarding

Publishing Remote Desktop servers usually means forwarding TCP port 3389 to each server, or one public port per server (3390, 3391…). 
Users must remember which port leads where, every server is exposed to the Internet, and nobody keeps a record of who connected to what.

With the RDS Proxy, users only know the address of the gateway. 
The servers can have private addresses or names that do not resolve on the Internet: 
as long as Artica can reach them, the users can connect to them through the gateway.

Features

Install the RDS Proxy service

  1. On the left menu, choose Your system » Features.
  2. In the search box, type RDS.
  3. Click Install on the RDS Proxy row.

Install the RDS Proxy feature

After the installation, RDS Proxy appears in the left menu. Its status page shows two services, both of which must be running:

Keep the service up to date: see How to upgrade or downgrade the RDS Proxy service. 
Video recording requires an RDS Proxy package built with video support.

Quick start

  1. Choose the certificate presented to the users: Service settings » Transport Layer Security.
  2. Declare the servers users will reach: Targets.
  3. Create the gateway accounts, or authorize Active Directory groups: Members.
  4. Create a policy that links members, targets, networks and schedules: Policies. 
    A policy without a network refuses every connection.
  5. Connect with any Remote Desktop client to the appliance address (port 3389 by default) using a member account.

Administration pages

Page What it covers
Service settings Listening address, timeouts, TLS, cipher suites, session options, error messages, login page template
Policies Policies, networks, schedules, session rights and detection patterns
Members Gateway accounts and Active Directory groups
Targets Remote Desktop and VNC servers, NLA mode, connection test
SSH targets Concepts, architecture, benefits and requirements of SSH targets
SSH target and policy Create an SSH target, vault, bastion key, host key, session rights and command patterns
SSH client and file transfers Connect with the Remote Desktop client, paste files to the server, Ctrl+Alt+F file explorer
Web applications (WebView) Concepts, architecture, benefits, requirements and limits of web targets
Create a web target Application address, allowed sites, policy, what the user sees
Web copy and paste Copy and paste rights of the policy for web applications
Web automatic sign-in Sign in to a web application with an account of the vault
Web network and proxies Network namespace and upstream proxy per policy
Web PAC files Route each address of a web session through a declared proxy or directly, test a PAC file
Target name banner The band that names the target at the top of each web session
Web trusted certificates Self-signed and internal certificates of web applications
WebView tab Components, versions and browser parameters
Web events Events of web sessions and troubleshooting
Tunnel agents Principle, architecture, benefits, requirements and limits of tunnel agents
Install and enroll a tunnel agent MSI package, enrollment code, Windows service, Linux, options of the agent
Manage tunnel agents Agent states, new agent, revocation, receiver settings, downloads, attaching a target
Tunnel agent troubleshooting Agent offline, enrollment errors, MSI exit codes, Windows events, logs, SIEM events
Sessions Connected users and disconnection
Video recording Recording quality, storage, retention and downloads
Access events Refused connections and their reason, gateway logs
Kerberos NLA NLA listener for domain workstations, domain join, allowed sources, health checks
Decoy targets Fake targets, alert and 24-hour block of the source address, shared networks, lifting a block
Second factor TOTP enrollment, lockouts and exemptions
IT charter Charter text that users accept before the list of targets, proof of acceptance in the access events
Custom look Colors, logo, background color and welcome text of the login screen and the list of targets
SIEM Streaming the access events to an Artica SIEM
REST API Automating the RDS Proxy

Troubleshooting

FAQ

Are brute-force attempts blocked?

Every refused login is written to the access events with its reason, and can be sent to your SIEM. When a policy requires the second factor, five wrong codes in a row lock the account for 15 minutes. The RDS Proxy is not connected to Fail2ban: restrict the source networks of each policy and use the second factor for accounts reachable from the Internet.

Can I give someone temporary access?

Yes. Each member has an end-of-life date; after that date the account can no longer log in. The Members tab shows the accounts that expire within 15 days.

Can I filter remote addresses by country?

Not in the RDS Proxy itself. Restrict the source networks of each policy, or filter at the firewall in front of the appliance.

Can I manage the RDS Proxy with a REST API?

Yes: see REST API.