VPN Client
Overview
The IKE Mode Config feature within the firewall downloads DNS, WINS, default domain, and split tunnel mode attributes to the VPN Client. The split tunnel mode allows the firewall to direct packets to a network interface in clear text form or over an IPSec tunnel in encrypted form.
The vpngroup command set allows you to configure VPN Client policy attributes to be associated with a VPN group name and downloaded to the VPN Client(s) that are part of the given group. The purpose of these new commands is to configure the VPN Client policy groups.
This section shows two examples of how to configure the firewall and the VPN client for interoperability. The steps for configuring the VPN client version 2.5 and the Cisco VPN Client version 3.0, are the same, except where noted.
The first example shows use of the following supported features:
- Extended Authentication (Xauth) for user authentication
- RADIUS authorization for user services authorization
- IKE Mode Configuration for VPN IP address assignment
- Wildcard pre-share key for IKE authentication
The second example shows use of the following supported features:
- Extended Authentication (Xauth) for user authentication
- IKE Mode Configuration for VPN IP address assignment
- Digital certificate for IKE authentication
If the Cisco Secure VPN Client is already installed on the computer, uninstall it from the computer and ensure all directories containing this VPN client application are cleared of it before you install the VPN client or the Cisco VPN Client version 3.0.
Xauth, RADIUS, IKE Mode Config, and Wildcard Pre-Shared Key
With the vpngroup command set, you configure the firewall for a specified group of Cisco VPN 30e0 Client users, using the following parameters:
- Group name for a given group of VPN client users.
- Pre-shared key or group password used to authenticate the VPN access to the remote server
(firewall).This pre-share key is equivalent to the password that you enter within the Group Password field of the VPN client while configuring the group access information for a connection entry.
- Pool of local addresses to be assigned to the VPN group.
- (Optional) IP address of a DNS server to download to the VPN client.
- (Optional) IP address of a WINS server to download to the VPN client.
- (Optional) Default domain name to download to the VPN client.
- (Optional) Split tunneling enabled on the firewall allowing both encrypted and clear traffic between the VPN client and the firewall.
If split tunneling is not enabled, all traffic between the VPN client and the firewall will be encrypted.
- (Optional) Inactivity timeout setting for the VPN client. The default is 30 minutes.
On the VPN client, you would configure the vpngroup name and group password to match that which you configured on the firewall.
When the VPN client initiates ISAKMP with the firewall, the VPN group name and pre-share key are sent to the firewall. The firewall then uses the group name to look up the configured client policy attributes for the given VPN client and downloads the matching policy attributes to the client during the IKE negotiation.
Configuring the firewall
Follow these steps to configure the firewall to interoperate with the VPN client using Xauth, IKE Mode Configuration, AAA Authorization with RADIUS, and Wildcard Pre-Shared Key:
- Define AAA related parameters:
aaa-server radius protocol radius
aaa-server partnerauth protocol radius
aaa-server partnerauth ( dmz) host 192.168.101.2 abcdef timeout 5
- To configure the IKE policy:
isakmp enable outside isakmp policy 8 encr 3des isakmp policy 8 hash md5 isakmp policy 8 authentication pre-shareTo configure the VPN client version 3.0 or above, include the following step: isakmp policy 8 group 2
- To configure a wildcard, pre-shared key:
isakmp key cisco1234 address 0.0.0.0 netmask 0.0.0.0
- Create an access list that defines the firewall local network(s) requiring IPSec protection:
access-list 80 permit ip 10.0.0.0 255.255.255.0 10.1.1.0 255.255.255.0- Create access lists that define the services the VPN clients are authorized to use with the RADIUS server:
access-list 100 permit tcp 10.1.1.0 255.255.255.0 10.0.0.0 255.255.255.0 eq telnet
access-list 100 permit tcp 10.1.1.0 255.255.255.0 10.0.0.0 255.255.255.0 eq ftp
access-list 100 permit tcp 10.1.1.0 255.255.255.0 10.0.0.0 255.255.255.0 eq httpTo configure the authentication server with the vendor-specific acl=acl_ID identifier to specify the access-list ID. In this example, the access-list ID is 100. a entry in the authentication server would then be acl=100.
- To configure NAT 0:
nat (inside) 0 access-list 80- To configure a transform set that defines how the traffic will be protected:
crypto ipsec transform-set strong-des esp-3des esp-sha-hmac- Create a dynamic crypto map:
crypto dynamic-map cisco 4 set transform-set strong-desSpecify which transform sets are allowed for this dynamic crypto map entry.
- Add the dynamic crypto map set into a static crypto map set:
crypto map partner-map 20 ipsec-isakmp dynamic cisco
- Apply the crypto map to the outside interface:
crypto map partner-map interface outside
- Enable Xauth:
crypto map partner-map client authentication partnerauth- To configure IKE Mode Configuration related parameters:
ip local pool dealer 10.1.1.1-10.1.1.254To configure the VPN client version 2.5, include the following command in this step: crypto map partner-map client configuration address initiate
- To configure VPN client policy attributes to download to the VPN client:
vpngroup superteam address-pool dealer
vpngroup superteam dns-server 10.0.0.15
vpngroup superteam wins-server 10.0.0.15
vpngroup superteam default-domain example.com
vpngroup superteam split-tunnel 80
vpngroup superteam idle-time 1800The keyword "superteam" is the name of a VPN group. You will enter this VPN group name within the VPN client as part of the Group access information.
- Tell firewall to implicitly permit IPSec traffic:
sysopt connection permit-ipsecExample 6-2: VPN Access with Extended Authentication, RADIUS Authorization, IKE Mode Config, and Wildcard Pre-Shared Key
nameif ethernet0 outside security0 nameif ethernet1 inside security100 nameif ethernet2 dmz security10 enable password 8Ry2YjIyt7RRXU24 encrypted passwd 2KFQnbNIdI.2KYOU encrypted hostname SanJose domain-name example.com fixup protocol ftp 21 fixup protocol http 80 fixup protocol smtp 25 fixup protocol h323 1720 fixup protocol rsh 514 fixup protocol sqlnet 1521 names pager lines 24 no logging on interface ethernet0 auto interface ethernet1 auto interface ethernet2 auto mtu outside 1500 mtu inside 1500 mtu dmz 1500 ip address outside 209.165.200.229 255.255.255.224 ip address inside 10.0.0.1 255.255.255.0 ip address dmz 192.168.101.1 255.255.255.0 no failover failover ip address outside 0.0.0.0 failover ip address inside 0.0.0.0 failover ip address dmz 0.0.0.0 arp timeout 14400 nat (inside) 1 0.0.0.0 0.0.0.0 0 0 access-list 80 permit ip 10.0.0.0 255.255.255.0 10.1.1.0 255.255.255.0 access-list 100 permit tcp 10.1.1.0 255.255.255.0 10.0.0.0 255.255.255.0 eq telnet access-list 100 permit tcp 10.1.1.0 255.255.255.0 10.0.0.0 255.255.255.0 eq ftp access-list 100 permit tcp 10.1.1.0 255.255.255.0 10.0.0.0 255.255.255.0 eq http nat (inside) 0 access-list 80 global (outside) 1 209.165.200.45-209.165.200.50 netmask 255.255.255.224 route outside 0.0.0.0 0.0.0.0 209.165.200.227 1 timeout xlate 3:00:00 conn 1:00:00 half-closed 0:10:00 udp 0:02:00 timeout rpc 0:10:00 h323 0:05:00 timeout uauth 0:05:00 absolute ip local pool dealer 10.1.1.1-10.1.1.254 aaa-server TACACS+ protocol tacacs+ aaa-server RADIUS protocol radius aaa-server partnerauth protocol tacacs+ aaa-server partnerauth ( dmz) host 192.168.101.2 abcdef timeout 5 no snmp-server location no snmp-server contact snmp-server community public no snmp-server enable traps crypto map partner-map client configuration address initiate; crypto ipsec transform-set strong-des esp-3des esp-sha-hmac crypto dynamic-map cisco 4 set transform-set strong-des crypto map partner-map 20 ipsec-isakmp dynamic cisco crypto map partner-map client authentication partnerauth crypto map partner-map interface outside isakmp key cisco1234 address 0.0.0.0 netmask 0.0.0.0 isakmp enable outside isakmp policy 8 authentication pre-share isakmp policy 8 encryption 3des isakmp policy 8 hash md5 isakmp policy 8 group 2 vpngroup superteam address-pool dealer vpngroup superteam dns-server 10.0.0.15 vpngroup superteam wins-server 10.0.0.15 vpngroup superteam default-domain example.com vpngroup superteam split-tunnel 80 vpngroup superteam idle-time 1800 sysopt connection permit-ipsec telnet timeout 5 terminal width 80The command crypto map partner-map client configuration address initiate is only required to configure the VPN client version 2.5. The command isakmp policy 8 group 2 is only required to configure the Cisco VPN Client version 3.0.
Configuring the VPN client
This section describes how to configure the VPN client to match the configurations in "Configuring the firewall." It is assumed the VPN client is already installed on the system and is configured for general use. You can find the VPN client documentation online at the following website:
http://www.cisco.com/univercd/cc/td/doc/product/vpn/index.htm
To allow the VPN client to gain VPN access to the firewall using a pre-share key, create one connection entry for the VPN client that identifies the following:
- Host name or IP address of the remote server you want to access, which in this case is a firewall
- Name of the VPN group you belong to
- Pre-shared key or password of the VPN group you belong to
Follow these steps to configure the VPN client to interoperate with the firewall:
- Click Start>Programs>Cisco Systems VPN 3000 Client>VPN Dialer.
- At the VPN Client main dialog box, click New.
- Enter a unique name for the connection.
- (Optional) Enter a description of this connection.
- Click Next.
The second New Connection Entry Wizard dialog box appears.
- Enter the host name or IP address of the remote firewall you want to access.
- Click Next.
The third New Connection Entry Wizard dialog box appears.
- Click Group Access Information.
- Enter the name of the VPN group to which you belong and the password for you VPN group.
The password displays in asterisks.
- Click Next.
The fourth New Connection Entry Wizard dialog box appears.
- Review the connection entry name.
- Click Finish.
Xauth, IKE Mode Config, and Digital Certificates
For example purposes, the firewall is shown to interoperate with the Entrust CA server. The specific CA-related commands you enter depend on the CA you are using.
Both the firewall and the VPN client are required to obtain digital certificates from the same CA server so that both are certified by the same root CA server. The firewall only supports use of one root CA server per VPN peer.
The firewall supports CA servers developed by VeriSign, Entrust, Baltimore Technologies, and Microsoft. See "Using Certification Authorities" in "Basic VPN Configuration," for general configuration procedures.
On the firewall, configure the unit to interoperate with the CA server to obtain a digital certificate. With the vpngroup command set, configure the firewall for a specified group of VPN client users, using the following parameters:
- Pool of local addresses to be assigned to the VPN group
- (Optional) IP address of a DNS server to download to the VPN client
- (Optional) IP address of a WINS server to download to the VPN client
- (Optional) Default domain name to download to the VPN client
- (Optional) Split tunneling on the firewall, which allows both encrypted and clear traffic between the VPN client and the firewall.
If split tunnelling is not enabled, all traffic between the VPN client and the firewall will be encrypted.
- (Optional) Inactivity timeout for the VPN client. The default is 30 minutes.
On the VPN client, configure the client to obtain a digital certificate. After obtaining the certificate, set up the VPN client connection entry to use the digital certificate.
When the VPN client initiates ISAKMP with the firewall, the digital certificate is sent to the firewall. The firewall uses the digital certificate to look up the configured client policy attributes for the given VPN client and downloads the matching policy attributes to the client during the IKE negotiation.
Configuring the firewall
Follow these steps to configure the firewall to interoperate with the VPN client:
- Define AAA related parameters:
aaa-server TACACS+ protocol tacacs+
aaa-server partnerauth protocol tacacs+
aaa-server partnerauth ( dmz) host 192.168.101.2 abcdef timeout 5- Define a host name:
hostname SanJose- Define the domain name:
domain-name example.com
- Generate the firewall RSA key pair:
ca generate rsa key 512This command is entered at the command line and does not get stored in the configuration.
- Declare a CA:
ca identity abcd 209.165.200.228 209.165.200.228This command is stored in the configuration.
- To configure the parameters of communication between the firewall and the CA:
ca configure abcd ra 1 20 crloptionalThis command is stored in the configuration. 1 is the retry period, 20 is the retry count, and the crloptional option disables CRL checking.
- Authenticate the CA by obtaining its public key and its certificate:
ca authenticate abcdThis command is entered at the command line and does not get stored in the configuration:
- Request signed certificates from the CA for the firewall's RSA key pair:
ca enroll abcd ciscoBefore entering this command, contact the CA administrator because they will have to authenticate the firewall manually before granting its certificate(s):
"cisco" is a challenge password. This can be anything. This command is entered at the command line and does not get stored in the configuration.
- Verify that the enrollment process was successful using the show ca certificate command:
show ca certificate- Save keys and certificates, and the CA commands (except those indicated) in Flash memory:
ca save all
write memory- To configure the IKE policy:
isakmp enable outside
isakmp policy 8 encr 3des
isakmp policy 8 hash md5
isakmp policy 8 authentication rsa-sig- Create an access list that defines the firewall local network(s) requiring IPSec protection:
access-list 90 permit ip 10.0.0.0 255.255.255.0 10.1.1.0 255.255.255.0
- To configure NAT 0:
nat (inside) 0 access-list 90- To configure a transform set that defines how the traffic will be protected:
crypto ipsec transform-set strong-des esp-3des esp-sha-hmac
- Create a dynamic crypto map. Specify which transform sets are allowed for this dynamic crypto map entry:
crypto dynamic-map cisco 4 set transform-set strong-des- Add the dynamic crypto map set into a static crypto map set:
crypto map partner-map 20 ipsec-isakmp dynamic cisco- Apply the crypto map to the outside interface:
crypto map partner-map interface outside- Tell firewall to implicitly permit IPSec traffic:
sysopt connection permit-ipsec- Enable Xauth:
crypto map partner-map client authentication partnerauth- To configure IKE Mode Configuration related parameters:
ip local pool dealer 10.1.1.1-10.1.1.254
crypto map partner-map client configuration address initiate- To configure VPN client policy attributes to download to the VPN client:
vpngroup superteam address-pool dealer
vpngroup superteam dns-server 10.0.0.15
vpngroup superteam wins-server 10.0.0.15
vpngroup superteam default-domain example.com
vpngroup superteam access-list 90
vpngroup superteam idle-time 1800
Example 6-3: VPN Access with Extended Authentication, RADIUS Authorization, IKE Mode Config, and Digital Certificates
nameif ethernet0 outside security0 nameif ethernet1 inside security100 nameif ethernet2 dmz security10 enable password 8Ry2YjIyt7RRXU24 encrypted passwd 2KFQnbNIdI.2KYOU encrypted hostname SanJose domain-name example.com fixup protocol ftp 21 fixup protocol http 80 fixup protocol smtp 25 fixup protocol h323 1720 fixup protocol rsh 514 fixup protocol sqlnet 1521 names pager lines 24 no logging on interface ethernet0 auto interface ethernet1 auto interface ethernet2 auto mtu outside 1500 mtu inside 1500 mtu dmz 1500 ip address outside 209.165.200.229 255.255.255.224 ip address inside 10.0.0.1 255.255.255.0 ip address dmz 192.168.101.1 255.255.255.0 no failover failover ip address outside 0.0.0.0 failover ip address inside 0.0.0.0 failover ip address dmz 0.0.0.0 arp timeout 14400 nat (inside) 1 0.0.0.0 0.0.0.0 0 0 access-list 90 permit ip 10.0.0.0 255.255.255.0 10.1.1.0 255.255.255.0 access-list 100 permit tcp 10.1.1.0 255.255.255.0 10.0.0.0 255.255.255.0 eq telnet access-list 100 permit tcp 10.1.1.0 255.255.255.0 10.0.0.0 255.255.255.0 eq ftp access-list 100 permit tcp 10.1.1.0 255.255.255.0 10.0.0.0 255.255.255.0 eq http nat (inside) 0 access-list 90 global (outside) 1 209.165.200.45-209.165.200.50 netmask 255.255.255.224 route outside 0.0.0.0 0.0.0.0 209.165.200.227 1 timeout xlate 3:00:00 conn 1:00:00 half-closed 0:10:00 udp 0:02:00 timeout rpc 0:10:00 h323 0:05:00 timeout uauth 0:05:00 absolute ip local pool dealer 10.1.1.1-10.1.1.254 aaa-server TACACS+ protocol tacacs+ aaa-server RADIUS protocol radius aaa-server partnerauth protocol tacacs+ aaa-server partnerauth ( dmz) host 192.168.101.2 abcdef timeout 5 no snmp-server location no snmp-server contact snmp-server community public no snmp-server enable traps crypto ipsec transform-set strong-des esp-3des esp-sha-hmac crypto dynamic-map cisco 4 set transform-set strong-des crypto map partner-map 20 ipsec-isakmp dynamic cisco crypto map partner-map client authentication partnerauth crypto map partner-map interface outside isakmp enable outside isakmp policy 8 encryption 3des isakmp policy 8 hash md5 isakmp policy 8 authentication rsa-sig vpngroup superteam address-pool dealer vpngroup superteam dns-server 10.0.0.15 vpngroup superteam wins-server 10.0.0.15 vpngroup superteam default-domain example.com vpngroup superteam split-tunnel 90 vpngroup superteam idle->ime 1800 ca identity abcd 209.165.200.228 209.165.200.228 ca configure abcd ra 1 100 crloptional sysopt connection permit-ipsec telnet timeout 5 terminal width 80The command crypto map partner-map client configuration address initiate is only required to configure the VPN client, version 2.5.
Configuring the VPN client
This section describes how to configure the VPN client to match the configurations in "Configuring the firewall." It is assumed the VPN client is already installed on the system and is configured for general use. You can find the VPN client documentation online at the following website:
http://www.cisco.com/univercd/cc/td/doc/product/vpn/index.htm
For the VPN client to gain VPN access to the firewall using a digital certificate, obtain a digital certificate from a CA server. Once you have this certificate, create a VPN client connection entry that identifies the following:
- Host name or IP address of the remote server you want to access, which in this case is a firewall.
- Certificate name. (This should already be installed on the VPN client.)
When configuring the VPN client certificate, be sure to match the VPN group name you specified within the associated vpngroup commands in the firewall configuration. To specify a VPN group name within the VPN client certificate, enter the name of the VPN group in the "Organization Unit" (OU) field. The firewall will use this VPN group name to match a given VPN client policy. For example, you would enter "superteam" in the OU field if the name of the VPN group is "superteam." You would use "superteam" as the VPN group name to configure on the firewall using the vpngroup commands.
This section does not cover how to obtain a digital certificate for the VPN client. For information about obtaining a certificate for the VPN client, refer to the chapter "Obtaining a Certificate" within the VPN 3000 Client User Guide.
To obtain the detailed steps to follow when configuring the VPN client, refer to the chapter "Configuring the VPN Client" in the VPN 3000 Client User Guide.
Follow these steps to configure the VPN client:
- Click Start | Programs | VPN client | VPN Dialer.
- At the VPN client main dialog box, click New.
The first New Connection Entry Wizard dialog box appears.
- Enter a unique name for the connection.
- (Optional) Enter a description of this connection.
- Click Next.
The second New Connection Entry Wizard dialog box appears.
- Enter the host name or IP address of the remote firewall you want to access.
- Click Next.
The third New Connection Entry Wizard dialog box appears.
- Click Certificate.
- Click the name of the certificate you are using.
- Click Next.
The fourth New Connection Entry Wizard dialog box appears.
- Review the connection entry name.
- Click Finish.