Proxy Architecture Overview
Understand how the RDP Proxy sits between the end user and the target server, brokering credentials and enforcing policy without the user ever seeing the password.
Credential Injection
The proxy retrieves credentials from the Secret Server vault and injects them directly into the RDP handshake. The connecting user authenticates to the proxy โ never to the target. The actual password is never transmitted to the user's machine.
In-Line Session Recording
All RDP traffic flows through the proxy, enabling pixel-perfect screen capture of the entire session. Video recordings are stored server-side in the Secret Server database or on a configured UNC share, indexed by session metadata.
Policy Enforcement
Because the proxy terminates both sides of the RDP connection, it can enforce channel-level restrictions: clipboard redirect, drive mapping, printer redirect, and file transfer can be blocked regardless of the client's mstsc settings.
Network Port Reference
| Connection Leg | Protocol | Default Port | Notes |
|---|---|---|---|
| User โ SS Proxy | RDP over TLS | 3389 or 443 |
Configurable; use 443 to traverse restrictive firewalls |
| Proxy โ Target | RDP (NLA optional) | 3389 |
Internal leg; target must allow proxy server IP |
| SS Web Node โ Proxy | HTTPS/WCF | 443 |
Registration & session coordination |
| Proxy โ Vault API | HTTPS | 443 |
Credential retrieval at session initiation |
Installing & Configuring the RDP Proxy
Deploy and register the RDP Proxy component on a dedicated Windows Server, then configure the binding, ports, and Secret Server site assignment.
Navigate to Admin โ Distributed Engine โ Manage Sites. Click Download Distributed Engine Installer. Run the installer on the designated proxy host as a local administrator.
.\SecretServerDistributedEngineSetup.exe --mode proxy
# Accept license, select install path
# Service will be named: SS RDP Proxy Service
Go to Admin โ Proxies and click Add Proxy. Provide the hostname or IP of the proxy server. Secret Server will generate a registration token.
"SecretServerUrl": "https://ss.corp.example.com",
"RegistrationToken": "<paste-token-from-SS-UI>",
"SiteName": "Proxy-Site-01",
"ProxyPort": 3389,
"EnableSsl": true,
"CertificateThumbprint": "<your-cert-thumbprint>"
}
Bind a trusted TLS certificate to the proxy listener. This certificate is presented to the connecting user's RDP client.
$thumb = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {
$_.Subject -like "*rdp-proxy*"
}).Thumbprint
# Bind to port 3389 (or 443)
netsh http add sslcert ipport=0.0.0.0:3389 `
certhash=$thumb `
appid="{00000000-0000-0000-0000-000000000000}"
In the Secret Server UI go to Admin โ Sites. Select (or create) the site that covers your target RDP servers. Under RDP Proxy Settings, select your newly registered proxy from the dropdown. Set the proxy's public address โ this is what the user's launcher connects to.
| Field | Value / Guidance |
|---|---|
| Proxy Hostname / IP | Externally reachable FQDN, e.g. rdpproxy.corp.example.com |
| Proxy Port | 3389 (or 443 for firewall bypass scenarios) |
| Enable Proxy | Toggle ON โ makes all launchers on this site route through proxy |
| Restrict Launcher to Proxy | ON โ prevents direct RDP bypassing the proxy |
Navigate to Admin โ Proxies. The proxy row should display Online within 60 seconds. Check the Last Contact timestamp updates every heartbeat cycle (default: 30 s).
Configuring the RDP Launcher to Route via Proxy
Configure Secret Templates and Launcher settings so that every RDP session initiated from the vault is automatically routed through the proxy without user intervention.
Secret Template โ RDP Launcher Settings
Navigate to Admin โ Secret Templates โ [Your Windows Template] โ Launcher Tab
| Setting | Recommended Value | Impact |
|---|---|---|
| Launcher Type | Remote Desktop |
Enables RDP-specific proxy routing |
| Connect As | Credentials on Secret |
Vault creds injected by proxy โ not typed by user |
| Use Proxy | Enabled | Routes through registered proxy; hides target IP from user |
| Restrict User Input | Enabled | User cannot override launcher with custom .RDP files |
| Additional RDP Parameters | drivestoredirect:s: |
Blocks drive redirection at the token level |
Understanding the Generated .RDP Token
The launcher generates a temporary .RDP file. Notice that the full address points to the proxy, not the target. The gatewaycredentialssource is set so the user is not prompted for credentials.
full address:s:rdpproxy.corp.example.com:3389
session bpp:i:32
authentication level:i:2
enablecredsspsupport:i:1
# Token for session authorization โ no password here
loadbalanceinfo:s:SS_SESSION_TOKEN=eyJ0eXAiOi...
# Restrictions embedded
redirectclipboard:i:0
redirectdrives:i:0
redirectprinters:i:0
redirectcomports:i:0
# Password field is intentionally empty โ proxy injects
password 51:b:
Enforcing Session Recording
Configure mandatory session recording on all proxied RDP sessions, set the recording storage backend, and ensure users are notified of monitoring.
Navigate to Admin โ Secret Policies โ [Your Policy] โ Session Recording
| Policy Setting | Value | Enforce? |
|---|---|---|
| Enable Session Recording | Enabled | Enforced |
| Enable Recording via Proxy | Enabled | Enforced |
| Enable On-Screen Keyboard Logging | Enabled | Optional |
| Hide Secrets from Launcher | Enabled | Enforced |
Go to Admin โ Configuration โ Session Recording
| Option | Notes |
|---|---|
| Database (Default) | Recordings stored as BLOBs in SQL DB. Simplest setup, but SQL backup must cover it. Good for small volumes. |
| UNC Path / File Share | Recommended for scale. Format: \\fileserver\SSRecordings\. SS service account must have write. Backup independently. |
| AWS S3 / Azure Blob | Available with SS Cloud or on-prem with cloud storage add-on. Infinite retention without on-prem disk management. |
value="\\\\fileserver\\SSRecordings" />
<add key="SessionRecordingEnabled"
value="true" />
Go to Admin โ Configuration โ Session Recording โ Retention. Define how long recordings are kept before automatic deletion.
Navigate to Admin โ Configuration โ Login โ Login Banner. Set a message that appears before each session launch requiring user acknowledgment.
for security and compliance purposes. By proceeding,
you acknowledge and consent to this monitoring.
Unauthorized use of this system is prohibited and
subject to disciplinary and legal action.
๐ Recording File Format & Metadata
FORMAT
Secret Server stores recordings as proprietary .ssvid files (AES-256 encrypted). The audit viewer decrypts and streams on demand. Raw video export is available to administrators for external archiving.
INDEXED METADATA
Each recording is indexed with: Secret ID, username, start/end timestamps, target hostname/IP, session duration, and any keystroke log. Supports full-text search across keystroke logs.
Restricting Clipboard, Drive Redirect & Idle Timeouts
Prevent data exfiltration channels through the proxied session and enforce automatic termination of idle sessions.
RDP Channel Restriction Matrix
| RDP Channel | Exfil Risk | Proxy Enforcement | Policy Setting |
|---|---|---|---|
| Clipboard Redirect | HIGH | Blocked at proxy | redirectclipboard:i:0 |
| Drive Mapping | HIGH | Blocked at proxy | drivestoredirect:s: |
| Printer Redirect | MEDIUM | Blocked at proxy | redirectprinters:i:0 |
| COM Port Redirect | MEDIUM | Blocked at proxy | redirectcomports:i:0 |
| SmartCard Redirect | MEDIUM | Configurable | redirectsmartcards:i:0 |
| Audio Redirect | LOW | Configurable | audiomode:i:2 |
๐ Clipboard Restriction โ Why It Matters
โฑ๏ธ Idle Session Timeout Configuration
Configure automatic session termination for sessions that have been idle beyond a threshold. This is enforced at the proxy level, overriding any Windows Group Policy on the target.
Go to Admin โ Secret Policies โ [Policy] โ Remote Desktop
| Setting | Recommended | Notes |
|---|---|---|
| Enable Idle Timeout | ON | Activates proxy-side idle detection |
| Idle Timeout (minutes) | 15 | 15 min for PAM best practice; adjust per risk tier |
| Inactivity Notification | 2 min warning | Shows overlay warning before disconnect |
๐ก๏ธ Session Restriction Checklist
Reviewing Sessions in the Audit Viewer
Locate, playback, and export recorded RDP sessions for security investigations and compliance audits using the built-in Secret Server Audit Viewer.
Interactive: Session Audit Log (Simulation)
Session Event Log
Click any row to jump to that timestamp in playback. Events are extracted from the keystroke log and screen activity analyzer.
How to Access Recorded Sessions
Open the relevant Secret in Secret Server UI โ click the Audit tab. All sessions launched from this secret are listed in chronological order with user, date, and duration.
For cross-secret investigation go to Reports โ Session Monitoring. Filter by user, date range, target hostname, or duration. The keystroke log is full-text searchable โ useful for finding when a command was run across thousands of sessions.
Administrators with View Session Recording permission can export recordings. Choose Export as .mp4 for playback in external tools, or Export Raw (.ssvid) for archival. The export is watermarked with session metadata.
Required Permissions by Role
| Permission | Security Team | IT Admin | Auditor | End User |
|---|---|---|---|---|
| Launch RDP via Proxy | โ | โ | โ | Conditional |
| View Session Audit Log | โ | โ | โ | Own only |
| View Session Recording (video) | โ | โ | โ | โ |
| Export Recordings | โ | โ | โ | โ |
| Delete Recordings | Admin only | โ | โ | โ |
| Terminate Active Session | โ | โ | โ | โ |
Training Complete
You've completed the Secret Server RDP Proxy deployment training. You are now equipped to deploy, configure, and audit controlled RDP sessions with zero credential exposure.