You can use automatic RDP login on Windows, but the stored credentials are not trusted by default, and you have to enter the password for each connection. Create the following local policies on the client to allow delegating saved credentials:
-
Start the Group Policy Editor: run gpedit.msc.
-
Navigate to Local Computer Policy > Computer Configuration > Administrative Templates > System > Credentials Delegation.
-
Open the Allow Delegating Saved Credentials with NTLM-only Server Authentication policy.
-
Click Show and enter TERMSRV/*.
-
Click Apply.
-
Open the Allow Delegating Saved Credentials policy.
-
Click Show and enter TERMSRV/*.
-
Click Apply.
-
Open the Allow Delegating Default Credentials with NTLM-only Server Authentication policy.
-
Click Show and enter TERMSRV/*.
-
Click Apply.
-
Open the Allow Delegating Default Credentials policy.
-
Click Show and enter TERMSRV/*.
-
Click Apply.
-
Verify that the Deny Delegating Saved Credentials policy does not contain TERMSRV/* in the list.
-
Close the Group Policy Editor.
-
From the command line, issue the gpupdate /force command.
Overview
RemoteApps use RDP channels that are denied by default. When configuring RDP connections for RemoteApps on One Identity Safeguard for Privileged Sessions (SPS), create a custom channel policy which enables the following channels:
-
Drawing
-
rail
-
rail_ri
-
rail_wi
Figure 212: Traffic Controls > RDP > Channel Policies — Configuring the required channels for RemoteApps
Prerequisites
-
You must disable the Use advanced RemoteFX graphics for RemoteApp group policy on the RDP server.
The policy is available at Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment > Use advanced RemoteFX graphics for RemoteApp.
-
You must have the Remote Desktop (RD) Licensing role installed.
To configure RemoteApps
-
Navigate to Traffic Controls > RDP > Channel Policies.
-
Click to create a new channel policy.
-
Enter the name for the channel policy.
-
Choose Drawing as the channel type.
-
Click to add an additional channel type.
-
Choose Custom as the second channel type.
-
In Permitted channels, click to add the following channels:
(You have to click for each channel.)
-
Click Commit to save the channel policy.
-
You have created a channel policy for RemoteApps.
When you configure a connection that uses RemoteApps in Traffic Controls > RDP > Connections, select this channel policy as the Channel policy of the connection.
The RemoteApp Launcher enables users the access they need to an application without revealing credentials and passwords. By using the RemoteApp Launcher, you can protect shared credentials and limit an end user’s access to an allowed or required application.
Limitations
|
WARNING: Task managers and monitoring tools can expose the password as the part of a command line argument.
One Identity recommends hardening the remote host in use-cases when the remote app is not capable of using stdin. The remote app user should not be able to access task managers or monitoring tools. Alternatively, you can limit the access level of the monitoring agents. |
To configure RemoteApp Launcher-specific settings on the SPS side
-
In SPS, configure a credential store plugin with the get_remote_app_credentials method implemented. This is required for negotiating application credentials with SPS.
Ensure that you specify the asset parameter. If your SPS is linked to SPP, you must also specify the connection name parameter.
Example: do_get_remote_app_credentials configuration
def do_get_remote_app_credentials(self):
try:
credential = self._get_credential_for_asset("password", self.remote_app_asset, self.remote_app_account)
return {"passwords": [credential]}
except SafeguardException as exc:
self.logger.error("Error checking out %s for %s@%s: '%s'", "password", self.remote_app_account, self.remote_app_asset, exc)
return None
For more information on how to configure a custom credential store plugin, see Creating Custom Credential Store Plugins.
-
Optionally, to enable automatic password handling by the RemoteApp Launcher, configure a custom AA plugin.
By specifying the asset and account name parameters in an AA plugin, the RemoteApp Launcher will not prompt the user for these credentials and will start the configured application without the user having to know any credentials.
For more information on how to configure a custom AA plugin, see Creating Custom Authentication and Authorization Plugins.
-
Configure RemoteApps in SPS.
For more information, see Configuring RemoteApps.
-
Configure an RDP connection that uses RemoteApps in Traffic Controls > RDP > Connections and select the created RemoteApps channel policy as the Channel policy of the connection.
To configure RemoteApp Launcher-specific settings on the Windows side
-
Download the RemoteApp Launcher.
-
Install Remote Desktop Services (RDS).
-
Create a RemoteApp program and make the following settings:
-
For the RemoteApp program location, enter the path to your RemoteApp Launcher, for example, C:\Program Files\OneIdentity\RemoteApp Launcher\OI-SG-RemoteApp-Launcher.exe.
-
Specify to always use command-line parameters as shown in the example below:
"C:\Program Files\DBeaver\dbeaver.exe" --args "-con user={username}|password={password}|host=localhost|driver=PostgreSQL|database={asset}|name=work|connect=true" --enable-debug
Table 10: List of parameters
help |
No |
Create the help message. |
cmd |
Yes |
Specifies the application to launch. Either the path to an executable or command alias. |
args |
Yes |
Specifies the CLI args to pass to <cmd>. It must contain the {username}, {password} and {asset} template options, which will be expanded with the corresponding information. |
use-path |
No |
Specifies whether to look up the cmd argument in the $PATH variable. The default setting is false. When this flag is set to false, you need to specify the full path to the executable. |
use-stdin |
No, but highly recommended if the remote app can use it. |
Specifies the launcher to pass the password, username and asset by using StdIn. |
enable-debug |
No |
Specifies whether to write debug logs. The default setting is false.
The logs are available in the C:\Users\<username>\AppData\Roaming\OneIdentity\OI-SG-RemoteApp-Launcher folder.
The logs are rotated daily and the file name format is oi_sg_rci_<yyyymmdd>. |
The process and the arguments template is defined by the --cmd and --args command line arguments. In the arguments template, the RemoteApp Launcher replaces the {username} {password} and {asset} with data read from the dynamic virtual channel.
Example: RemoteApp Launcher configuration to start the DBeaver application
C:> C:\Program Files\OneIdentity\RemoteApp Launcher\OI-SG-RemoteApp-Launcher.exe --cmd "C:\Program Files\DBeaver\dbeaver.exe" --args "-con user={username}|password={password}|host=localhost|driver=PostgreSQL|database={asset}|name=work|connect=true" --enable-debug
-
Disable the Use advanced RemoteFX graphics for RemoteApp group policy on the RDP server.
The policy is available at Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment > Use advanced RemoteFX graphics for RemoteApp.
You must have the Remote Desktop (RD) Licensing role installed.
Expected result
An end user can open a required application without any credentials by simply starting the RemoteApp Launcher.
In SPS versions 6.2 and later, you can export files from audit trails after RDP file transfer through clipboard.
In SPS versions 6.5 and later, you can export files from audit trails after RDP file transfer through disk redirection too.
NOTE: You can export files from audit trails that were recorded before the SPS versions described above, if the Clipboard or Disk redirect channel was recorded.
To export files from these audit trails, make sure that you have the appropriate version of the Safeguard Desktop Player installed.
For more information on the process in the Safeguard Desktop Player application, see Exporting files from an audit trail after RDP file transfer through clipboard or disk redirection in the Safeguard Desktop Player User Guide.
To configure SPS to enable extracting files from audit trails after RDP file transfer through clipboard or disk redirection
- Navigate to Traffic Controls > RDP > Connections and open an existing connection (or create and configure a new connection).
- Expand the connection tab, scroll down to the Channel policy drop-down list, and select a channel policy of your choice from the drop-down list options.
- Navigate to Traffic Controls > RDP > Channel Policies and open the channel policy that you selected from the Channel policy drop-down list under Traffic Controls > RDP > Connections.
- Ensure that the Clipboard or Redirect drop-down list option under Type and the Record audit trail checkbox are both selected.
- (Optional) Click Commit to save your configuration.