Basic Clientless SSL VPN Configuration

Rewrite Each URL

By default, the ASA allows all portal traffic to all Web resources (for example HTTPS, CIFS, RDP, and plug-ins). Clientless SSL VPN rewrites each URL to one that is meaningful only to the ASA. The user cannot use this URL to confirm that they are connected to the website they requested. To avoid placing users at risk from phishing websites, assign a Web ACL to the policies configured for clientless access—group policies, dynamic access policies, or both—to control traffic flows from the portal. We recommend switching off URL Entry on these policies to prevent user confusion over what is accessible.

Figure 1. Example URL Entered by User
Figure 2. Same URL Rewritten by Security Appliance and Displayed in Browser Window

Procedure


Step 1

Configure a group policy for all users who need Clientless SSL VPN access, and enable Clientless SSL VPN for that group policy only.

Step 2

With the group policy open, choose General > More Options > Web ACL and click Manage.

Step 3

Create a Web ACL to do one of the following:

  • Permit access only to specific targets within the private network.

  • Permit access only to the private network, deny Internet access, or permit access only to reputable sites.

Step 4

Assign the Web ACL to any policies (group policies, dynamic access policies, or both) that you have configured for Clientless SSL VPN access. To assign a Web ACL to a DAP, edit the DAP record, and choose the Web ACL on the Network ACL Filters tab.

Step 5

Switch off URL Entry on the portal page, the page that opens upon the establishment of a browser-based connection. Click Disable next to URL Entry on both the group policy Portal frame and the DAP Functions tab. To switch off URL Entry on a DAP, use ASDM to edit the DAP record, click the Functions tab, and check Disable next to URL Entry.

Step 6

Instruct users to enter external URLs in the native browser address field above the portal page or open a separate browser window to visit external sites.


Configure Clientless SSL VPN Access

When configuring Clientless SSL VPN access, you can do the following:

  • Enable or switch off ASA interfaces for Clientless SSL VPN sessions.

  • Choose a port for Clientless SSL VPN connections.

  • Set a maximum number of simultaneous Clientless SSL VPN sessions.

Procedure


Step 1

To configure or create a group policy for clientless access, choose the Configuration > Remote Access VPN > Clientless SSL VPN Access > Group Policies pane.

Step 2

Navigate to Configuration > Remote Access VPN > Clientless SSL VPN Access > Connection Profiles.

  1. Enable or switch off Allow Access for each ASA interface.

    The Interface columns list the configured interfaces. The WebVPN Enabled field displays the status for Clientless SSL VPN on the interface. A green check next to Yes indicates that Clientless SSL VPN is enabled. A red circle next to No indicates that Clientless SSL VPN is switched off.

  2. Click Port Setting, and enter the port number (1 to 65535) to use for Clientless SSL VPN sessions. The default is 443. If you change the port number, all current Clientless SSL VPN connections are terminated, and current users must reconnect. You will also be prompted to reconnect the ASDM session.

Step 3

Navigate to Configuration > Remote Access VPN > Advanced > Maximum VPN Sessions, and enter the maximum number of Clientless SSL VPN sessions to allow in the Maximum Other VPN Sessions field.


Trusted Certificate Pools

The ASA groups trusted certificates into trustpools. Trustpools can be thought of as a special case of Trustpoint representing multiple known CA certificates. The ASA includes a default bundle of certificates, similar to the bundle of certificates provided with web browsers. Those certificates are inactive until activated by the administrator.

When connecting to a remote server with a web browser using the HTTPS protocol, the server provides a digital certificate signed by a certificate authority (CA) to identify itself. Web browsers include a collection of CA certificates which are used to verify the validity of the server certificate.

When connecting to a remote SSL-enabled server through Clientless SSL VPN, it is important to know that you can trust the remote server, and that you are connecting to the correct remote server. ASA 9.0 introduced support for SSL server certificate verification against a list of trusted certificate authority (CA) certificates for Clientless SSL VPN.

On Configuration > Remote Access VPN > Certificate Management > Trusted Certificate Pool, you can enable certificate verification for SSL connections to https sites. You can also manage the certificates in the trusted certificate pool.


Note

ASA trustpools are similar to but not identical to Cisco IOS trustpools.


Enable HTTP Server Verification

Procedure


Step 1

In the ASDM, choose Configuration > Remote Access VPN > Certificate Management > Trusted Certificate Pool.

Step 2

Select the Enable SSL Certificate Check check box.

Step 3

Click Disconnect User From HTTPS Site to disconnect if the server could not be verified. Alternatively, click Allow User to Proceed to HTTPS Site to allow the user to continue the connection, even if the check failed.

Step 4

Click Apply to save your changes.


Import a Certificate Bundle

You can import individual certificates or bundles of certificates from various locations in one of the following formats:

  • x509 certificates in DER format wrapped in a pkcs7 structure.

  • A file of concatenated x509 certificates in PEM format (complete with PEM header).

Procedure


Step 1

In the ASDM, choose Configuration > Remote Access VPN > Certificate Management > Trusted Certificate Pool.

Step 2

Click Import Bundle.

Step 3

Select the location of the bundle:

  • If the bundle is stored on your computer, click Import From a File, and click Browse Local Files and choose the bundle.

  • If the bundle is stored on the ASA flash file system, click Import From Flash, and click Browse Flash and choose the file.

  • If the bundle is hosted on a server, click Import From a URL, choose the protocol from the list, and enter the URL in the field.

  • Continue to import the bundle if signature validation fails or cannot import the bundle, and fix individual certificate errors later. Uncheck this to have the entire bundle fail if any of the certificates fails.

Step 4

Click Import Bundle. Alternatively, click Cancel to abandon your changes.

Note 

You can choose the Remove All Downloaded Trusted CA Certificates Prior to Import check box to clear the trustpool before importing a new bundle.


Export the Trustpool

When you have correctly configured the trustpool, you should export the pool. This will enable you to restore the trustpool to this point, for example to remove a certificate that was added to the trustpool after the export. You can export the pool to the ASA flash file system or your local file system.

In the ASDM, choose Configuration > Remote Access VPN > Certificate Management > Trusted Certificate Pool, and click Export Pool.

Procedure


Step 1

Click Export to a File.

Step 2

Click Browse Local Files.

Step 3

Choose the folder where you want to save the trustpool.

Step 4

Enter a unique memorable name for the trustpool in the File Name box.

Step 5

Click Select.

Step 6

Click Export Pool to save the file. Alternatively, click Cancel to stop saving.


Remove Certificates

To remove all certificates, in the ASDM, choose Configuration > Remote Access VPN > Certificate Management > Trusted Certificate Pool, then click Clear Pool.


Note

Before clearing the trustpool, you should export the current trustpool to enable you to restore your current settings.


Restore the Default Trusted Certificate Authority List

To restore the default trusted certificate authority (CA) list, in the ASDM, choose Configuration > Remote Access VPN > Certificate Management > Trusted Certificate Pool, then click Restore Default Trusted CA List and click Import Bundle.

Edit the Policy of the Trusted Certificate Pool

Procedure


Step 1

Revocation Check—Configure whether to check the certificates in the pool for revocation, and then choose whether to use CLR or OCSP and whether to make the certificate invalid if checking for revocation fails.

Step 2

Certificate Matching Rules—Select certificate maps to exempt from revocation or expiration checks. A certificate map links certificates to AnyConnect or clientless SSL connection profiles (also known as tunnel groups).

See Certificate to Connection Profile Maps Rules for more information about certificate maps.

Step 3

CRL Options—Decide how often to refresh the CRL cache, between 1 and 1440 minutes (1140 minutes is 24 hours).


Update the Trustpool

The trustpool should be updated if either of the following conditions exists:

  • Any certificate in the trustpool is due to expire or has been re-issued.

  • The published CA certificate bundle contains additional certificates that are required by a specific application.

A full update replaces all the certificates in the trustpool.

A practical update enables you to add new certificates or replace existing certificates.

Remove a Certificate Bundle

Clearing the trustpool will remove all certificates that are not part of the default bundle.

You cannot remove the default bundle. To clear the trustpool, in the ASDM, choose Configuration > Remote Access VPN > Certificate Management > Trusted Certificate Pool, then click Clear Pool.

Edit the Policy of the Trusted Certificate Pool

Procedure


Step 1

Revocation Check—Configure whether to check the certificates in the pool for revocation, and then choose whether to use CLR or OCSP and whether to make the certificate invalid if checking for revocation fails.

Step 2

Certificate Matching Rules—Select certificate maps to exempt from revocation or expiration checks. A certificate map links certificates to AnyConnect or clientless SSL connection profiles (also known as tunnel groups).

See Certificate to Connection Profile Maps Rules for more information about certificate maps.

Step 3

CRL Options—Decide how often to refresh the CRL cache, between 1 and 1440 minutes (1140 minutes is 24 hours).


Java Code Signer

Code signing appends a digital signature to the executable code itself. This digital signature provides enough information to authenticate the signer as well as to ensure that the code has not been subsequently modified since signed.

Code-signer certificates are special certificates whose associated private keys are used to create digital signatures. The certificates used to sign code are obtained from a CA, with the signed code itself revealing the certificate origin.

Choose the configured certificate to employ in Java object signing from the drop-down list.

To configure a Java Code Signer, choose Configuration > Remote Access VPN > Clientless SSL VPN Access > Advanced > Java Code Signer.

Java objects which have been transformed by Clientless SSL VPN can subsequently be signed using a PKCS12 digital certificate associated with a trustpoint. In the Java Trustpoint pane, you can configure the Clientless SSL VPN Java object signing facility to use a PKCS12 certificate and keying material from a specified trustpoint location.

To import a trustpoint, choose Configuration > Properties > Certificate > Trustpoint > Import.

Configure Browser Access to Plug-ins

A browser plug-in is a separate program that a Web browser invokes to perform a dedicated function, such as connect a client to a server within the browser window. The ASA lets you import plug-ins for download to remote browsers in Clientless SSL VPN sessions. Of course, Cisco tests the plug-ins it redistributes, and in some cases, tests the connectivity of plug-ins we cannot redistribute. However, we do not recommend importing plug-ins that support streaming media at this time.

The ASA does the following when you install a plug-in onto the flash device:

  • (Cisco-distributed plug-ins only) Unpacks the jar file specified in the URL.

  • Writes the file to the ASA file system.

  • Populates the drop-down list next to the URL attributes in ASDM.

  • Enables the plug-in for all future Clientless SSL VPN sessions, and adds a main menu option and an option to the drop-down list next to the Address field of the portal page.

The following shows the changes to the main menu and Address field of the portal page when you add the plug-ins described in the following sections.

Table 1. Effects of Plug-ins on the Clientless SSL VPN Portal Page

Plug-in

Main Menu Option Added to Portal Page

Address Field Option Added to Portal Page

ica

Citrix MetaFrame Services

ica://

rdp

Terminal Servers

rdp://

rdp2*

Terminal Servers Vista

rdp2://

ssh,telnet

Secure Shell

ssh://

Telnet Services (supporting v1 and v2)

telnet://

vnc

Virtual Network Computing services

vnc://

* Not a recommended plug-in.

When the user in a Clientless SSL VPN session clicks the associated menu option on the portal page, the portal page displays a window to the interface and displays a help pane. The user can choose the protocol displayed in the drop-down list and enter the URL in the Address field to establish a connection.

The plug-ins support single sign-on (SSO).

Prerequisites with Plug-Ins

  • Clientless SSL VPN must be enabled on the ASA to provide remote access to the plug-ins.

  • To configure SSO support for a plug-in, you install the plug-in, add a bookmark entry to display a link to the server, and specify SSO support when adding the bookmark.

  • The minimum access rights required for remote use belong to the guest privilege mode.

  • Plug-ins require ActiveX or Oracle Java Runtime Environment (JRE). See the Supported VPN Platforms, Cisco ASA 5500 Series compatibility matrices for version requirements.

Restrictions with Plug-Ins


Note

The remote desktop protocol plug-in does not support load balancing with a session broker. Because of the way the protocol handles the redirect from the session broker, the connection fails. If a session broker is not used, the plug-in works.


  • The plug-ins support single sign-on (SSO). They use the same credentials entered to open the Clientless SSL VPN session. Because the plug-ins do not support macro substitution, you do not have the options to perform SSO on different fields such as the internal domain password or on an attribute on a RADIUS or LDAP server.

  • A stateful failover does not retain sessions established using plug-ins. Users must reconnect following a failover.

  • If you use stateless failover instead of stateful failover, clientless features such as bookmarks, customization, and dynamic access-policies are not synchronized between the failover ASA pairs. In the event of a failover, these features do not work.

Prepare the Security Appliance for a Plug-in

Before you begin

Ensure that Clientless SSL VPN is enabled on an ASA interface.

Do not specify an IP address as the common name (CN) for the SSL certificate. The remote user attempts to use the FQDN to communicate with the ASA. The remote PC must be able to use DNS or an entry in the System32\drivers\etc\hosts file to resolve the FQDN.

Procedure


Step 1

Show whether Clientless SSL VPN is enabled on the ASA.

show running-config

Step 2

Install an SSL certificate onto the ASA interface and provide a fully-qualified domain name (FQDN) for remote user connection.


Install Plug-ins Redistributed by Cisco

Cisco redistributes the following open-source, Java-based components to be accessed as plug-ins for Web browsers in Clientless SSL VPN sessions.

Before you begin

Ensure Clientless SSL VPN is enabled on an interface on the ASA. To do so, enter the show running-config command.

Table 2. Plug-ins Redistributed by Cisco

Protocol

Description

Source of Redistributed Plug-in *

RDP

Accesses Microsoft Terminal Services hosted by Windows Vista and Windows 2003 R2.

Supports Remote Desktop ActiveX Control.

We recommend using this plug-in that supports both RDP and RDP2. Only versions up to 5.1 of the RDP and RDP2 protocols are supported. Version 5.2 and later are not supported.

http://properjavardp.sourceforge.net/

RDP2

Accesses Microsoft Terminal Services hosted by Windows Vista and Windows 2003 R2.

Supports Remote Desktop ActiveX Control.

This legacy plug-in supports only RDP2. We do not recommend using this plug-in; instead, use the RDP plug-in above.

SSH

The Secure Shell-Telnet plug-in lets the remote user establish a Secure Shell (v1 or v2) or Telnet connection to a remote computer.

Because keyboard-interactive authentication is not supported by JavaSSH, it cannot be supported with SSH plugin (used to implement different authentication mechanisms).

http://javassh.org/

VNC

The Virtual Network Computing plug-in lets the remote user use a monitor, keyboard, and mouse to view and control a computer with remote desktop sharing (also known as VNC server or service) turned on. This version changes the default color of the text and contains updated French and Japanese help files.

http://www.tightvnc.com/

* Consult the plug-in documentation for information on deployment configuration and restrictions.

These plug-ins are available on the Cisco Adaptive Security Appliance Software Download site.

Procedure


Step 1

Create a temporary directory named plugins on the computer that you use to establish ASDM sessions with the ASA, and download the required plug-ins from the Cisco website to the plugins directory.

Step 2

Choose Configuration > Remote Access VPN > Clientless SSL VPN Access > Portal > Client-Server Plug-ins.

This pane displays the currently loaded plug-ins that are available to Clientless SSL sessions. The hash and date of these plug-ins are also provided.

Step 3

Click Import.

Step 4

Use the following descriptions to enter the Import Client-Server Plug-in dialog box field values.

  • Plug-in Name—Select one of the following values:

    • ica to provide plug-in access to Citrix MetaFrame or Web Interface services.

    • rdp to provide plug-in access to Remote Desktop Protocol services.

    • ssh,telnet to provide plug-in access to both Secure Shell and Telnet services.

    • vnc to provide plug-in access to Virtual Network Computing services.

      Note 

      Any undocumented options in this menu are experimental and are not supported.

  • Select the location of the plugin file—Select one of the following options and insert a path into its text field.

    • Local computer—Enter the location and name of the plug-in into the associated Path field, or click Browse Local Files and choose the plug-in, choose it, then click Select.

    • Flash file system—Enter the location and name of the plug-in into the associated Path field, or click Browse Flash and choose the plug-in, choose it, then click OK.

    • Remote Server—Choose ftp, tftp, or HTTP from the drop-down menu next to the associated Path attribute, depending on which service is running on the remote server. Enter the hostname or address of the server and the path to the plug-in into the adjacent text field.

Step 5

Click Import Now.

Step 6

Click Apply.

The plug-in is now available for future Clientless SSL VPN sessions.


Provide Access to a Citrix XenApp Server

As an example of how to provide Clientless SSL VPN browser access to third-party plug-ins, this section describes how to add Clientless SSL VPN support for the Citrix XenApp Server Client.

With a Citrix plug-in installed on the ASA, Clientless SSL VPN users can use a connection to the ASA to access Citrix XenApp services.

A stateful failover does not retain sessions established using the Citrix plug-in. Citrix users must reauthenticate after failover.

Create and Install the Citrix Plug-in

Before you begin

You must prepare the security application for a plug-in.

You must configure the Citrix Web Interface software to operate in a mode that does not use the (Citrix) “secure gateway.” Otherwise, the Citrix client cannot connect to the Citrix XenApp Server.

Procedure

Step 1

Download the ica-plugin.zip file from the Cisco Software Download website.

This file contains files that Cisco customized for use with the Citrix plug-in.

Step 2

Download the Citrix Java client from the Citrix site.

In the download area of the Citrix website, choose Citrix Receiver, and Receiver for Other Platforms, and click Find. Click the Receiver for Java hyperlink and download the archive.

Step 3

Extract the following files from the archive, and then add them to the ica-plugin.zip file:

  • JICA-configN.jar

  • JICAEngN.jar

Step 4

Ensure the EULA included with the Citrix Java client grants you the rights and permissions to deploy the client on your Web servers.

Step 5

Install the plug-in by using ASDM, or entering the following CLI command in privileged EXEC mode:

import webvpn plug-in protocol ica URL

URL is the hostname or IP address and path to the ica-plugin.zip file.

Note 

Adding a bookmark is required to provide SSO support for Citrix sessions. We recommend that you use URL parameters in the bookmark the provide convenient viewing, for example:

ica://10.56.1.114/?DesiredColor=4&DesiredHRes=1024&DesiredVRes=768

Step 6

Establish an SSL VPN clientless session and click the bookmark or enter the URL for the Citrix server.

Use the Client for Java Administrator’s Guide as needed.


Configure Port Forwarding

Port forwarding lets users access TCP-based applications over a Clientless SSL VPN connection. Such applications include the following:

  • Lotus Notes

  • Microsoft Outlook

  • Microsoft Outlook Express

  • Perforce

  • Sametime

  • Secure FTP (FTP over SSH)

  • SSH

  • Telnet

  • Windows Terminal Service

  • XDDTS

Other TCP-based applications may also work, but we have not tested them. Protocols that use UDP do not work.

Port forwarding is the legacy technology for supporting TCP-based applications over a Clientless SSL VPN connection. You may choose to use port forwarding because you have built earlier configurations that support this technology.

Consider the following alternatives to port forwarding:

  • Smart tunnel access offers the following advantages to users:

    • Smart tunnel offers better performance than plug-ins.

    • Unlike port forwarding, smart tunnel simplifies the user experience by not requiring the user connection of the local application to the local port.

    • Unlike port forwarding, smart tunnel does not require users to have administrator privileges.

  • Unlike port forwarding and smart tunnel access, a plug-in does not require the client application to be installed on the remote computer.

When configuring port forwarding on the ASA, you specify the port the application uses. When configuring smart tunnel access, you specify the name of the executable file or its path.

Prerequisites for Port Forwarding

  • Ensure Oracle Java Runtime Environment (JRE) 1.5.x or later is installed on the remote computers to support port forwarding (application access) and digital certificates.

  • Browser-based users of Safari on Mac OS X 10.5.3 must identify a client certificate for use with the URL of the ASA, once with the trailing slash and once without it, because of the way Safari interprets URLs. For example,

    • https://example.com/

    • https://example.com

    For details, go to the Safari, Mac OS X 10.5.3: Changes in client certificate authentication.

  • Users of Microsoft Windows Vista or later who use port forwarding or smart tunnels must add the URL of the ASA to the Trusted Site zone. To access the Trusted Site zone, they must start Internet Explorer and choose the Tools > Internet Options > Security tab. Vista (or later) users can also switch off Protected Mode to facilitate smart tunnel access; however, we recommend against this method because it increases the computer’s vulnerability to attack.

Restrictions for Port Forwarding

  • Port forwarding supports only TCP applications that use static TCP ports. Applications that use dynamic ports or multiple TCP ports are not supported. For example, SecureFTP, which uses port 22, works over Clientless SSL VPN port forwarding, but standard FTP, which uses ports 20 and 21, does not.

  • Port forwarding does not support protocols that use UDP.

  • Port forwarding does not support Microsoft Outlook Exchange (MAPI) proxy. However, you can configure smart tunnel support for Microsoft Office Outlook in conjunction with Microsoft Outlook Exchange Server.

  • A stateful failover does not retain sessions established using Application Access (either port forwarding or smart tunnel access). Users must reconnect following a failover.

  • Port forwarding does not support connections to personal digital assistants.

  • Because port forwarding requires downloading the Java applet and configuring the local client, and because doing so requires administrator permissions on the local system, it is unlikely that users will be able to use applications when they connect from public remote systems.

    The Java applet displays in its own window on the end user HTML interface. It shows the contents of the list of forwarded ports available to the user, as well as which ports are active, and amount of traffic in bytes sent and received.

  • The port forwarding applet displays the local port and the remote port as the same when the local IP address 127.0.0.1 is being used and cannot be updated by the Clientless SSL VPN connection from the ASA. As a result, the ASA creates new IP addresses 127.0.0.2, 127.0.0.3, and so on for local proxy IDs. Because you can modify the hosts file and use different loopbacks, the remote port is used as the local port in the applet. To connect, you can use Telnet with the hostname, without specifying the port. The correct local IP addresses are available in the local hosts file.

Configure DNS for Port Forwarding

Port forwarding forwards the domain name of the remote server or its IP address to the ASA for resolution and connection. In other words, the port forwarding applet accepts a request from the application and forwards it to the ASA. The ASA makes the appropriate DNS queries and establishes the connection on behalf of the port forwarding applet. The port forwarding applet only makes DNS queries to the ASA. It updates the host file so that when a port forwarding application attempts a DNS query, the query redirects to a loopback address.

Procedure


Step 1

Click Configuration > Remote Access VPN > Clientless SSL VPN Access > Connection Profiles.

The default Clientless SSL VPN group entry is the default connection profile used for clientless connections.

Step 2

Highlight the default Clientless SSL VPN group entry, then click Edit if your configuration uses it for clientless connections. Otherwise, highlight a connection profile used in your configuration for clientless connections, then click Edit.

Step 3

Scan to the DNS area and choose the DNS server from the drop-down list. Note the domain name, disregard the remaining steps, and go to the next section if ASDM displays the DNS server to use. You need to enter the same domain name when you specify the remote server while configuring an entry in the port forwarding list. Continue with the remaining steps if the DNS server is not present in the configuration.

Step 4

Click Manage in the DNS area.

Step 5

Click Configure Multiple DNS Server Groups.

Step 6

Click Add.

Step 7

Enter a new server group name in the Name field, and enter the IP address and domain name.

Figure 3. Example DNS Server Values for Port Forwarding

Note the domain name that you entered. You need it when you specify the remote server later while configuring a port forwarding entry.

Step 8

Click OK until the Connection Profiles window becomes active again.

Step 9

Repeat for each remaining connection profile used in your configuration for clientless connections.

Step 10

Click Apply.


Add/Edit a Port Forwarding Entry

The Add/Edit Port Forwarding Entry dialog boxes let you specify TCP applications to associate with users or group policies for access over Clientless SSL VPN connections. Assign values to the attributes in these windows as follows:

Before you begin

The DNS name assigned to the Remote Server parameter must match the Domain Name and Server Group parameters to establish the tunnel and resolve to an IP address. The default setting for both the Domain and Server Group parameters is DefaultDNS.

Procedure


Step 1

Click Add.

Step 2

Type a TCP port number for the application to use. You can use a local port number only once for a listname. To avoid conflicts with local TCP services, use port numbers in the range 1024 to 65535.

Step 3

Enter either the domain name or the IP address of the remote server. We recommend using a domain name so that you do not have to configure the client applications for the specific IP address.

Step 4

Type the well-known port number for the application.

Step 5

Type a description of the application. The maximum is 64 characters.

Step 6

(Optional) Highlight a port forwarding list and click Assign to assign the selected list to one or more group policies, dynamic access policies, or user policies.


Assign a Port Forwarding List

You can add or edit a named list of TCP applications to associate with users or group policies for access over Clientless SSL VPN connections. For each group policy and username, you can configure Clientless SSL VPN to do one of the following:


Note

These options are mutually exclusive for each group policy and username. Use only one.


  • Start port forwarding access automatically upon user login.

  • Enable port forwarding access upon user login, but require the user to start it manually, using Application Access > Start Applications on the Clientless SSL VPN portal page.

Procedure


Step 1

Provide an alphanumeric name for the list. The maximum is 64 characters.

Step 2

Enter which local port listens for traffic for the application. You can use a local port number only once for a listname. To avoid conflicts with local TCP services, use port numbers in the range 1024 to 65535.

Note 

Enter the IP address or DNS name of the remote server. We recommend using a domain name so that you do not have to configure the client applications for the specific IP address.

Step 3

Enter the remote port that listens for traffic for the application.

Step 4

Describe the TCP application. The maximum is 64 characters.


Enable and Switch off Port Forwarding

By default, port forwarding is switched off.

If you enable port forwarding, the user will have to start it manually, using Application Access > Start Applications on the Clientless SSL VPN portal page.

Configure File Access

Clientless SSL VPN serves remote users with HTTPS portal pages that interface with proxy CIFS and/or FTP clients running on the ASA. Using either CIFS or FTP, Clientless SSL VPN provides users with network access to the files on the network, to the extent that the users meet user authentication requirements and the file properties do not restrict access. The CIFS and FTP clients are transparent; the portal pages delivered by Clientless SSL VPN provide the appearance of direct access to the file systems.

When a user requests a list of files, Clientless SSL VPN queries the server designated as the master browser for the IP address of the server containing the list. The ASA gets the list and delivers it to the remote user on a portal page.

Clientless SSL VPN lets the user invoke the following CIFS and FTP functions, depending on user authentication requirements and file properties:

  • Navigate and list domains and workgroups, servers within a domain or workgroup, shares within a server, and files within a share or directory.

  • Create directories.

  • Download, upload, rename, move, and delete files.

The ASA uses a master browser, WINS server, or DNS server, typically on the same network as the ASA or reachable from that network, to query the network for a list of servers when the remote user clicks Browse Networks in the menu of the portal page or on the toolbar displayed during the Clientless SSL VPN session.

The master browser or DNS server provides the CIFS/FTP client on the ASA with a list of the resources on the network, which Clientless SSL VPN serves to the remote user.


Note

Before configuring file access, you must configure the shares on the servers for user access.


CIFS File Access Requirement and Limitation

To access \\server\share\subfolder\personal folder, the user must have a minimum of read permission for all parent folders, including the share itself.

Use Download or Upload to copy and paste files to and from CIFS directories and the local desktop. The Copy and Paste buttons are intended for remote to remote actions only, not local to remote, or remote to local.

If you drag and drop a file from a web folder to a folder on your workstation, you might get what appears to be a temporary file. Refresh the folder on your workstation to update the view and show the transferred file.

The CIFS browse server feature does not support double-byte character share names (share names exceeding 13 characters in length). This only affects the list of folders displayed, and does not affect user access to the folder. As a workaround, you can pre-configure the bookmark(s) for the CIFS folder(s) that use double-byte share names, or the user can enter the URL or bookmark of the folder in the format cifs://server/<long-folder-name>. For example:


cifs://server/Do you remember?
cifs://server/Do%20you%20remember%3F

Add Support for File Access


Note

The procedure describes how to specify the master browser and WINS servers. As an alternative, you can use ASDM to configure URL lists and entries that provide access to file shares.

Adding a share in ASDM does not require a master browser or a WINS server. However, it does not provide support for the Browse Networks link. You can use a hostname or an IP address to refer to ServerA when entering the nbns-server command. If you use a hostname, the ASA requires a DNS server to resolve it to an IP address.


Ensure Clock Accuracy for SharePoint Access

The Clientless SSL VPN server on the ASA uses cookies to interact with applications such as Microsoft Word on the endpoint. The cookie expiration time set by the ASA can cause Word to malfunction when accessing documents on a SharePoint server if the time on the ASA is incorrect. To prevent this malfunction, set the ASA clock properly. We recommend configuring the ASA to dynamically synchronize the time with an NTP server. For instructions, see the section on setting the date and time in the general operations configuration guide.

Virtual Desktop Infrastructure (VDI)

The ASA supports connections to Citrix and VMWare VDI servers.

  • For Citrix, the ASA allows access through clientless portal to user's running Citrix Receiver.

  • VMWare is configured as a (smart tunnel) application.

VDI servers can also be accessed through bookmarks on the Clientless Portal, like other server applications.

Limitations to VDI

  • Authentication using certificates or Smart Cards is not supported for auto sign-on, since these forms of authentication do not allow the ASA in the middle.

  • The XML service must be installed and configured on the XenApp and XenDesktop servers.

  • Client certificate verifications, double Auth, internal passwords and CSD (all of CSD, not just Vault) are not supported when standalone mobile clients are used.

Citrix Mobile Support

A mobile user running the Citrix Receiver can connect to the Citrix server by:

  • Connecting to the ASA with AnyConnect, and then connecting to the Citrix server.

  • Connecting to the Citrix server through the ASA, without using the AnyConnect client. Logon credentials can include:

    • A connection profile alias (also referred to as a tunnel-group alias) in the Citrix logon screen. A VDI server can have several group policies, each with different authorization and connection settings.

    • An RSA SecureID token value, when the RSA server is configured. RSA support includes next token for an invalid entry, and also for entering a new PIN for an initial or expired PIN.

Supported Mobile Devices for Citrix

  • iPad—Citrix Receiver version 4.x or later

  • iPhone/iTouch—Citrix Receiver version 4.x or later

  • Android 2.x/3.x/4.0/4.1 phone—Citrix Receiver version 2.x or later

  • Android 4.0 phone—Citrix Receiver version 2.x or later

Limitations of Citrix

Certificate Limitations
  • Certificate/Smart Card authentication is not supported as means of auto sign-on.

  • Client certificate verifications and CSD are not supported

  • Md5 signature in the certificates are not working because of security issue, which is a known problem on iOS: http://support.citrix.com/article/CTX132798

  • SHA2 signature is not supported except for Windows, as described on the Citrix website: http://www.citrix.com/

  • A key size >1024 is not supported

Other Limitations
  • HTTP redirect is not supported; the Citrix Receiver application does not work with redirects.

  • XML service must be installed and configured on the XenApp and XenDesktop servers.

About Citrix Mobile Receiver User Logon

The logon for mobile users connecting to the Citrix server depends on whether the ASA has configured the Citrix server as a VDI server or a VDI proxy server.

When the Citrix server is configured as a VDI server:

  1. Using the AnyConnect Secure Mobility Client, connect to ASA with VPN credentials.

  2. Using Citrix Mobile Receiver, connect to Citrix server with Citrix server credentials (if single-signon is configured, the Citrix credentials are not required).

When the ASA is configured as a to a VDI proxy server:

  1. Using Citrix Mobile Receiver, connect to the ASA entering credentials for both the VPN and Citrix server. After the first connection, if properly configured, subsequent connections only require VPN credentials.

Configure the ASA to Proxy a Citrix Server

You can configure the ASA to act as a proxy for the Citrix servers, so that connections to the ASA appear to the user like connections to the Citrix servers. The AnyConnect client is not required when you enable VDI proxy in ASDM. The following high-level steps show how the end user connects to Citrix.

Procedure


Step 1

A mobile user opens Citrix Receiver and connects to ASA's URL.

Step 2

The user provides credentials for the XenApp server and the VPN credentials on the Citrix logon screen.

Step 3

For each subsequent connection to the Citrix server, the user only needs to enter the VPN credentials.

Using the ASA as a proxy for XenApp and XenDesktop removes the requirement for a Citrix Access Gateway. XenApp server info is logged on the ASA, and displays in ASDM.

Configure the Citrix server's address and logon credentials, and assign that VDI server to a Group Policy or username. If both username and group-policy are configured, username settings override group-policy settings.


What to do next

http://www.youtube.com/watch?v=JMM2RzppaG8 - This video describes the advantages of using the ASA as a Citrix proxy.

Configure a VDI Server or VDI Proxy Server

Procedure

Step 1

Choose Configuration > Remote Access VPN > Clientless SSL VPN Access > VDI Access.

Step 2

For one server, check Enable VDI Server Proxy, and configure the VDI server.

Step 3

To assign several group policies to a VDI server, check Configure All VDI Servers.

Step 4

Add a VDI Server, and assign one or more group policies.


Assign a VDI Server to a Group Policy

VDI servers are configured and assigned to Group Policies by:

  • Adding the VDI server on the VDI Access pane, and assigning a group policy to the server.

  • Adding a VDI server to the group policy.

Procedure

Step 1

Browse to Configuration > Remote Access VPN > Clientless SSL VPN Access > Group Policies.

Step 2

Edit the DfltGrpPolicy and expand the More options menu from the left-side menu.

Step 3

Choose VDI Access.

Step 4

Click Add or Edit to provide VDI server details.

  • Server (Host Name or IP Address)—Address of the XenApp or XenDesktop server. This value can be a clientless macro.

  • Port Number (Optional)—Port number for connecting to the Citrix server. This value can be a clientless macro.

  • Active Directory Domain Name—Domain for logging into the virtualization infrastructure server. This value can be a clientless macro.

  • Use SSL Connection—Check the checkbox if you want the server to connect using SSL.

  • Username—Username for logging into the virtualization infrastructure server. This value can be a clientless macro.

  • Password—Password for logging into the virtualization infrastructure server. This value can be a clientless macro.


Configure Browser Access to Client-Server Plug-ins

The Client-Server Plug-in table displays the plug-ins the ASA makes available to browsers in Clientless SSL VPN sessions.

To add, change, or remove a plug-in, do one of the following:

  • To add a plug-in, click Import. The Import Plug-ins dialog box opens.

  • To remove a plug-in, choose it and click Delete.

About Installing Browser Plug-ins

A browser plug-in is a separate program that a Web browser invokes to perform a dedicated function, such as connect a client to a server within the browser window. The ASA lets you import plug-ins for download to remote browsers in Clientless SSL VPN sessions. Of course, Cisco tests the plug-ins it redistributes, and in some cases, tests the connectivity of plug-ins we cannot redistribute. However, we do not recommend importing plug-ins that support streaming media at this time.

The ASA does the following when you install a plug-in onto the flash device:

  • (Cisco-distributed plug-ins only) Unpacks the jar file specified in the URL.

  • Writes the file to the csco-config/97/plugin directory on the ASA file system.

  • Populates the drop-down list next to the URL attributes in ASDM.

  • Enables the plug-in for all future Clientless SSL VPN sessions, and adds a main menu option and an option to the drop-down list next to the Address field of the portal page.

The following table shows the changes to the main menu and address field of the portal page when you add the plug-ins described in the following sections.

Table 3. Effects of Plug-ins on the Clientless SSL VPN Portal Page

Plug-in

Main Menu Option Added to Portal Page

Address Field Option Added to Portal Page

ica

Citrix Client

citrix://

rdp

Terminal Servers

rdp://

rdp2

Terminal Servers Vista

rdp2://

ssh,telnet

SSH

ssh://

Telnet

telnet://

vnc

VNC Client

vnc://


Note

A secondary ASA obtains the plug-ins from the primary ASA.


When the user in a Clientless SSL VPN session clicks the associated menu option on the portal page, the portal page displays a window to the interface and displays a help pane. The user can choose the protocol displayed in the drop-down list and enter the URL in the Address field to establish a connection.


Note

Some Java plug-ins may report a status of connected or online even when a session to the destination service is not set up. The open-source plug-in reports the status, not the ASA.


Prerequisites for Installing Browser Plug-ins

  • The plug-ins do not work if the security appliance configures the clientless session to use a proxy server.


    Note

    The remote desktop protocol plug-in does not support load balancing with a session broker. Because of the way the protocol handles the redirect from the session broker, the connection fails. If a session broker is not used, the plug-in works.


  • The plug-ins support single sign-on (SSO). They use the same credentials entered to open the Clientless SSL VPN session. Because the plug-ins do not support macro substitution, you do not have the options to perform SSO on different fields such as the internal domain password or on an attribute on a RADIUS or LDAP server.

  • To configure SSO support for a plug-in, you install the plug-in, add a bookmark entry to display a link to the server, and specify SSO support when adding the bookmark.

  • The minimum access rights required for remote use belong to the guest privilege mode.

Requirements for Installing Browser Plug-ins

  • Per the GNU General Public License (GPL), Cisco redistributes plug-ins without having made any changes to them. Per the GPL, Cisco cannot directly enhance these plug-ins.

  • Clientless SSL VPN must be enabled on the ASA to provide remote access to the plug-ins.

  • A stateful failover does not retain sessions established using plug-ins. Users must reconnect following a failover.

  • Plug-ins require that ActiveX or Oracle Java Runtime Environment (JRE) is enabled on the browser. There is no ActiveX version of the RDP plug-in for 64-bit browsers.

Set Up RDP Plug-in

To set up and use an RDP plug-in, you must add a new environment variable.

Procedure

Step 1

Right-click My Computer to access the System Properties, and choose the Advanced tab.

Step 2

On the Advanced tab, choose the environment variables button.

Step 3

In the new user variable dialog box, enter the RF_DEBUG variable.

Step 4

Verify the new Environment Variable in the user variables section.

Step 5

If you used the client computer with versions of Clientless SSL VPN before version 8.3, you must remove the old Cisco Portforwarder Control. Go to the C:/WINDOWS/Downloaded Program Files directory, right-click portforwarder control, and choose Remove.

Step 6

Clear all of the Internet Explorer browser cache.

Step 7

Launch your Clientless SSL VPN session and establish an RDP session with the RDP ActiveX Plug-in.

You can now observe events in the Windows Application Event viewer.


Prepare the Security Appliance for a Plug-in

Procedure


Step 1

Ensure that Clientless SSL VPN is enabled on an ASA interface.

Step 2

Install an SSL certificate onto the ASA interface to which remote users use a fully-qualified domain name (FQDN) to connect.

Note 

Do not specify an IP address as the common name (CN) for the SSL certificate. The remote user attempts to use the FQDN to communicate with the ASA. The remote PC must be able to use DNS or an entry in the System32\drivers\etc\hosts file to resolve the FQDN.