Secure communications

You can integrate your Citrix Workspace app connections using the following technologies to secure the communications:

  • Citrix Gateway.
  • A firewall: Network firewalls can allow or block packets based on the destination address and port.
  • Trusted server.
  • For Citrix Virtual Apps deployments only (not applicable to XenDesktop 7): A SOCKS proxy server or secure proxy server. You can use proxy servers to limit access to and from your network and to handle connections between Workspace app and server. Citrix Workspace app supports SOCKS and secure proxy protocols.
  • For Citrix Virtual Apps deployments only: SSL Relay solutions with Transport Layer Security (TLS) protocols.
  • For Citrix Virtual Apps and Desktops 7.6, you can enable an SSL connection directly between users and VDAs.

Outbound proxy support

SmartControl allows administrators to configure and enforce policies that affect user environment. For instance, you might want to prohibit users from mapping drives to their remote desktops. You can achieve the granularity using the SmartControl feature on the Citrix Gateway.

The scenario changes when the Citrix Workspace app and the Citrix Gateway belong to separate enterprise accounts. In such cases, the client domain cannot apply the SmartControl feature because the gateway does not exist on the domain. You can then use the Outbound ICA Proxy. The Outbound ICA Proxy feature lets you use the SmartControl feature even when Citrix Workspace app and Citrix Gateway are deployed in different organizations.

Citrix Workspace app supports session launches using the NetScaler LAN proxy. Use the outbound proxy plug-in to configure a single static proxy or select a proxy server at runtime.

You can configure outbound proxies using the following methods:

  • Static proxy: Proxy server is configured by giving a proxy host name and port number.
  • Dynamic proxy: A single proxy server can be selected among one or more proxy servers using the proxy plug-in DLL.

You can configure the outbound proxy using the Group Policy Object administrative template or the Registry editor.

For more information about outbound proxy, see Outbound ICA Proxy support in the Citrix Gateway documentation.

Outbound proxy support - Configuration

Note:

If both static proxy and dynamic proxies are configured, the dynamic proxy configuration takes precedence.

Configuring the outbound proxy using the GPO administrative template:

  1. Open the Citrix Workspace app Group Policy Object administrative template by running gpedit.msc.
  2. Under the Computer Configuration node, go to Administrative Templates > Citrix Workspace > Network routing.
  3. Select one of the following options:
    • For static proxy: Select the Configure NetScaler LAN proxy manually policy. Select Enabled and then provide the host name and port number.
    • For dynamic proxy: Select the Configure NetScaler LAN proxy using DLL policy. Select Enabled and then provide the full path to the DLL file. For example, C:\Workspace\Proxy\ProxyChooser.dll.
  4. Click Apply and OK.

Configuring the outbound proxy using the Registry editor:

  • For static proxy:
    • Launch the Registry editor and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Citrix\ICA Client\Engine\Network Routing\Proxy\NetScaler.
    • Create DWORD value keys as follows:

      "StaticProxyEnabled"=dword:00000001 "ProxyHost"="testproxy1.testdomain.com "ProxyPort"=dword:000001bb

  • For dynamic proxy:

    • Launch the Registry editor and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Citrix\ICA Client\Engine\Network Routing\Proxy\NetScaler LAN Proxy.
    • Create DWORD value keys as follows: "DynamicProxyEnabled"=dword:00000001 "ProxyChooserDLL"="c:\\Workspace\\Proxy\\ProxyChooser.dll"

TLS

This topic applies to Citrix Virtual Apps and Desktops Version 7.6 and later.

To use TLS encryption for Citrix Workspace app communication with the server, configure the user device and the Citrix Workspace app. For information about securing StoreFront communications, see the Secure section in the StoreFront documentation.

Pre-requisites:

See the System requirements section.

You can use the options below to:

  • Enforce use of TLS: We recommend that you use TLS for connections using untrusted networks, including the Internet.
  • Enforce use of FIPS (Federal Information Processing Standards): Approved cryptography and comply with the recommendations in NIST SP 800-52. These options are disabled by default.
  • Enforce use of a specific version of TLS, and specific TLS cipher suites: Citrix supports TLS 1.0, TLS 1.1 and TLS 1.2 protocols.
  • Connect only to specific servers.
  • Check for revocation of the server certificate.
  • Check for a specific server-certificate issuance policy.
  • Select a particular client certificate, if the server is configured to request one.

TLS support

  1. Open the Citrix Workspace app GPO administrative template by running gpedit.msc.
  2. Under the Computer Configuration node, go to Administrative Templates > Citrix Workspace > Network routing, and select the TLS and Compliance Mode Configuration policy.

    TLS and Compliance Mode policy

  3. Select Enabled to enable secure connections and to encrypt communication on the server. Set the following options:

    Note:

    Citrix recommends TLS for secure connections.

    1. Select Require TLS for all connections to force Citrix Workspace app to use TLS for connections to published applications and desktops.

    2. From the Security Compliance Mode menu, select the appropriate option:

      1. None - No compliance mode is enforced.
      2. SP800-52 – Select SP800-52 for compliance with NIST SP 800-52. Select this option only if the servers or gateway complies with NIST SP 800-52 recommendations.

      Note:

      If you select SP800-52, FIPS Approved cryptography is automatically used, even if Enable FIPS is not selected. You must also enable the Windows security option, System Cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing. Otherwise, Citrix Workspace app might fail to connect to the published applications and desktops.

      If you select SP800-52, you must select either the Certificate Revocation Check Policy setting with Full Access Check, or Full access check and CRL required.

      When you select SP800-52, Citrix Workspace app verifies that the server certificate complies with the recommendations in NIST SP 800-52. If the server certificate does not comply, Citrix Workspace app might fail to connect.

      1. Enable FIPS – Select this option to enforce the use of FIPS approved cryptography. You must also enable the Windows security option from the operating system group policy, System Cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing. Otherwise, Citrix Workspace app might fail to connect to published applications and desktops.
    3. From the Allowed TLS servers drop-down menu, select the port number. Use a comma-separated list to ensure that Workspace app connects only to a specified server. You can specify wildcards and port numbers. For example, *.citrix.com: 4433 allows connections to any server whose common name ends with .citrix.com on port 4433. The issuer of the certificate asserts the accuracy of the information in a security certificate. If Citrix Workspace does not recognize or trust the issuer, the connection is rejected.

    4. From the TLS version menu, select one of the following options:

    • TLS 1.0, TLS 1.1, or TLS 1.2 - This is the default setting. This option is recommended only if there is a business requirement for TLS 1.0 for compatibility.

    • TLS 1.1 or TLS 1.2 – Use this option to ensure that the connections use either TLS 1.1 or TLS 1.2.

    • TLS 1.2 - This option is recommended if TLS 1.2 is a business requirement.

    1. TLS cipher set - To enforce use of a specific TLS cipher set, select either Government (GOV), Commercial (COM), or All (ALL). In certain cases of Citrix Gateway configurations, you might need to select COM. Citrix Workspace app supports RSA keys of 1024, 2048, and 3072-bit lengths. Root certificates with RSA keys of 4096-bit length are also supported.

    Note:

    Citrix does’nt recommend using RSA keys of 1024-bit length.

    • Any: When “Any” is set, the policy is not configured and any of the following cipher suites are allowed:

      1. TLS_RSA_WITH_RC4_128_MD5
      2. TLS_RSA_WITH_RC4_128_SHA
      3. TLS_RSA_WITH_3DES_EDE_CBC_SHA
      4. TLS_RSA_WITH_AES_128_CBC_SHA
      5. TLS_RSA_WITH_AES_256_CBC_SHA
      6. TLS_RSA_WITH_AES_128_GCM_SHA256
      7. TLS_RSA_WITH_AES_256_GCM_SHA384
    • Commercial: When “Commercial” is set, only the following cipher suites are allowed:

      1. TLS_RSA_WITH_RC4_128_MD5
      2. TLS_RSA_WITH_RC4_128_SHA
      3. TLS_RSA_WITH_AES_128_CBC_SHA
      4. TLS_RSA_WITH_AES_128_GCM_SHA256
    • Government: When “Government” is set, only the following cipher suites are allowed:

      1. TLS_RSA_WITH_AES_256_CBC_SHA
      2. TLS_RSA_WITH_3DES_EDE_CBC_SHA
      3. TLS_RSA_WITH_AES_128_GCM_SHA256
      4. TLS_RSA_WITH_AES_256_GCM_SHA384
    1. From the Certificate Revocation Check Policy menu, select any of the following:
    • Check with No Network Access - Certificate Revocation list check is performed. Only local certificate revocation list stores are used. All distribution points are ignored. Finding the Certificate Revocation List is not mandatory to verify the server certificate that is presented by the target SSL Relay/Citrix Secure Web Gateway server.

    • Full Access Check - Certificate Revocation List check is performed. Local Certificate Revocation List stores and all distribution points are used. If revocation information for a certificate is found, the connection is rejected. Finding a Certificate Revocation List is not critical for verification of the server certificate presented by the target server.

    • Full Access Check and CRL Required - Certificate Revocation List check is performed, excluding the root Certificate Authority. Local Certificate Revocation List stores and all distribution points are used. If revocation information for a certificate is found, the connection is rejected. Finding all required Certificate Revocation Lists is critical for verification.

    • Full Access Check and CRL Required All - Certificate Revocation List check is performed, including the root CA. Local Certificate Revocation List stores and all distribution points are used. If revocation information for a certificate is found, the connection is rejected. Finding all required Certificate Revocation Lists is critical for verification.

    • No Check - No Certificate Revocation List check is performed.

    1. Using the Policy Extension OID, you can limit Citrix Workspace app to connect only to servers with a specific certificate issuance policy. When you select Policy Extension OID, Citrix Workspace app accepts only server certificates containing that Policy Extension OID.

    2. From the Client Authentication menu, select any of the following:

    • Disabled - Client Authentication is disabled.

    • Display certificate selector - Always prompt the user to select a certificate.

    • Select automatically if possible - Prompt the user only if there a choice of the certificate to identify.

    • Not configured – Indicates that client authentication is not configured.

    • Use specified certificate - Use the client certificate as set in the Client Certificate option.

    1. Use the Client Certificate setting to specify the identifying certificate’s thumbprint to avoid prompting the user unnecessarily.

    2. Click Apply and OK to save the policy.

The following table lists the cipher suites in each set:

localized image

Firewall

Network firewalls can allow or block packets based on the destination address and port. If you are using a firewall, Citrix Workspace app for Windows must be able to communicate through the firewall with both the Web server and Citrix server.

Common Citrix Communication Ports

Source Type Port Details
Citrix Workspace app TCP 80/443 Communication with StoreFront
ICA or HDX TCP 1494 Access to applications and virtual desktops
ICA or HDX with Session Reliability TCP 2598 Access to applications and virtual desktops
ICA or HDX over SSL TCP 443 Access to applications and virtual desktops

For more information on ports, see the Knowledge Center article CTX101810.

Proxy server

Proxy servers are used to limit access to and from your network, and to handle connections between Citrix Workspace app for Windows and servers. Citrix Workspace app supports SOCKS and secure proxy protocols.

When communicating with the server, Citrix Workspace app uses proxy server settings that are configured remotely on the server running workspace for web.

In communicating with the web server, Citrix Workspace app uses the proxy server settings configured through the Internet settings of the default Web browser on the user device. You must configure the Internet settings of the default Web browser on the user device accordingly.

Configure the proxy settings using the Registry Editor to enforce Citrix Workspace app to honor or discard the proxy server during connections.

Warning

Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved.

  1. Navigate to \HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\AuthManager
  2. Set the ProxyEnabled(REG_SZ) .
    • True – indicates that Citrix Workspace app honors the proxy server during connections.
    • False - indicates that Citrix Workspace app discards the proxy server during connections.
  3. Restart the Citrix Workspace app for the changes to take effect.

Trusted server

Trusted server configuration identifies and enforces trust relations in Citrix Workspace app connections.

When you enable Trusted server, Citrix Workspace app specifies the requirements and decides if the connection to the server can be trusted or not. For example, a Citrix Workspace app connecting to a certain address (such as https://\*.citrix.com with a specific connection type (such as TLS) is directed to a trusted zone on the server

When you enable this feature, connected server resides in the Windows Trusted Sites zone. For instructions about adding servers to the Windows Trusted Sites zone, see the Internet Explorer online help.

To enable trusted server configuration using Group Policy Object administrative template

Pre-requisite:

Exit from the Citrix Workspace app components including the Connection Center.

  1. Open the Citrix Workspace app GPO administrative template by running gpedit.msc.
  2. Under the Computer Configuration node, go to Administrative Templates > Classic Administrative Templates(ADM) > Citrix Components > Citrix Workspace > Network Routing > Configure trusted server configuration.
  3. Select Enabled to force Citrix Workspace app to perform region identification.
  4. Select Enforce trusted server configuration. This forces the client to perform the identification using a trusted server.
  5. From the Windows internet zone drop-down menu, select the client-server address. This setting is applicable only to Windows Trusted Site zone.
  6. In the Address field, set the client-server address for trusted site zone other than Windows. You can use a comma-separated list.
  7. Click OK and Apply.

ICA file signing

The ICA file signing helps protect you from an unauthorized application or desktop launch. Citrix Workspace app verifies that a trusted source generated the application or desktop launch based on an administrative policy and protects against the launch from untrusted servers. You can configure ICA file signing using the Group policy objects administrative template or StoreFront. ICA file signing is not enabled by default.

For information about enabling ICA file signing for StoreFront, see Enable ICA file signing in StoreFront documentation.

Configure ICA file signature

Note:

If the CitrixBase.admx\adml is not added to the local GPO, the Enable ICA File Signing policy might not be present.

  1. Open the Citrix Workspace app Group Policy Object administrative template by running gpedit.msc
  2. Under the Computer Configuration node, go to Administrative Templates > Citrix Components.
  3. Select Enable ICA File Signing policy and select one of the options as required:
    1. Enabled - Indicates that you can add the signing certificate thumbprint to the whitelist of trusted certificate thumbprints.
    2. Trust Certificates - Click Show to remove the existing signing certificate thumbprint from the whitelist. You can copy and paste the signing certificate thumbprints from the signing certificate properties.
    3. Security policy - Select one of the following options from the menu.
      1. Only allow signed launches (more secure): Allows only signed-application or desktop launch from a trusted server. A security warning appears when there is an invalid signature. The session launch fails due to non-authorization.
      2. Prompt user on unsigned launches (less secure) - A message prompt appears when an unsigned or invalidly signed session is launched. You can choose to either continue the launch or cancel the launch (default).
  4. Click Apply and OK to save the policy.
  5. Restart the Citrix Workspace app session for the changes to take effect.

To select and distribute a digital signature certificate:

When selecting a digital signature certificate, we recommend you choose from the following prioritized list:

  1. Buy a code-signing certificate or SSL signing certificate from a public Certificate Authority (CA).
  2. If your enterprise has a private CA, create a code-signing certificate or SSL signing certificate using the private CA.
  3. Use an existing SSL certificate.
  4. Create a root CA certificate and distribute it to user devices using GPO or manual installation.