The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
AnyConnect on mobile devices is similar to AnyConnect on Windows, Mac and Linux platforms. This chapter provides device information, configuration information, support information, as well as other administrative tasks specific to AnyConnect for mobile devices.
This release of the AnyConnect Secure Mobility Client is available on the following mobile platforms:
Cisco AnyConnect is provided on the app store for each supported platform, it is not available on www.cisco.com or distributed from a secure gateway.
AnyConnect mobile apps contain the core VPN client only, they do not include other AnyConnect modules such as the Network Access Manager, Posture, or Web Security. Posture information, referred to as Mobile Posture, is provided to the headend using AnyConnect Identify Extensions (ACIDex) when the VPN is connecting.
An AnyConnect VPN connection can be established in one of the following ways:
A connection entry identifies the address of the secure gateway by its fully qualified domain name or IP address, including the tunnel group URL if required. It can also include other connection attributes.
AnyConnect supports multiple connection entries on a mobile device addressing different secure gateways and/or VPN tunnel groups. If multiple connection entries are configured, it is important that the user knows which one to use to initiate the VPN connection. Connection entries are configured in one of the following ways:
Manually configured by the user. See the appropriate platform user guide for procedures to configure a connection entry on a mobile device.
Defined by the Anyconnect VPN Client Profile.
The AnyConnect VPN Client Profile specifies client behavior and defines VPN connection entries. For details refer to Configure Mobile Device Connections in the AnyConnect VPN Profile.
AnyConnect can operate, in a managed or an unmanaged BYOD environment. VPN tunneling in these environments operates exclusively in one of the following modes:
System-tunneling mode—The VPN connections are used to tunnel all data (full-tunneling), or only data flowing to and from particular domains or addresses (split-tunneling). This mode is available on all mobile platforms.
Per App VPN mode—The VPN connection is used for a specific set of apps on the mobile device (Android and Apple iOS only)
AnyConnect allows the set of apps defined by the administrator on the headend. This list is defined using the ASA Custom Attributes mechanism. This list is sent to the AnyConnect client, and enforced on the device. For all other apps, data is sent outside of the tunnel or in the clear.
On Apple iOS, a managed environment is required to run in this mode. On Android, both managed and unmanaged environments are supported. On both platforms, in a managed environment, the Mobile Device Manager must also configure the device to tunnel the same list of apps that AnyConnect is configured to tunnel.
AnyConnect operates in the mode determined by the configuration information received from the ASA headend. Specifically, the presence or absence of a Per App VPN list in the Group Policy or Dynamic Access Policy (DAP) associated with the connection. If the Per App VPN list is present, AnyConnect operates in Per App VPN mode; if it is absent, AnyConnect operates in system-tunneling mode.
When establishing a VPN connection, AnyConnect uses the digital certificate received from the secure gateway to verify the server's identify. If the server certificate is invalid (there is a certificate error due to an expired or invalid date, wrong key usage, or a name mismatch), or if it is untrusted (the certificate cannot be verified by a Certificate Authority), or both, the connection is blocked. A blocking message displays, and the user must choose how to proceed.
The Block Untrusted Servers application setting determines how AnyConnect reacts if it cannot identify the secure gateway. This protection is ON by default; it can be turned OFF by the user, but this is not recommended.
When Block Untrusted Servers is ON, a blocking Untrusted VPN Server notification alerts the user to this security threat. The user can choose:
Keep Me Safe to terminate this connection and remain safe.
Change Settings to turn the Block Untrusted Servers application preference OFF, but this is not recommended. After the user disables this security protection, they must reinitiate the VPN connection.
When Block Untrusted Servers is OFF, a non-blocking Untrusted VPN Server notification alerts the user to this security threat. The user can choose to:
Cancel the connection and remain safe.
Continue the connection, but this is not recommended.
View Details of the certificate to visually determine acceptability.
If the certificate that the user is viewing is valid but untrusted, the user can:
Import the server certificate into the AnyConnect certificate store for future use and continue the connection by selecting Import and Continue.
Once this certificate is imported into the AnyConnect store, subsequent connections made to the server using this digital certificate are automatically accepted.
Go back to the previous screen and choose Cancel or Continue.
If the certificate is invalid, for any reason, the user can only return to the previous screen and choose Cancel or Continue.
Leaving the Block Untrusted Servers setting ON (default setting), having a valid and trusted server certificate configured on your secure gateway, and instructing your mobile users to always choose Keep Me Safe is the safest configuration for VPN connectivity to your network.
Note | Strict Certificate Trust overrides this setting, see description below. |
To complete a VPN connection, the user must authenticate by providing credentials in the form of a username and password, a digital certificate, or both. The administrator defines the authentication method on the tunnel group. For the best user experience on mobile devices, Cisco recommends using multiple AnyConnect connection profiles depending on the authentication configuration. You will have to decide how best to balance user experience with security. We recommend the following:
For AAA-based authentication tunnel groups for mobile devices, the group policy should have a very long idle timeout, such as 24 hours, to let the client remain in a reconnecting state without requiring the user to re-authenticate.
To achieve the most transparent end user experience, use certificate-only authentication. When a digital certificate is used, a VPN connection is established without user interaction.
In order to authenticate the mobile device to the secure gateway using a certificate, end users must import a certificate onto their device. This certificate is then available for automatic certificate selection, or it can be associated with a particular connection entry manually. Certificates are imported using the following methods:
Imported manually by the user. See the appropriate user guide for procedures to import certificates to your mobile device.
Using SCEP. See Configure Certificate Enrollment for details.
AnyConnect Secure Mobility Client for Android and Apple iOS supports localization, adapting the AnyConnect user interface and messages to the user’s locale.
The following language translations are included in the AnyConnect Android and Apple iOS apps:
Canadian French (fr-ca)
Chinese (Taiwan) (zh-tw)
Czech (cs-cz)
Dutch (nl-nl)
French (fr-fr)
German (de-de)
Hungarian (hu-hu)
Italian (it-it)
Japanese (ja-jp)
Korean (ko-kr)
Latin American Spanish (es-co)
Polish (pl-pl)
Portuguese (Brazil) (pt-br)
Russian (ru-ru)
Simplified Chinese (zh-cn)
Spanish (es-es)
Localization data for these languages is installed on the mobile device when AnyConnect is installed. The local specified on your mobile device determines the displayed language. AnyConnect uses the language specification, then the region specification, to determine the best match. For example, after installation, a French-Switzerland (fr-ch) locale setting results in a French-Canadian (fr-ca) display. AnyConnect UIs and messages are translatednyConnect when AnyConnect starts.
For languages not in the AnyConnect package, administrators add localization data to the ASA to be downloaded to the device upon AnyConnect VPN connectivity.
Cisco provides the anyconnect.po file, including all localizable AnyConnect strings, on the product download center of Cisco.com. AnyConnect administrators download the anyconnect.po file, provide translations for the available strings, and then upload the file to the ASA. AnyConnect administrators that already have an anyconnect.po file installed on the ASA will download this updated version.
Initially, the AnyConnect user interface and messages are presented to the user in the installed language. When the device user establishes the first connection to the ASA, AnyConnect compares the device’s preferred language to the available localization languages on the ASA. If AnyConnect finds a matching localization file, it downloads the localized file. Once the download is complete, AnyConnect presents the user interface and user messages using the translated strings added to anyconnect.po file. If a string was not translated, AnyConnect presents the default English strings.
See Import Translation Tables to the Adaptive Security Appliance for instructions on configuring localization on an ASA. If the ASA does not contain localization data for the device’s locale, the preloaded localization data from the AnyConnect application package continues to be used.
Ask your mobile device users to manage localization data on their own device. See the appropriate User Guide for procedures to perform the following localization activities:
Import localization data from a specified server. The user chooses to import localization data and specifies the address of the secure gateway and the locale. The locale is specified per ISO 639-1, with the country code added if applicable (for example, en-US, fr-CA, ar-IQ, and so on). This localization data is used in place of the prepackaged, installed localization data.
Restore default localization data. This restores the use of the preloaded localization data from the AnyConnect package and deletes all imported localization data.
AnyConnect for mobile devices incorporates Cisco Common Cryptographic Module (C3M), the Cisco SSL implementation which includes FIPS 140-2 compliant cryptography modules and NSA Suite B cryptography as part of its Next Generation Encryption (NGE) algorithms. Suite B cryptography is available for IPsec VPNs only; FIPS-compliant cryptography is available for both IPsec and SSL VPNs.
Use of cryptography algorithms is negotiated with the headend while connecting. Negotiation is dependent on the capabilities of both ends of the VPN connection. Therefore, the secure gateway must also support FIPS-compliant and Suite B cryptography.
The user configures AnyConnect to accept only NGE algorithms during negotiation by enabling FIPS Mode in the AnyConnect app settings. When FIPS Mode is disabled, AnyConnect also accepts non-FIPS cryptography algorithms for VPN connections.
Apple iOS 5.0 or later is required for Suite B cryptography; this is the minimum Apple iOS version that supports ECDSA certificates used in Suite B.
Android 4.0 (Ice Cream Sandwich) or later is required for Suite B cryptography; this is the minimum Android version that supports ECDSA certificates used in Suite B.
A device that is running in FIPS mode is not compatible with using SCEP to provide mobile users with digital certificates by proxy method or legacy method. Plan your deployment accordingly.
Refer to the Release Notes for Cisco AnyConnect Secure Mobility Client, Release 4.1.x for Windows Phone for features and devices supported by this release.
Refer to the Windows Phone User Guide for Cisco AnyConnect Secure Mobility Client, Release 4.1.x to install, upgrade, and use the AnyConnect app.
Performance is limited due to non-support of DTLS and IPsec/IKEv2.
VPN roaming (transitioning between WiFi and 3/4G networks) is not supported.
AnyConnect does not receive or process the AnyConnect VPN Profile from the Secure Gateway.
A user initiated disconnect does not cleanly disconnect from the head end. Cisco recommends you connect to ASA VPN groups with a small idle timeout to clear orphaned sessions on the ASA.
When the mobile device user is connecting to an ASA that does not have a valid mobile license, the user will get into a login loop, where after entering credentials the authentication will restart and eventually (after 5 attempts) send the user a generic error message: The VPN connection has failed with error code 602. Please contact your administrator and ensure that a valid mobile license is installed on the secure gateway
Step 1 | Refer to the
appropriate release of the
Cisco ASA 5500-X Series
Next-Generation Firewalls, Configuration Guides
for configuration procedures that are common to desktop and mobile endpoints.
Consider the following for mobile devices:
| ||||||||||||||||||
Step 2 | Configure Mobile
Posture (also called AnyConnect Identity Extensions, ACIDex) to accept, deny,
or restrict mobile connections as desired.
See the Configuring Endpoint Attributes Used in DAPs procedure, in the appropriate release of Cisco ASA 5500-X Series Next-Generation Firewalls, Configuration Guides. Example: The following attributes are sent by AnyConnect on Apple iOS to the headend when establishing a connection: endpoint.anyconnect.clientversion="4.0.03004"; endpoint.anyconnect.platform="apple-ios"; endpoint.anyconnect.devicetype="iPhone7,2"; endpoint.anyconnect.platformversion="9.0"; endpoint.anyconnect.deviceuniqueid="11025f84e99351e807f3583343bfec96351cb416"; |
The AnyConnect VPN Client Profile is an XML file that specifies client behavior and defines VPN connection entries. Each connection entry specifies a secure gateway that is accessible to the endpoint device and other connection attributes, policies, and constraints. Use the AnyConnect Profile Editor to create a VPN client profile that includes host connection entries for mobile devices.
Connection entries defined in the VPN profile delivered to mobile devices from the ASA cannot be modified or deleted by the user. Users can modify and delete only the connection entries that they create manually.
AnyConnect retains only one current VPN Client Profile on the mobile device at a time. Upon startup of an automatic or manual VPN connection, the new VPN profile entirely replaces the current profile. If the user manually deletes the current profile, the profile is removed and all connection entries defined in this profile are deleted.
Step 1 | Configure basic
VPN access.
See Configure VPN Access for procedures that are common to desktop and mobile endpoints considering the following exceptions:
| ||||||
Step 2 | Configure Mobile
Specific Attributes:
| ||||||
Step 3 | Distribute the
VPN client profile in one of the following ways:
|
Enable logging on the mobile device and follow the troubleshooting instructions in the appropriate User Guide:
If following those instructions does not resolve the issue, try the following:
If problems persist, enable logging on the client and enable debug logging on the ASA. For details, refer to the release-appropriate Cisco ASA 5500-X Series Next-Generation Firewalls, Configuration Guides.