Setup Cisco Anyconnect Vpn Server



Introduction

This document provides a configuration example for Firepower Threat Defense (FTD) version 6.2.2 and later, that allows remote access VPN to use Transport Layer Security (TLS) and Internet Key Exchange version 2 (IKEv2). As a client, Cisco AnyConnect will be used, which is supported on multiple platforms.

Requirements

Nov 16, 2011 How to configure Cisco easy VPN server on port 443 Correct, there will be no UDP500, no UDP4500, no ESP, only TCP443. Of course, you need to configure the client to use this port, it does not 'auto-discover' the port. Create an AnyConnect Client Profile Object. In the CDO navigation bar at the left, click Objects. Click the blue plus button. Click RA VPN Objects (ASA & FTD) AnyConnect Client Profile. In the Object Name field, enter a name for the AnyConnect client profile. Click Browse and select the file you created using the Profile Editor.

  1. If you configure a fully-qualified hostname (FQDN) for the outside interface when configuring the remote access VPN connection, the system creates a client profile for you. This profile enables the default settings. You must create and upload VPN AnyConnect client profiles only if you want non-default behavior.
  2. Find VPN Client (Cisco AnyConnect). Under Downloads select the appropriate link for the operating system of your computer or device. Result: You will be redirected to the ITS (Knowledge Base) for Accounts, Access, and Connectivity – VPN webpage. Select the appropriate link for the operating system for your computer or device.

Cisco recommends that you have knowledge of these topics:

  • Basic VPN, TLS and IKEv2 knowledge
  • Basic Authentication, Authorization, and Accounting (AAA) and RADIUS knowledge
  • Experience with Firepower Management Center

Components used

The information in this document is based on these software and hardware versions:

  • Cisco FTD 6.2.2
  • AnyConnect 4.5

Configuration

1. Preresiquites

In order to go through Remote Access wizard in Firepower Management Center, first you will need to follow these steps:

  • create a certificate used for server authentication,
  • configure RADIUS or LDAP server for user authentication,
  • create pool of addresses for VPN users,
  • upload AnyConnect images for different platforms.

a) importing SSL certificate

AnyConnect Remote Access VPN Configuration On FTD - Cisco


Certificates are essential when you configure AnyConnect. Only RSA based certificates are supported in SSL and IPSec. Elliptic Curve Digital Signature Algorithm certificates (ECDSA) are supported in IPSec, but it's not possible to deploy new AnyConnect package or XML profile when ECDSA based certificate is used. It means that you can use it for IPSec, but you will have to predeploy AnyConnect package and XML profile to every user and any change in XML profile will have to be manually reflected on each client (bug: CSCtx42595). Additionally the certificate should have Subject Alternative Name extension with DNS name and/or IP address to avoid errors in web browsers.

There are several methods to obtain a certificate on FTD appliance, but the safe and easy one is to create a Certificate Signing Request (CSR), sign it and then import certificate issued for public key, which was in CSR. Here is how to do that:

  • Go to Objects > Object Management > PKI > Cert Enrollment, click on Add Cert Enrollment:
  • Select Enrollment Type and paste Certificate Authority (CA) certificate,
  • Then go to second tab and select Custom FQDN and fill all necessary fields, eg.:
  • On the third tab, select key type, choose name and size. For RSA, 2048 bytes is minimum.
  • Click save and go to Devices > Certificates > Add > New Certificate. Then select Device, and under Cert Enrollment select the trustpoint which you just created, click Add:
  • Later, next to the trustpoint name, click on icon, then Yes and after that copy CSR to CA and sign it. Certificate should have attributes as normal HTTPS server.
  • After receiving certificate from CA in base64 format, select it from the disk and click Import. When this succeeds, you should see:


b) configure RADIUS server

On FTD platftorm, local user database cannot be used, so you need RADIUS or LDAP server for user authentication. To configure RADIUS:

  • Go to Objects > Object Management > RADIUS Server Group > Add RADIUS Server Group.
  • Fill the name and add IP address along with shared secret, click Save:
  • After that you should see server on the list:

c) creating pool of addresses for VPN users

  • Go to Objects > Object Management > Address Pools > Add IPv4 Pools:
  • Put the name and range, mask is not needed:

d) creating XML profile

  • Download Profile Editor from Cisco site and open it.
  • Go to Server List > Add...
  • Put Display Name and FQDN. You should see entries in Server List:
  • Click OK and File > Save as...

e) uploading AnyConnect images

Configure cisco anyconnect vpn server
  • Download pkg images from Cisco site.
  • Go to Objects > Object Management > VPN > AnyConnect File > Add AnyConnect File.
  • Type the name and select PKG file from disk, click Save:
  • Add more packages depending on your requirements.

2. Remote access wizard

  • Go to Devices > VPN > Remote Access > Add a new configuration.
  • Name the profile according to your needs, select FTD device:

Cisco VPN On The ASA

  • In step Connection Profile, type Connection Profile Name, select Authentication Server and Address Pools which you have created earlier:
  • Click on Edit Group Policy and on the tab AnyConnect, select Client Profile, then click Save:
  • On the next page, select AnyConnect images and click Next:
  • On the next screen, select Network Interface and DeviceCertificates:
  • When everything is configured correctly, you can click Finish and then Deploy:
  • This will copy whole configuration along with certificates and AnyConnect packages to FTD appliance.

Connection

To connect to FTD you need to open a browser, type DNS name or IP address pointing to the outside interface, in this example https://vpn.cisco.com. You will then have to login using credentials stored in RADIUS server and follow instructions on the screen. Once AnyConnect installs, you then need to put the same address in AnyConnect window and click Connect.

Limitations

Currently unsupported on FTD, but available on ASA:

  • Double AAA Authentication
  • Dynamic Access Policy
  • Host Scan
  • ISE posture
  • RADIUS CoA
  • VPN load-balancer
  • Local authentication (Enhancement: CSCvf92680)
  • LDAP attribute map
  • AnyConnect customization
  • AnyConnect scripts
  • AnyConnect localization
  • Per-app VPN
  • SCEP proxy
  • WSA integration
  • SAML SSO
  • Simultaneous IKEv2 dynamic crypto map for RA and L2L VPN
  • AnyConnect modules (NAM, Hostscan, AMP Enabler etc.) – DART is installed by default
  • TACACS, Kerberos (KCD Authentication and RSA SDI)
  • Browser Proxy

Security considerations

You need to remember that by default, sysopt connection permit-vpn option is disabled. This means, that you need to allow traffic coming from pool of addresses on outside interface via Access Control Policy. Although the pre-filter or access-control rule is added intending to allow VPN traffic only, if clear-text traffic happens to match the rule criteria, it is erroneously permitted.

There are two approaches to this problem. First, TAC recommended option, is to enable Anti-Spoofing (on ASA known as Unicast Reverse Path Forwarding - uRPF) for outside interface, and the second is to enable sysopt connection permit-vpn to bypass Snort inspection completely. First option allows to normally inspect traffic going to and from VPN users.

Cached

a) Enabling uRPF

How To Setup A Cisco VPN - Alphr

  • create a null route for network used for remote access users, defined in section c. Just go to Devices > Device Management > Edit > Routing > Static Route > Add route:
  • secondly, you need to enable uRPF on the interface which is terminating VPN connections. You can find it in Devices > Device Management > Edit > Interfaces > Edit > Advanced > Security Configuration > Enable Anti Spoofing:

When user is connected, 32-bit route is installed for that user in routing table. Clear text traffic sourced from other, unused IP addresses from the pool is dropped by uRFP. Anti-Spoofing has been described on this page:

b) Enabling sysopt connection permit-vpn option

Cisco Anyconnect Vpn Client Download

  • If you have version 6.2.3 or above, there is an option to do it during wizard or under Devices > VPN > Remote Access > VPN Profile > Access Interfaces:
  • For versions prior to 6.2.3, go to Objects > Object Management > FlexConfig > Text Object > Add Text Object.
  • Create a text object variable, for example: vpnSysVar a single entry with value 'sysopt'
  • Go to Objects > Object Management > FlexConfig > FlexConfig Object > Add FlexConfig Object.
  • Create FlexConfig object with CLI 'connection permit-vpn':
  • Insert the text object variable in flexconfig object at the start of CLI as '$vpnSysVar connection permit-vpn', click Save:

  • Apply the FlexConfig object as Append and select deployment to Everytime:
  • Go to Devices > FlexConfig and edit existing policy or create a new one with New Policy button.
  • Add just created FlexConfig, click Save.
  • Deploy the configuration to provision 'sysopt connection permit-vpn' command on the device.

Setup Cisco Anyconnect Vpn Server

This however, will remove the possibility to use Access Control Policy to inspect traffic coming from the users. You can still use VPN filter or downloadable ACL to filter user traffic.

If you see problems with Snort dropping packets from VPN users, contact TAC referencing CSCvg91399.