Advanced Clientless VPN access with Citrix Gateway

Clientless VPN sees a way of providing remote access to the corporate’s intranet resources through Citrix Gateway without a VPN client application at the client machine. Clientless VPN provides remote access to enterprise web-applications, portals, and other resources using a web browser at the client’s end. Advanced clientless VPN solution eliminates the following limitations pertaining to the clientless VPN:

  • Relative URLs cannot be identified at times.

  • Relative URLs generated dynamically cannot be identified.

Advanced Clientless VPN identifies the absolute URL and host names and rewrites them in a new and unique manner instead of trying to rewrite relative URLs present in the HTTP-responses/Web-Pages. SharePoint no longer needs to use the default folder for rewriting URLs and a custom SharePoint access is supported.

Prerequisites

The following are the prerequisites to configure the advanced clientless VPN.

  • Wildcard server certificate - The advanced clientless VPN rewrites URLs in a unique manner. This uniqueness is maintained for every URL per user. For example, if the web-application is hosted on https://webapp.customer.com, and the VPN virtual server is hosted on https://vpn.customer.com, then the advanced clientless VPN rewrites it as https://cvpneqwerty.vpn.customer.com. This means, every URL is rewritten as a subdomain of the VPN virtual server. In this new URL, cvpneqwerty can be decrypted back to https://webapp.customer.com. The string cvpneqwerty is dynamic and therefore for SSL, you must bind the VPN virtual server with a wildcard certificate.

    If the server is hosted with https://vpn.customer.com, then the server certificate must now have entries for (vpn.customer.com and .vpn.customer.com) as part of certificates CN or SAN (where CN=common name, SAN= Subject Alternative Name). The process of binding this certificate remains the same on Citrix Gateway. Note: Wildcard certificates only support one-level (that is ..customer.com is not allowed). If you are already using a Wildcard certificate (for *.customer.com) and hosting https://vpn.customer.com, this does not work for the advanced clientless VPN. You must get a new certificate with *.vpn.customer.com.

  • WildCard DNS entry - The clients (web browsers) must resolve the advanced clientless VPN app’s FQDN. While setting up the Citrix Gateway server, you must have configured a DNS entry to resolve vpn.customer.com. This allows the browser to resolve vpn.customer.com to your VPN virtual server’s IP address. To resolve URLs like https://cvpnqwerty.vpn.customer.com to the same IP (VPN virtual server’s IP address, you must add a new record for the domain of vpn.customer.com. Find the domain setting in your DNS server, and add a host record for “*” with the same IP address as before. After adding the host record, you must see successful ping responses for https://cpvnanything.vpn.customer.com.

Configure Advanced Clientless VPN access

To configure advanced clientless VPN access using the command line interface, at the command prompt, type:

set vpn parameter -clientlessVpnMode ON
set vpn parameter -advancedClientlessVpnMode ENABLED

If a session action is bound to the virtual server, you must enable the advanced clientless VPN Mode option for that session action as well.

Example:

set vpn sessionaction SessionActionName -advancedclientlessvpn ENABLED

To configure Advanced Clientless VPN access using the Citrix ADC GUI:

  1. In the NetScaler GUI, navigate to Configuration> Citrix NetScaler> Global Settings.

  2. On the Global Settings page, click Change Global Settings, and then select the Client Experience tab.

  3. On the Client Experience tab, from the Clientless Access list, click On.

  4. On the Client Experience tab, from the Advanced Clientless VPN Mode list, click Enabled.

    If you select STRICT from the Advanced Clientless VPN Mode list, the Citrix ADC appliance responds only to StoreFront URLs in classic clientless VPN form and blocks all other classic clientless VPN requests. This option provides a more secure configuration on the appliance for delivering internal web-resources.

Note:

  • If a session action is bound to the virtual server, you must enable the Advanced Clientless VPN Mode option for that session action as well from the Client Experience tab in the Configure Citrix Gateway Session Profile page.
  • You can select the Override Global option to override the global settings.
  • You can configure the advanced clientless VPN feature at a session level as well.

Caveats

Advanced clientless VPN is aimed at providing access to Enterprise Web apps. Such apps have only one FQDN for every kind of resource they need (JavaScript, css, images, and so on). Since we encode the complete FQDN of internal apps into a single-octet (clientless VPN), we lose out on the subdomain relationship. As a result, whenever an Enterprise WebApp is configured with CORS, sometimes you might notice issues while accessing it over the advanced clientless VPN.