Table Of Contents
Configuring the SA-VAM2
Overview
Configuration Tasks
Using the EXEC Command Interpreter
Disabling OIR
Configuring an IKE Policy
Configuring a Transform Set
Defining a Transform Set
IPSec Protocols: AH and ESP
Selecting Appropriate Transforms
The Crypto Transform Configuration Mode
Changing Existing Transforms
Transform Example
Configuring IPSec
Ensuring That Access Lists Are Compatible with IPSec
Setting Global Lifetimes for IPSec Security Associations
Creating Crypto Access Lists
Creating Crypto Map Entries
Creating Dynamic Crypto Maps
Applying Crypto Map Sets to Interfaces
Configuring Compression
Configure IKE Policy
Configure IKE Preshared Key
Configure ipsec transform set
Configure access-list
Configure crypto map
Apply crypto map to the Interface
Monitoring and Maintaining IPSec
IPSec Configuration Example
Verifying IKE and IPSec Configurations
Verifying the Configuration
Configuration Examples
Configuring IKE Policies Example
Configuring IPSec Configuration Example
Configuring Compression Example
Basic IPSec Configuration Illustration
Router A Configuration
Router B Configuration
Troubleshooting Tips
Monitoring and Maintaining the SA-VAM2
Configuring the SA-VAM2
This chapter contains the information and procedures needed to configure the Service Adapter VPN Acceleration Module 2 (SA-VAM2). This chapter includes the following sections:
•
Overview
•
Configuration Tasks
•
Configuration Examples
•
Basic IPSec Configuration Illustration
•
Troubleshooting Tips
•
Monitoring and Maintaining the SA-VAM2
Overview
The SA-VAM2 provides encryption services for any interface in the Cisco 7301 router and the Cisco 7200VXR routers with a network processing engine 225 (NPE-225), 400 (NPE-400), and G1 (NPE-G1). If you have previously configured IPSec on the router and you install a SA-VAM2, the SA-VAM2 automatically performs encryption services. If you install a second SA-VAM2, both SA-VAM2s should be automatically enabled.
Note
The Cisco 7301 router supports a single SA-VAM2.
Note
When installing two SA-VAM2s on the Cisco 7200VXR routers, per packet load balancing is not supported. With dual SA-VAM2s installed, load balancing is done on a per IPSec tunnel basis, rather than on a per packet basis.
There are no interfaces to configure on the SA-VAM2.
This section only contains basic configuration information for enabling encryption and IPSec tunneling services. Refer to the "IP Security and Encryption" part of the Security Configuration Guide and the Security Command Reference guide for detailed configuration information on IPSec, IKE, and CA.
Configuration Tasks
Note
The Cisco 7200 VXR Port Adapter Jacket Card requires no configuration. Configure the SA-VAM2 as described in this section.
On power up if the enabled LED is on, the SA-VAM2 is fully functional and does not require any configuration commands. However, for the SA-VAM2 to provide encryption services, you must complete the steps in the following sections:
•
Using the EXEC Command Interpreter (required)
•
Disabling OIR (required)
•
Configuring an IKE Policy (required)
•
Configuring a Transform Set (required)
•
Configuring IPSec (required)
•
Configuring Compression (optional)
•
IPSec Configuration Example (optional)
•
Verifying IKE and IPSec Configurations (optional)
Note
You can configure a static crypto map, create a dynamic crypto map, or add a dynamic crypto map into a static crypto map. Refer to the online publication, Configuring the VPN Acceleration Module at http://www.cisco.com/univercd/cc/td/doc/product/core/7100/7100pacn/vam1/vamconf.htm.
Optionally, you can configure certification authority (CA) interoperability (refer to the "Configuring Certification Authority Interoperability" chapter in the Security Configuration Guide).
Using the EXEC Command Interpreter
You modify the configuration of your router through the software command interpreter called the EXEC (also called enable mode). You must enter the privileged level of the EXEC command interpreter with the enable command before you can use the configure command to configure a new interface or change the existing configuration of an interface. The system prompts you for a password if one has been set.
The system prompt for the privileged level ends with a pound sign (#) instead of an angle bracket (>). At the console terminal, use the following procedure to enter the privileged level:
Step 1
At the user-level EXEC prompt, enter the enable command. The EXEC prompts you for a privileged-level password as follows:
Step 2
Enter the password (the password is case sensitive). For security purposes, the password is not displayed.
When you enter the correct password, the system displays the privileged-level system prompt (#):
This completes the procedure for entering the privileged level of the EXEC command interpreter.
Disabling OIR
Online insertion and removal (OIR) on the SA-VAM2 is enabled by default.
To disable OIR of the SA-VAM2, use the following commands, starting in global configuration mode:
| |
Command
|
Purpose
|
Step 1
|
no crypto engine accelerator <slot number>
|
Disables OIR of the SA-VAM22.
|
Step 2
|
crypto engine accelerator <slot number>
|
Enables OIR of the SA-VAM2.
|
This completes the procedure for disabling and enabling OIR.
Configuring an IKE Policy
If you do not specify a value for a parameter, the default value is assigned. For information on default values, refer to the "IP Security and Encryption" chapter of the Security Command Reference publication.
To configure an IKE policy, use the following commands beginning in global configuration mode:
| |
Command
|
Purpose
|
Step 1
|
Router(config)# crypto isakmp policy
priority
|
Defines an IKE policy and enters Internet Security Association Key Management Protocol (ISAKMP) policy configuration (config-isakmp) mode.
|
Step 2
|
Router(config-isakmp)# encryption {des |
3des | aes | aes 192 | aes 256}
|
Specifies the encryption algorithm within an IKE policy.
• des—Specifies 56-bit DES as the encryption algorithm.
• 3des—Specifies 168-bit DES as the encryption algorithm.
• aes—Specifies 128-bit AES as the encryption algorithm.
• aes 192—Specifies 192-bit AES as the encryption algorithm.
• aes 256—Specifies 256-bit AES as the encryption algorithm.
|
Step 3
|
Router(config-isakmp)# authentication
{rsa-sig | rsa-encr | pre-share}
|
(Optional) Specifies the authentication method within an IKE policy.
• rsa-sig—Specifies Rivest, Shamir, and Adelman (RSA) signatures as the authentication method.
• rsa-encr—Specifies RSA encrypted nonces as the authentication method.
Note Beginning with Cisco IOS Release 12.3(10), rsa-encr is now enabled for SA-VAM2 crypto cards.
• pre-share—Specifies preshared keys as the authentication method.
Note If this command is not enabled, the default value (rsa-sig) will be used.
|
Step 4
|
Router(config-isakmp)# lifetime seconds
|
(Optional) Specifies the lifetime of an IKE security association (SA).
seconds—Number of seconds that each SA should exist before expiring. Use an integer from 60 to 86,400 seconds.
Note If this command is not enabled, the default value (86,400 seconds [one day]) will be used.
|
Step 5
|
Router(config-isakmp)# hash {sha | md5}
|
(Optional) Specifies the hash algorithm within an IKE policy.
• sha—Specifies SHA-1 (HMAC variant) as the hash algorithm.
• md5—Specifies MD5 (HMAC variant) as the hash algorithm.
Note If this command is not enabled, the default value (sha) will be used.
|
Step 6
|
Router(config-isakmp)# group {1 | 2 | 5}
|
(Optional) Specifies the Diffie-Hellman (DH) group identifier within an IKE policy.
1—Specifies the 768-bit DH group.
2—Specifies the 1024-bit DH group.
5—Specifies the 1536-bit DH group.
Note If this command is not enabled, the default value (768-bit) will be used.
|
For detailed information on creating IKE policies, refer to the "Configuring Internet Key Exchange Security Protocol" chapter in the Security Configuration Guide publication.
Configuring a Transform Set
See the Advanced Encryption Standard (AES) feature module for more information on configuring a transform set.
This section includes the following topics:
•
Defining a Transform Set
•
IPSec Protocols: AH and ESP
•
Selecting Appropriate Transforms
•
The Crypto Transform Configuration Mode
•
Changing Existing Transforms
•
Transform Example
A transform set is an acceptable combination of security protocols, algorithms, and other settings to apply to IPSec protected traffic. During the IPSec security association (SA) negotiation, the peers agree to use a particular transform set when protecting a particular data flow.
Defining a Transform Set
A transform set is a combination of security protocols and algorithms. During the IPSec security association negotiation, peers agree to use a specific transform set to protect a particular data flow.
To define a transform set, use the following commands, starting in global configuration mode:
| |
Command
|
Purpose
|
Step 1
|
Router(config)# crypto ipsec
transform-set transform-set-name
transform1 [transform2 [transform3]]
|
Defines a transform set and enters crypto transform configuration mode.
• transform-set-name—Specifies the name of the transform set to create (or modify).
• transform1 [transform2 [transform3] [transform4]]—Defines the IPSec security protocols and algorithms. Accepted transform values are described in Table 4-1.
|
Step 2
|
Router(cfg-crypto-tran)# mode [tunnel |
transport]
|
(Optional) Changes the mode associated with the transform set. The mode setting is only applicable to traffic whose source and destination addresses are the IPSec peer addresses; it is ignored for all other traffic. (All other traffic is in tunnel mode only.)
|
Step 3
|
end
|
Exits the crypto transform configuration mode to enabled mode.
|
Step 4
|
clear crypto sa
or
clear crypto sa peer {ip-address |
peer-name}
or
clear crypto sa map map-name
or
clear crypto sa spi destination-address
protocol spi
|
Clears existing IPSec security associations so that any changes to a transform set take effect on subsequently established security associations (SAs). (Manually established SAs are reestablished immediately.)
Using the clear crypto sa command without parameters clears out the full SA database, which clears out active security sessions. You may also specify the peer, map, or entry keywords to clear out only a subset of the SA database.
|
Table 4-1shows allowed transform combinations for the AH and ESP protocols.
Table 4-1 Allowed Transform Combinations
Transform type
|
Transform
|
Description
|
AH Transform (Pick up to one.)
|
ah-md5-hmac
ah-sha-hmac
|
AH with the MD5 (Message Digest 5) (HMAC variant) authentication algorithm
AH with the SHA (Secure Hash Algorithm) (HMAC variant) authentication algorithm
|
ESP Encryption Transform (Note: If an ESP Authentication Transform is used, you must pick one.)
|
esp-aes
esp-aes 192
esp-aes 256
esp-des
esp-3des
esp-null
|
ESP with the 128-bit Advanced Encryption Standard (AES) encryption algorithm
ESP with the 192-bit AES encryption algorithm
ESP with the 256-bit AES encryption algorithm
ESP with the 56-bit Data Encryption Standard (DES) encryption algorithm
ESP with the 168-bit DES encryption algorithm (3DES or Triple DES)
Null encryption algorithm
|
ESP Authentication Transform (Pick up to one.)
|
esp-md5-hmac
esp-sha-hmac
|
ESP with the MD5 (HMAC variant) authentication algorithm
ESP with the SHA (HMAC variant) authentication algorithm
|
IP Compression Transform (Pick up to one.)
|
comp-lzs
|
IP compression with the Lempel-Ziv-Stac (LZS) algorithm
|
Examples of acceptable transform combinations are as follows:
•
ah-md5-hmac
•
esp-des
•
esp-3des and esp-md5-hmac
•
ah-sha-hmac and esp-des and esp-sha-hmac
•
comp-lzs
The parser will prevent you from entering invalid combinations; for example, once you specify an AH transform it will not allow you to specify another AH transform for the current transform set.
IPSec Protocols: AH and ESP
Both the AH and ESP protocols implement security services for IPSec.
AH provides data authentication and antireplay services.
ESP provides packet encryption and optional data authentication and antireplay services.
ESP encapsulates the protected data—either a full IP datagram (or only the payload)—with an ESP header and an ESP trailer. AH is embedded in the protected data; it inserts an AH header immediately after the outer IP header and before the inner IP datagram or payload. Traffic that originates and terminates at the IPSec peers can be sent in either tunnel or transport mode; all other traffic is sent in tunnel mode. Tunnel mode encapsulates and protects a full IP datagram, while transport mode encapsulates/protects the payload of an IP datagram. For more information about modes, refer to the mode (IPSec) command description.
Selecting Appropriate Transforms
The following tips may help you select transforms that are appropriate for your situation:
•
If you want to provide data confidentiality, include an ESP encryption transform.
•
If you want to ensure data authentication for the outer IP header as well as the data, include an AH transform. (Some consider the benefits of outer IP header data integrity to be debatable.)
•
If you use an ESP encryption transform, also consider including an ESP authentication transform or an AH transform to provide authentication services for the transform set.
•
If you want data authentication (either using ESP or AH) you can choose from the MD5 or SHA (HMAC keyed hash variants) authentication algorithms. The SHA algorithm is generally considered stronger than MD5 but is slightly slower.
•
Note that some transforms might not be supported by the IPSec peer.
Note
If a user enters an IPSec transform that the hardware (the IPSec peer) does not support, a warning message will be displayed immediately after the crypto ipsec transform-set command is entered.
•
In cases where you need to specify an encryption transform but do not actually encrypt packets, you can use the esp-null transform.
Suggested transform combinations follow:
•
esp-eas and esp-sha-hmac
•
ah-sha-hmac and esp-eas and esp-sha-hmac
The Crypto Transform Configuration Mode
After you issue the crypto ipsec transform-set command, you are put into the crypto transform configuration mode. While in this mode, you can change the mode to tunnel or transport. (These are optional changes.) After you have made these changes, type exit to return to global configuration mode. For more information about these optional changes, refer to the match address (IPSec) and mode (IPSec) command descriptions.
Changing Existing Transforms
If one or more transforms are specified in the crypto ipsec transform-set command for an existing transform set, the specified transforms will replace the existing transforms for that transform set.
If you change a transform set definition, the change is only applied to crypto map entries that reference the transform set. The change will not be applied to existing SAs, but will be used in subsequent negotiations to establish new SAs. If you want the new settings to take effect sooner, you can clear all or part of the SA database by using the clear crypto sa command.
Transform Example
The following example defines two transform sets. The first transform set will be used with an IPSec peer that supports the newer ESP and AH protocols. The second transform set will be used with an IPSec peer that only supports the older transforms.
crypto ipsec transform-set newer esp-3des esp-sha-hmac
crypto ipsec transform-set older ah-rfc-1828 esp-rfc1829
The following example is a sample warning message that is displayed when a user enters an IPSec transform that the hardware does not support:
crypto ipsec transform transform-1 esp-aes 256 esp-md5
WARNING:encryption hardware does not support transform
esp-aes 256 within IPSec transform transform-1
Configuring IPSec
This section includes the following topics:
•
Ensuring That Access Lists Are Compatible with IPSec (required)
•
Setting Global Lifetimes for IPSec Security Associations (required)
•
Creating Crypto Access Lists (required)
•
Creating Crypto Map Entries (required)
•
Creating Dynamic Crypto Maps (required)
•
Applying Crypto Map Sets to Interfaces (required)
•
Verifying the Configuration (optional)
For IPSec configuration examples, refer to the "IPSec Configuration Example".
See the "Configuring IPSec Network Security" of the Cisco IOS Security Configuration Guide for more information on configuring IPSec.
Ensuring That Access Lists Are Compatible with IPSec
IKE uses UDP port 500. The IPSec Encapsulating Security Payload (ESP) and Authentication Header (AH) protocols use protocol numbers 50 and 51. Ensure that your interface access lists are configured so that protocol numbers 50, 51, and UDP port 500 traffic are not blocked at interfaces used by IPSec. In some cases you might need to add a statement to your access lists to explicitly permit this traffic.
Setting Global Lifetimes for IPSec Security Associations
You can change the global lifetime values which are used when negotiating new IPSec security associations. (These global lifetime values can be overridden for a particular crypto map entry).
These lifetimes only apply to security associations established via IKE. Manually established security associations do not expire.
To change a global lifetime for IPSec security associations, use one or more of the following commands in global configuration mode:
Step
|
Command
|
Purpose
|
Step 1
|
Router(config)# crypto ipsec
security-association lifetime seconds seconds
|
Changes the global "timed" lifetime for IPSec SAs.
This command causes the security association to time out after the specified number of seconds have passed.
|
Step 2
|
Router(config)# crypto ipsec
security-association lifetime kilobytes
kilobytes
|
Changes the global "traffic-volume" lifetime for IPSec SAs.
This command causes the security association to time out after the specified amount of traffic (in kilobytes) have passed through the IPSec "tunnel" using the security association.
|
Step 3
|
Router(config)# clear crypto sa
or
Router(config)# clear crypto sa peer {ip-address
| peer-name}
or
Router(config)# clear crypto sa map map-name
or
Router (config)# clear crypto sa entry
destination-address protocol spi
|
(Optional) Clears existing security associations. This causes any existing security associations to expire immediately; future security associations will use the new lifetimes. Otherwise, any existing security associations will expire according to the previously configured lifetimes.
Note Using the clear crypto sa command without parameters will clear out the full SA database, which will clear out active security sessions. You may also specify the peer, map, or entry keywords to clear out only a subset of the SA database. For more information, see the clear crypto sa command.
|
Creating Crypto Access Lists
Crypto access lists define which IP traffic will be protected by encryption. (These access lists are not the same as regular access lists, which determine what traffic to forward or block at an interface.) For example, access lists can be created to protect all IP traffic between Subnet A and Subnet Y or Telnet traffic between Host A and Host B.
To create crypto access lists, use the following command in global configuration mode:
Step
|
Command
|
Purpose
|
Step 1
|
Router(config)# access-list access-list-number {deny
| permit} protocol source source-wildcard
destination destination-wildcard [log]
or
Router(config)# ip access-list extended name
|
Specifies conditions to determine which IP packets will be protected.1 (Enable or disable crypto for traffic that matches these conditions.)
We recommend that you configure "mirror image" crypto access lists for use by IPSec and that you avoid using the any keyword.
|
Step 2
|
Add permit and deny statements as appropriate.
|
Adds permit or deny statements to access lists.
|
Step 3
|
End
|
Exits the configuration command mode.
|
For detailed information on configuring access lists, refer to the "Configuring IPSec Network Security" chapter in the Security Configuration Guide publication.
Creating Crypto Map Entries
You can apply only one crypto map set to a single interface. The crypto map set can include a combination of IPSec/IKE and IPSec/manual entries. Multiple interfaces can share the same crypto map set if you want to apply the same policy to multiple interfaces.
To create crypto map entries that use IKE to establish the security associations, use the following commands, starting in global configuration mode:
| |
Command
|
Purpose
|
Step 1
|
Router(config)# crypto map map-name seq-num
ipsec-manual
|
Specifies the crypto map entry to create (or modify).
This command puts you into the crypto map configuration mode.
|
Step 2
|
Router(config-crypto-m)# match address
access-list-id
|
Names an IPSec access list. This access list determines which traffic should be protected by IPSec and which traffic should not be protected by IPSec security in the context of this crypto map entry. (The access list can specify only one permit entry when IKE is not used.)
|
Step 3
|
Router(config-crypto-m)# set peer {hostname |
ip-address}
|
Specifies the remote IPSec peer. This is the peer to which IPSec protected traffic should be forwarded.
(Only one peer can be specified when IKE is not used.)
|
Step 4
|
Router(config-crypto-m)# set transform-set
transform-set-name
|
Specifies which transform set should be used.
This must be the same transform set that is specified in the remote peer's corresponding crypto map entry.
(Only one transform set can be specified when IKE is not used.)
|
Step 5
|
Router(config-crypto-m)# set session-key inbound ah
spi hex-key-string
and
Router(config-crypto-m)# set session-key outbound ah
spi hex-key-string
|
Sets the AH Security Parameter Indexes (SPIs) and keys to apply to inbound and outbound protected traffic if the specified transform set includes the AH protocol.
(This manually specifies the AH security association to be used with protected traffic.)
|
Step 6
|
Router(config-crypto-m)# set session-key inbound esp
spi cipher hex-key-string [authenticator
hex-key-string]
and
Router(config-crypto-m)# set session-key outbound
esp spi cipher hex-key-string [authenticator
hex-key-string]
|
Sets the ESP Security Parameter Indexes (SPIs) and keys to apply to inbound and outbound protected traffic if the specified transform set includes the ESP protocol. Specifies the cipher keys if the transform set includes an ESP cipher algorithm. Specifies the authenticator keys if the transform set includes an ESP authenticator algorithm.
(This manually specifies the ESP security association to be used with protected traffic.)
|
Step 7
|
Router(config-crypto-m)# exit
|
Exits crypto-map configuration mode and return to global configuration mode.
|
To create crypto map entries that will use IKE to establish the security associations, use the following commands starting in global configuration mode:
| |
Command
|
Purpose
|
Step 1
|
Router(config)# crypto map map-name seq-num
ipsec-isakmp
|
Names the crypto map entry to create (or modify).
This command puts you into the crypto map configuration mode.
|
Step 2
|
Router(config-crypto-m)# match address
access-list-id
|
Names an extended access list. This access list determines which traffic should be protected by IPSec and which traffic should not be protected by IPSec security in the context of this crypto map entry.
|
Step 3
|
Router(config-crypto-m)# set peer {hostname |
ip-address}
|
Specifies a remote IPSec peer. This is the peer to which IPSec protected traffic can be forwarded.
Repeat for multiple remote peers.
|
Step 4
|
Router(config-crypto-m)# set transform-set
transform-set-name1
[transform-set-name2...transform-set-name6]
|
Specifies which transform sets are allowed for this crypto map entry. List multiple transform sets in order of priority (highest priority first).
|
Step 5
|
Router(config-crypto-m)# set security-association
lifetime seconds seconds
and
Router (config-crypto-m)# set security-association
lifetime kilobytes kilobytes
|
(Optional) Specifies a security association lifetime for the crypto map entry.
Use this command if you want the security associations for this crypto map entry to be negotiated using different IPSec security association lifetimes than the global lifetimes.
|
Step 6
|
Router(config-crypto-m)# set security-association
level per-host
|
(Optional) Specifies that separate security associations should be established for each source/destination host pair.
Without this command, a single IPSec "tunnel" could carry traffic for multiple source hosts and multiple destination hosts.
With this command, when the router requests new security associations it will establish one set for traffic between Host A and Host B, and a separate set for traffic between Host A and Host C.
Use this command with care, as multiple streams between given subnets can rapidly consume resources.
|
Step 7
|
Router(config-crypto-m)# set pfs [group1 | group2]
|
(Optional) Specifies that IPSec should ask for perfect forward secrecy when requesting new security associations for this crypto map entry, or should demand perfect forward secrecy (PFS) in requests received from the IPSec peer.
|
Step 8
|
Router(config-crypto-m)# exit
|
Exits crypto-map configuration mode and return to global configuration mode.
|
Creating Dynamic Crypto Maps
A dynamic crypto map entry is a crypto map entry with some parameters not configured.The missing parameters are later dynamically configured (as the result of an IPSec negotiation). Dynamic crypto maps are only available for use by IKE.
Dynamic crypto map entries are grouped into sets. A set is a group of dynamic crypto map entries all with the same dynamic-map-name, each with a different dynamic-seq-num.
To create a dynamic crypto map entry, use the following commands starting in global configuration mode:
| |
Command
|
Purpose
|
Step 1
|
Router(config)# crypto dynamic-map dynamic-map-name
dynamic-seq-num
|
Creates a dynamic crypto map entry.
|
Step 2
|
Router(config-crypto-m)# set transform-set
transform-set-name1
[transform-set-name2...transform-set-name6]
|
Specifies which transform sets are allowed for the crypto map entry. List multiple transform sets in order of priority (highest priority first).
This is the only configuration statement required in dynamic crypto map entries.
|
Step 3
|
Router(config-crypto-m)# match address
access-list-id
|
(Optional) Accesses list number or name of an extended access list. This access list determines which traffic should be protected by IPSec and which traffic should not be protected by IPSec security in the context of this crypto map entry.
Note Although access lists are optional for dynamic crypto maps, they are highly recommended.
If this is configured, the data flow identity proposed by the IPSec peer must fall within a permit statement for this crypto access list.
If this is not configured, the router will accept any data flow identity proposed by the IPSec peer. However, if this is configured but the specified access list does not exist or is empty, the router will drop all packets. This is similar to static crypto maps because they also require that an access list be specified.
Care must be taken if the any keyword is used in the access list, because the access list is used for packet filtering as well as for negotiation.
|
Step 4
|
Router(config-crypto-m)# set peer {hostname |
ip-address}
|
(Optional) Specifies a remote IPSec peer. Repeat for multiple remote peers.
This is rarely configured in dynamic crypto map entries. Dynamic crypto map entries are often used for unknown remote peers.
|
Step 5
|
Router(config-crypto-m)# set security-association
lifetime seconds seconds
and
Router (config-crypto-m)# set security-association
lifetime kilobytes kilobytes
|
(Optional) If you want the security associations for this crypto map to be negotiated using shorter IPSec security association lifetimes than the globally specified lifetimes, specify a key lifetime for the crypto map entry.
|
Step 6
|
Router(config-crypto-m)# set pfs [group1 | group2]
|
(Optional) Specifies that IPSec should ask for perfect forward secrecy when requesting new security associations for this crypto map entry or should demand perfect forward secrecy in requests received from the IPSec peer.
|
Step 7
|
Router(config-crypto-m)# exit
|
Exits crypto-map configuration mode and return to global configuration mode.
|
Step 8
|
Repeat these steps to create additional crypto map entries as required.
|
To add a dynamic crypto map set into a crypto map set, use the following command in global configuration mode:
Command
|
Purpose
|
Router(config)# crypto map map-name seq-num
ipsec-isakmp dynamic dynamic-map-name
|
Adds a dynamic crypto map set to a static crypto map set.
|
Applying Crypto Map Sets to Interfaces
Apply a crypto map set to each interface through which IPSec traffic will flow. Crypto maps instruct the router to evaluate the interface traffic against the crypto map set and use the specified policy during connection or security association negotiation on behalf of traffic to be protected by crypto.
To apply a crypto map set to an interface, use the following command in interface configuration mode:
Command
|
Purpose
|
Router(config-if)# crypto map map-name
|
Applies a crypto map set to an interface.
|
To specify redundant interfaces and name an identifying interface, use the following command in global configuration mode:
Command
|
Purpose
|
Router(config)# crypto map map-name
local-address interface-id
|
Permits redundant interfaces to share the same crypto map, using the same local identity.
|
Configuring Compression
This section includes the following topics:
•
Configure IKE Policy (required)
•
Configure IKE Preshared Key (required)
•
Configure ipsec transform set (required)
•
Configure access-list (required)
•
Configure crypto map (required)
•
Apply crypto map to the Interface (required)
For IPSec configuration examples, refer to the "Configuring Compression Example".
See the "Configuring IPSec Network Security" section of the Cisco IOS Security Configuration Guide for more information on configuring IPSec.
Configure IKE Policy
To configure IKE policy, follow the steps in "Configuring an IKE Policy" on page 3, using the commands in global configuration mode.
Configure IKE Preshared Key
To specify preshared keys at a peer, use the following commands in global configuration mode:
| |
Command
|
Purpose
|
Step 1
|
Router (config)# crypto isakmp key keystring address
peer-address
or
Router (config)# crypto isakmp key keystring
hostname peer-hostname
|
At the local peer: Specify the shared key to be used with a particular remote peer.
If the remote peer specified their ISAKMP identity with an address, use the address keyword in this step; otherwise use the hostname keyword in this step.
|
Step 2
|
Router (config)# crypto isakmp key_keystring address
peer-address
or
Router (config)# crypto isakmp key_keystring
hostname peer-hostname
|
At the remote peer: Specify the shared key to be used with the local peer. This is the same key you just specified at the local peer.
If the local peer specified their ISAKMP identity with an address, use the address keyword in this step; otherwise use the hostname keyword in this step.
|
Step 3
|
Repeat the previous two steps for each remote peer.
|
Remember to repeat these tasks at each peer that uses preshared in an IKE policy.
Configure ipsec transform set
To define a transform set—an acceptable combination of security protocols and algorithms—use the crypto ipsec transform-set global configuration command. To delete a transform set, use the no form of the command.
Command
|
Purpose
|
Router (config)# crypto ipsec transform-set
transform-set-name transform1 [transform2
[transform3]]
|
transform-set-name Specify the name of the transform set to create (or modify).
transform1 transform2 transform3 Specify up to three transforms (one is required) that define the IPSec security protocol(s) and algorithm(s).
|
Configure access-list
To establish MAC address access lists, use the access-list global configuration command. To remove a single access list entry, use the no form of this command.
Command
|
Purpose
|
Router (config)# access-list access-list-number
{permit | deny} address mask
|
access-list-number Specify an integer from 700 to 799 that you select for the list.
permit Permits the frame.
deny Denies the frame.
address mask Specify 48-bit MAC addresses written in dotted triplet form. The ones bits in the mask argument are the bits to be ignored in the address value.
|
Configure crypto map
To create crypto map entries that use IKE to establish the security associations, use the following commands, starting in global configuration mode:
| |
Command
|
Purpose
|
Step 1
|
Router (config)# crypto map map-name seq-num
ipsec-isakmp
|
Create the crypto map and enter crypto map configuration mode.
|
Step 2
|
Router (config)# set peer {hostname | ip-address}
|
Specify a remote IPSec peer. This is the peer to which IPSec-protected traffic can be forwarded.
Repeat for multiple remote peers.
|
Step 3
|
Router (config)# set transform-set
transform-set-name1
[transform-set-name2...transform-set-name6]
|
Specify which transform sets are allowed for this crypto map entry. List multiple transform sets in order of priority (highest priority first).
|
Step 4
|
Router (config)# match address access-list-id
|
Specify an extended access list. This access list determines which traffic is protected by IPSec and which is not.
|
Apply crypto map to the Interface
To apply a crypto map set to an interface, use the following commands, starting in global configuration mode:
| |
Command
|
Purpose
|
Step 1
|
Router (config)# interface type number
|
Specify an interface on which to apply the crypto map and enter interface configuration mode.
|
Step 2
|
Router (config)# crypto map map-name
|
Apply a crypto map set to an interface.
|
Step 3
|
Router (config)# end
|
Exit interface configuration mode.
|
This completes the process for configuring compression on the SA-VAM2.
Monitoring and Maintaining IPSec
To clear (and reinitialize) IPSec security associations, use one of the following commands in global configuration mode:
Command
|
Purpose
|
Router(config)# clear crypto sa
or
Router(config)# clear crypto sa peer {ip-address
| peer-name}
or
Router(config)# clear crypto sa map map-name
or
Router(config)# clear crypto sa entry
destination-address protocol spi
|
Clears IPSec security associations.
Note Using the clear crypto sa command without parameters will clear out the full SA database, which will clear out active security sessions. You may also specify the peer, map, or entry keywords to clear out only a subset of the SA database. For more information, see the clear crypto sa command.
|
To view information about your IPSec configuration, use one or more of the following commands in EXEC mode:
Command
|
Purpose
|
Router# show crypto ipsec transform-set
|
Displays your transform set configuration.
|
Router# show crypto map [interface interface |
tag map-name]
|
Displays your crypto map configuration.
|
Router# show crypto ipsec sa [map map-name |
address | identity] [detail]
|
Displays information about IPSec security associations.
|
Router# show crypto dynamic-map [tag map-name]
|
Displays information about dynamic crypto maps.
|
Router# show crypto ipsec security-association
lifetime
|
Displays global security association lifetime values.
|
IPSec Configuration Example
The following example shows a minimal IPSec configuration where the security associations will be established via IKE. For more information about IKE, see the "Configuring Internet Key Exchange Security Protocol" chapter.
An IPSec access list defines which traffic to protect:
access-list 101 permit ip 10.0.0.0 0.0.0.255 10.2.2.0 0.0.0.255
A transform set defines how the traffic will be protected. In this example, transform set "myset1" uses DES encryption and SHA for data packet authentication:
crypto ipsec transform-set myset1 esp-des esp-sha
Another transform set example is "myset2," which uses Triple DES encryptions and MD5 (HMAC variant) for data packet authentication:
crypto ipsec transform-set myset2 esp-3des esp-md5-hmac
A crypto map joins together the IPSec access list and transform set and specifies where the protected traffic is sent (the remote IPSec peer):
crypto map toRemoteSite 10 ipsec-isakmp
The crypto map is applied to an interface:
Note
In this example, IKE must be enabled.
Verifying IKE and IPSec Configurations
To view information about your IPSec configurations, use show crypto ipsec transform-set EXEC command.
Note
If a user enters an IPSec transform that the hardware (the IPSec peer) does not support, a warning message will be displayed in the show crypto ipsec transform-set output.
The following sample output from the show crypto ipsec transform-set command displays a warning message after a user tries to configure an IPSec transform that the hardware does not support:
Router# show crypto ipsec transform-set
Transform set transform-1:{esp-256-aes esp-md5-hmac}
will negotiate = {Tunnel, },
WARNING:encryption hardware does not support transform
esp-aes 256 within IPSec transform transform-1
To view information about your IKE configurations, use show crypto isakmp policy EXEC command.
Note
If a user enters an IKE encryption method that the hardware does not support, a warning message will be displayed in the show crypto isakmp policy output.
The following sample output from the show crypto isakmp policy command displays a warning message after a user tries to configure an IKE encryption method that the hardware does not support:
Router# show crypto isakmp policy
Protection suite of priority 1
encryption algorithm: AES - Advanced Encryption Standard (256 bit keys).
WARNING:encryption hardware does not support the configured
encryption method for ISAKMP policy 1
hash algorithm: Secure Hash Standard
authentication method: Pre-Shared Key
Diffie-Hellman group: #1 (768 bit)
lifetime: 3600 seconds, no volume limit
Verifying the Configuration
Some configuration changes take effect only after subsequent security associations are negotiated. For the new settings to take effect immediately, clear the existing security associations.
To clear (and reinitialize) IPSec security associations, use one of the commands in Table 4-2 in global configuration mode:
Table 4-2 Commands to Clear IP Sec Security Associations
Command
|
Purpose
|
clear crypto sa
or
clear crypto sa peer {ip-address |
peer-name}
or
clear crypto sa map map-name
or
clear crypto sa spi destination-address
protocol spi
|
Clear IPSec security associations (SAs).
Using the clear crypto sa command without parameters clears out the full SA database, which clears out active security sessions. You may also specify the peer, map, or spi keywords to clear out only a subset of the SA database.
|
The following steps provide information on verifying your configurations:
Step 1
Enter the show crypto ipsec transform-set command to view your transform set configuration:
Router# show crypto ipsec transform-set
Transform set combined-des-md5: {esp-des esp-md5-hmac}
will negotiate = {Tunnel,},
Transform set t1: {esp-des esp-md5-hmac}
will negotiate = {Tunnel,},
Transform set t100: {ah-sha-hmac}
will negotiate = {Transport,},
Transform set t2: {ah-sha-hmac}
will negotiate = {Tunnel,},
will negotiate = {Tunnel,},
Step 2
Enter the show crypto map [interface interface | tag map-name] command to view your crypto map configuration:
Crypto Map: "router-alice" idb: Ethernet0 local address: 172.21.114.123
Crypto Map "router-alice" 10 ipsec-isakmp
Extended IP access list 141
access-list 141 permit ip
source: addr = 172.21.114.123/0.0.0.0
dest: addr = 172.21.114.67/0.0.0.0
Current peer: 172.21.114.67
Security-association lifetime: 4608000 kilobytes/120 seconds
Step 3
Enter the show crypto ipsec sa [map map-name | address | identity | detail | interface] command to view information about IPSec security associations:
Router# show crypto ipsec sa
Crypto map tag: router-alice, local addr. 172.21.114.123
local ident (addr/mask/prot/port): (172.21.114.123/255.255.255.255/0/0)
remote ident (addr/mask/prot/port): (172.21.114.67/255.255.255.255/0/0)
current_peer: 172.21.114.67
PERMIT, flags={origin_is_acl,}
#pkts encaps: 10, #pkts encrypt: 10, #pkts digest 10
#pkts decaps: 10, #pkts decrypt: 10, #pkts verify 10
#send errors 10, #recv errors 0
local crypto endpt.: 172.21.114.123, remote crypto endpt.: 172.21.114.67
path mtu 1500, media mtu 1500
current outbound spi: 20890A6F
spi: 0x257A1039(628756537)
transform: esp-des esp-md5-hmac,
in use settings ={Tunnel,}
slot: 0, conn id: 26, crypto map: router-alice
sa timing: remaining key lifetime (k/sec): (4607999/90)
replay detection support: Y
spi: 0x20890A6F(545852015)
transform: esp-des esp-md5-hmac,
in use settings ={Tunnel,}
slot: 0, conn id: 27, crypto map: router-alice
sa timing: remaining key lifetime (k/sec): (4607999/90)
replay detection support: Y
Crypto map tag: router-alice, local addr. 172.21.114.123
local ident (addr/mask/prot/port): (172.21.114.123/255.255.255.255/0/0)
remote ident (addr/mask/prot/port): (172.21.114.67/255.255.255.255/0/0)
current_peer: 172.21.114.67
PERMIT, flags={origin_is_acl,}
#pkts encaps: 10, #pkts encrypt: 10, #pkts digest 10
#pkts decaps: 10, #pkts decrypt: 10, #pkts verify 10
#send errors 10, #recv errors 0
local crypto endpt.: 172.21.114.123, remote crypto endpt.: 172.21.114.67
path mtu 1500, media mtu 1500
current outbound spi: 20890A6F
spi: 0x257A1039(628756537)
transform: esp-des esp-md5-hmac,
in use settings ={Tunnel,}
slot: 0, conn id: 26, crypto map: router-alice
sa timing: remaining key lifetime (k/sec): (4607999/90)
replay detection support: Y
spi: 0x20890A6F(545852015)
transform: esp-des esp-md5-hmac,
in use settings ={Tunnel,}
slot: 0, conn id: 27, crypto map: router-alice
sa timing: remaining key lifetime (k/sec): (4607999/90)
replay detection support: Y
For a detailed description of the information displayed by the show commands, refer to the "IP Security and Encryption" chapter of the Security Command Reference publication.
Configuration Examples
This section provides the following configuration examples:
•
Configuring IKE Policies Example
•
Configuring IPSec Configuration Example
•
Configuring Compression Example
Configuring IKE Policies Example
In the following example, two IKE policies are created, with policy 15 as the highest priority, policy 20 as the next priority, and the existing default priority as the lowest priority. It also creates a preshared key to be used with policy 20 with the remote peer whose IP address is 192.168.224.33.
crypto isakmp key 1234567890 address 192.168.224.33
Configuring IPSec Configuration Example
The following example shows a minimal IPSec configuration where the security associations will be established via IKE:
An IPSec access list defines which traffic to protect:
access-list 101 permit ip 10.0.0.0 0.0.0.255 10.2.2.0 0.0.0.255
A transform set defines how the traffic will be protected. In this example, transform set "myset1" uses DES encryption and SHA for data packet authentication:
crypto ipsec transform-set myset1 esp-des esp-sha
Another transform set example is "myset2," which uses Triple DES encryptions and MD5 (HMAC variant) for data packet authentication:
crypto ipsec transform-set myset2 esp-3des esp-md5-hmac
A crypto map joins together the IPSec access list and transform set and specifies where the protected traffic is sent (the remote IPSec peer):
crypto map toRemoteSite 10 ipsec-isakmp
The crypto map is applied to an interface:
Note
In this example, IKE must be enabled.
Configuring Compression Example
The following example shows a simple configuration example for configuring compression.
To configure an IKE policy:
To configure a IKE preshared key:
crypto isakmp key 12abcjhrweit345 address 16.0.0.2
To configure an IPSec transform set:
crypto ipsec transform-set proposal_01 esp-3des esp-md5-hmac comp-lzs
To configure an access list:
access-list 101 permit ip host 16.0.0.1 host 16.0.0.2
To configure a crypto map:
crypto map MAXCASE 10 ipsec-isakmp
set transform-set proposal_01
To apply crypto map to the interface:
interface FastEthernet1/0
Basic IPSec Configuration Illustration
The following is an example of an IPSec configuration in which the security associations are established through IKE. In this example an access list is used to restrict the packets that are encrypted and decrypted. In this example, all packets going from IP address 10.0.0.2 to IP address 10.2.2.2 are encrypted and decrypted and all packets going from IP address 10.2.2.2 to IP address 10.0.0.2 are encrypted and decrypted. Also, one IKE policy is created.
Figure 4-1 Basic IPSec Configuration
Router A Configuration
Specify the parameters to be used during an IKE negotiation:
crypto isakmp key 1234567890 address 10.2.2.3
crypto isakmp identity address
Note
In the preceding example, the encryption DES of policy 15 would not appear in the written configuration because this is the default value for the encryption algorithm parameter.
A transform set defines how the traffic will be protected:
crypto ipsec transform-set auth1 ah-md5-hmac esp-des esp-md5-hmac
A crypto map joins the transform set and specifies where the protected traffic is sent (the remote IPSec peer):
crypto map toRemoteSite 10 ipsec-isakmp
The crypto map is applied to an interface:
An IPSec access list defines which traffic to protect:
access-list 101 permit ip host 10.0.0.2 host 10.2.2.2
access-list 101 permit ip host 10.0.0.3 host 10.2.2.3
Router B Configuration
Specify the parameters to be used during an IKE negotiation:
crypto isakmp key 1234567890 address 10.0.0.3
crypto isakmp identity address
A transform set defines how the traffic will be protected:
crypto ipsec transform-set auth1 ah-md5-hmac esp-des ah-md5-hmac
A crypto map joins the transform set and specifies where the protected traffic is sent (the remote IPSec peer):
crypto map toRemoteSite 10 ipsec-isakmp
The crypto map is applied to an interface:
An IPSec access list defines which traffic to protect:
access-list 101 permit ip host 10.2.2.2 host 10.0.0.2
access-list 101 permit ip host 10.2.2.3 host 10.0.0.3
Troubleshooting Tips
To verify that Cisco IOS software has recognized SA-VAM2, enter the show diag command and check the output. For example, when the router has the SA-VAM2 in slot 1, the following output appears:
VAM2 Encryption/Compression engine, Port adapter
Port adapter insertion time 00:01:32 ago
EEPROM contents at hardware discovery:
Top Assy. Part Number :800-22836-00
0x00:04 FF 40 03 E4 41 01 00 C1 8B 00 00 00 00 00 00
0x10:00 00 00 00 00 82 49 21 2B 00 42 00 00 03 00 81
0x20:00 00 00 00 04 00 80 00 00 00 00 CB 94 53 41 2D
0x30:56 41 4D 32 20 20 20 20 20 20 20 20 20 20 20 20
0x40:20 C0 46 03 20 00 59 34 00 C6 8A 00 00 00 00 00
0x50:00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF
0x60:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0x70:FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
To see if the SA-VAM2 is currently processing crypto packets, enter the show pas vam interface command. The following is sample output:
Router# show pas vam interface
VPN Acceleration Module Version II in slot : 3
Statistics for Hardware VPN Module since the last clear
of counters 314 seconds ago
5290894 packets in 5290895 packets out
1882478960 bytes in 1327439698 bytes out
16850 paks/sec in 16850 paks/sec out
47940 Kbits/sec in 33805 Kbits/sec out
4222173 pkts compressed 0 pkts not compressed
1190662374 bytes before compress 405331872 bytes after compress
2.9:1 compression ratio 2.9:1 overall
58 commands out 58 commands acknowledged
4855704 packets in 4855705 packets out
16185 paks/sec in 16185 paks/sec out
46723079 bits/sec in 32921855 bits/sec out
ppq full errors : 0 ppq rx errors : 0
cmdq full errors : 0 cmdq rx errors : 0
no buffer : 0 replay errors : 0
dest overflow : 0 authentication errors : 0
Other error : 0 RNG self test fail : 0
DF Bit set : 0 Hash Miscompare : 0
Unwrappable object : 0 Missing attribute : 0
Invalid attrribute value: 0 Bad Attribute : 0
Verification Fail : 0 Decrypt Failure : 0
Invalid Packet : 0 Invalid Key : 0
Input Overrun : 0 Input Underrun : 0
Output buffer overrun : 0 Bad handle value : 0
Invalid parameter : 0 Bad function code : 0
Out of handles : 0 Access denied : 0
sessions_expired : 0 packets_fragmented : 0
general : 0 compress_bypassed : 4
hsp_operations : 75 hsp_sessions : 6
When the SA-VAM2 processes packets, the "packets in" and "packets out" counter changes. Counter "packets out" represents the number of packets directed to the SA-VAM2. Counter "packets in" represents the number of packets received from the SA-VAM2.
Note
The show pas vam interface command output includes `compression ratio' (or the efficiency of the tunnel bandwidth) which represents the ratio of the original packet to the compressed packet plus the ipsec headers. It does not represent the ratio of the ipsec payload before compression to the ipsec payload after compression.
This ratio may fall below 1 when small packets are not compressible, resulting in the ratio representing unencrypted packet to the encrypted packet plus the ipsec header.
To see if the IKE/IPSec packets are being redirected to the SA-VAM2 for IKE negotiation and IPSec encryption and decryption, enter the show crypto eli command. The following is sample output when Cisco IOS software redirects packets to SA-VAM2:
Hardware Encryption Layer : ACTIVE
Number of crypto engines = 1 .
CryptoEngine-0 (slot-5) details.
Capability-IPSec :IPPCP, 3DES, AES, RSA
IKE-Session : 0 active, 5120 max, 0 failed
DH-Key : 0 active, 5120 max, 0 failed
IPSec-Session : 0 active, 10230 max, 0 failed
When the software crypto engine is active, the show crypto eli command yields no output.
During bootup or OIR, when the Cisco IOS software agrees to redirect crypto traffic to the SA-VAM2, it prints a message similar to the following:
%ISA-6-INFO:Recognised crypto engine (0) at slot-1
...switching to hardware crypto engine
To disable the SA-VAM2, use the configuration mode no crypto engine accelerator <slot> command, as follows:
Router(config)# no crypto engine accelerator <slot>
3w4d:%ISA-6-SHUTDOWN:VAM2 shutting down
3w4d:%ISA-6-INFO:Crypto Engine 0 in slot 1 going DOWN
3w4d:...switching to software crypto engine
Monitoring and Maintaining the SA-VAM2
Use the commands that follow to monitor and maintain the SA-VAM2:
Command
|
Purpose
|
Router# show pas isa interface
|
Displays the ISA interface configuration.
|
Router# show pas isa controller
|
Displays the ISA controller configuration.
|
Router# show pas vam interface
|
Verifies the SA-VAM2 is currently processing crypto packets.
|
Router# show pas vam controller
|
Displays the SA-VAM2 controller configuration.
|
Router# Show version
|
Displays integrated service adapter as part of the interfaces.
|