Configure CA Support Tasks
This chapter covers how to configure the PIX Firewall to work with a CA. It does not cover the configuration of the CA server, only how the Cisco products interact with one. The lab provides you with the opportunity to configure components in a way that mimics a real network. This section presents an overview of the major tasks you will have to perform to configure a PIX Firewall for CA support.
The IPSec configuration process can be summarized in five major tasks, outlined as follows. To provide more detail, the general tasks used to configure IPSec encryption on the PIX Firewall are summarized here. Subsequent sections of this chapter discuss the CA configuration tasks and steps in detail. Tasks and steps that are identical to those of preshared keys are not covered in detail. Please refer to Chapter 6, "Configuring the Cisco PIX Firewall for Preshared Keys Site-to-Site," for the detailed explanation of these steps.
Task 1: Prepare for IPSecThis task consists of several steps to identify CA server details, determine IPSec policies, ensure that the network works, and ensure that the PIX Firewall can support IPSec.
Task 2: Configure CA supportThis task consists of several configuration steps that are required to enable the PIX Firewall to use a CA server.
Task 3: Configure Internet Key Exchange (IKE) parametersThis task consists of several configuration steps that ensure that IKE can set up secure channels to desired IPSec peers. Then IKE can set up IPSec SAs, enabling IPSec sessions.
Task 4: Configure IPSec parametersThis task consists of several configuration steps that specify IPSec SA parameters between peers and set global IPSec values.
Task 5: Test and verify VPN configurationAfter you configure IPSec, you need to verify that you have configured it correctly and ensure that it works.
Task 1: Prepare for IPSec
Successful implementation of an IPSec network requires advance preparation before beginning configuration of individual PIX Firewalls. This section outlines how to determine network design details to configure a PIX Firewall for CA support.
You must plan in advance if you want to configure IPSec encryption correctly the first time and minimize misconfiguration. You should begin this task by defining the IPSec security policy based on the overall company security policy. Some planning steps follow:
|
Step 1 |
Determine CA server detailsThis includes variables such as the type of CA server to be used, the IP address, and the CA administrator contact information. |
|
Step 2 |
Determine IKE (IKE phase one) policyDetermine the IKE policies between peers based on the number and location of IPSec peers. |
|
Step 3 |
Determine IPSec (IKE phase two) policyIdentify IPSec peer details such as IP addresses and IPSec modes. You then configure crypto maps to gather all IPSec policy details together. |
|
Step 4 |
Check the current configurationUse the write terminal, show isakmp [policy], show crypto map, and many other show commands, which are covered later in this chapter in the "Test and Verify VPN Configuration" section. |
|
Step 5 |
Ensure that the network operates without encryptionEnsure that basic connectivity has been achieved between IPSec peers using the desired IP services before configuring IPSec. You can use the ping command to check basic connectivity. |
|
Step 6 |
Ensure that access lists are compatible with IPSecEnsure that perimeter routers and the PIX outside interfaces permit IPSec traffic. Implicitly permit IPSec packets to bypass PIX access lists and conduits. In this step, you will need to enter the sysopt connection permit-ipsec command. |
NOTE
Step 1 and Step 2 are covered in detail in this chapter. The other steps are presented for review purposes. Refer to Chapter 6 for a detailed explanation of Steps 3 through 6.
Step 1: Determine CA Server Details
Successful implementation of an IPSec network requires advanced planning before beginning configuration of individual routers. This section outlines how to prepare for IKE and CA support.
Configuring CA is complicated. Having a detailed plan lessens the chances of improper configuration. Some planning steps include the following:
Determine the type of CA server to useCA servers come in a multitude of configurations and capabilities. You must determine which one fits your needs before configuration. Requirements include, but are not limited to, Rivest, Shamir, and Adelman (RSA) key type; certificate revocation list (CRL) capabilities; and support for Registration Authority (RA) mode.
Identify the CA server IP address, host name, and URLThis information is necessary if you will be using Cisco Encryption Technology (CET) and Lightweight Directory Access Protocol (LDAP).
Identify the CA server administrator contact informationArrange for your certificates to be validated if the process is not automatic.
The goal of these planning steps is to be ready for CA support configuration.
You need to have a CA available to your network before you configure CA. The CA must support Cisco's Public Key Infrastructure (PKI) protocol and the Simple Certificate Enrollment Protocol (SCEP).
Figure 7-1 shows an example of CA server details that you should gather before beginning the configuration. The diagram and table in Figure 7-1 illustrate the network topology and CA server details used in this chapter.
Figure 7-1 Determine CA Server Details
Step 2: Determine IKE (IKE Phase One) Policy
You should determine the IKE policy details to enable the selected authentication method, then configure that method. Having a detailed plan lessens the chances of improper configuration. Some planning steps include the following:
Determine the key distribution methodDetermine the key distribution method based on the numbers and locations of IPSec peers. For small networks, you might wish to manually distribute keys. For larger networks, you might wish to use a CA server to support scalability of IPSec peers. You must then configure Internet Security Association Key Management Protocol (ISAKMP) to support the selected key distribution method.
Determine the authentication methodChoose the authentication method based on the key distribution method. The PIX Firewall supports either preshared keys, RSA encrypted nonces, or RSA signatures to authenticate IPSec peers. This chapter focuses on using RSA signatures.
Identify IPSec peer's IP addresses and host namesDetermine the details of all the IPSec peers that will use ISAKMP and RSA signatures for establishing SAs. You will use this information to configure IKE.
Determine ISAKMP policies for peersAn ISAKMP policy defines a combination, or suite, of security parameters to be used during the ISAKMP negotiation. Each ISAKMP negotiation begins by each peer agreeing on a common (shared) ISAKMP policy. The ISAKMP policy suites must be determined in advance of configuration. You must then configure IKE to support the policy details you determined. Some ISAKMP policy details include the following:
Encryption algorithm
Hash algorithm
IKE SA lifetime
An IKE policy defines a combination of security parameters used during the IKE negotiation. A group of policies makes up a protection suite of multiple policies that enable IPSec peers to establish IKE sessions and establish SAs with minimal configuration.
Creating IKE Policies for a Purpose
IKE negotiations must be protected, so each IKE negotiation begins by each peer agreeing on a common (shared) IKE policy. This policy states which security parameters will be used to protect subsequent IKE negotiations.
After the two peers agree upon a policy, the security parameters of the policy are identified by an SA established at each peer. These SAs apply to all subsequent IKE traffic during the negotiation.
You can create multiple prioritized policies at each peer to ensure that at least one policy will match a remote peer's policy.
Defining IKE Policy Parameters
You can select specific values for each IKE parameter per the IKE standard. You choose one value over another, based on the security level you desire and the type of IPSec peer to which you will connect. There are five parameters to define in each IKE policy, as outlined in Table 7-1 and Figure 7-2. Table 7-1 shows the default values of each parameter, and Figure 7-2 shows the relative strengths.
Table 7-1 IKE Policy Parameters
|
Parameter |
Accepted Values |
Keyword |
Default |
|
Message encryption algorithm |
DES 3DES |
des 3des |
DES |
|
Message integrity (hash) algorithm |
SHA-1 (HMAC variant) MD5 (HMAC variant) |
sha md5 |
SHA-1 |
|
Peer authentication method |
Preshared keys RSA signatures |
preshare rsa-sig |
RSA signatures |
|
Key exchange parameters (Diffie-Hellman group identifier) |
768-bit Diffie-Hellman or 1024-bit Diffie-Hellman |
1 2 |
768-bit Diffie-Hellman |
|
ISAKMP-established SA's lifetime |
Can specify any number of seconds |
_ |
86,400 seconds (one day) |
Figure 7-2 IKE Policy Example
You can select specific values for each ISAKMP parameter using the ISAKMP standard. You choose one value over another based on the security level you desire and the type of IPSec peer to which you will connect. There are five parameters to define in each IKE policy, as presented in Table 7-2. Table 7-2 shows the relative strength of each parameter. You can select specific values for each ISAKMP parameter using the ISAKMP standard.
Table 7-2 ISAKMP Parameters
|
Parameter |
Strong |
Stronger |
|
Message encryption algorithm |
DES |
3DES |
|
Message integrity (hash) algorithm |
MD5 |
SHA-1 |
|
Peer authentication method |
Preshare |
RSA Encryption RSA Signature |
|
Key exchange parameters (Diffie-Hellman group identifier) |
D-H Group 1 |
D-H Group 2 |
|
ISAKMP-established SA's lifetime |
86,400 seconds |
Less than 86,400 seconds |
You should determine IKE policy details for each IPSec peer before configuring IKE. Figure 7-2 shows a summary of some IKE policy details that will be configured in examples in this chapter. The authentication method of RSA signatures is used for CA support.
NOTE
Refer to Chapter 6 for a detailed explanation of Steps 3 through 6.
PIX CA Support Overview
The PIX Firewall supports the following open CA standards:
IKEA hybrid protocol that implements Oakley and Skeme key exchanges inside the ISAKMP framework. Although IKE can be used with other protocols, its initial implementation is with the IPSec protocol. IKE provides authentication of the IPSec peers, negotiates IPSec keys, and negotiates IPSec SAs.
Public-Key Cryptography Standard #7 (PKCS #7)A standard from RSA Security Inc. used to encrypt and sign certificate enrollment messages.
Public-Key Cryptography Standard #10 (PKCS #10)A standard syntax from RSA Security Inc. for certificate requests. The PIX Firewall automatically creates the certificate requests as part of the SCEP process.
RSA keysRSA is the public key cryptographic system developed by Ronald Rivest, Adi Shamir, and Leonard Adelman. RSA keys come in pairs: one public key and one private key.
X.509v3 certificatesCertificate support that allows the IPSec-protected network to scale by providing the equivalent of a digital ID card to each device. When two devices wish to communicate, they exchange digital certificates to prove their identity (thus removing the need to manually exchange public keys with each peer or to manually specify a shared key at each peer). These certificates are obtained from a CA. X.509 is part of the X.500 standard.
CA interoperabilityCA interoperability permits CAs to communicate with your PIX Firewall so that it can obtain and use digital certificates from the CA. Although IPSec can be implemented in your network without the use of a CA, using a CA with SCEP provides manageability and scalability for IPSec.
SCEP
The PIX Firewall supports the SCEP to automate the exchange of certificates with a CA server.
The SCEP is an Internet Engineering Task Force (IETF) draft sponsored by Cisco that provides a standard way of managing the certificate lifecycle. This initiative is important for driving open development for certificate handling protocols that can be interoperable with many vendors' devices.
PKCS #7 and #10 are acronyms for the Public-Key Cryptography Standards #7 and #10. These are standards from RSA Security Inc. used to encrypt and sign certificate enrollment messages.
The Manual Enrollment Process
SCEP provides two authentication methods: manual authentication and authentication based on a preshared secret. In the manual mode, the end entity submitting the request is required to wait until the CA operator, using any reliable out-of-band method, can verify its identity. An MD5 fingerprint generated on the PKCS # must be compared out-of-band between the server and the end entity. SCEP clients and CAs (or RAs, if appropriate) must display this fingerprint to a user to enable this verification, if manual mode is used. When using a preshared secret scheme, the server should distribute a shared secret to the end entity that can uniquely associate the enrollment request with the given end entity. The distribution of the secret must be private: only the end entity should know this secret. When creating the enrollment request, the end entity is asked to provide a challenge password. When using the preshared secret scheme, the end entity must type in the redistributed secret as the password. In the manual authentication case, the challenge password is also required because the server might challenge an end entity with the password before any certificate can be revoked. Later on, this challenge password will be included as a PKCS #10 attribute and will be sent to the server as encrypted data. The PKCS #7 envelope protects the privacy of the challenge password with Data Encryption Standard (DES) encryption.
CA Servers Interoperable with PIX Firewall
There several other CA vendors that interoperate with PIX Firewalls, as follows:
Entrust Technologies, Inc.Entrust/PKI 4.0
VeriSignOnSite 4.5
Baltimore TechnologiesUniCERT v3.05
Microsoft CorporationWindows 2000 Certificate Services 5.0
Each of the CA vendors supports the SCEP for enrolling PIX Firewalls. Cisco is using the Cisco Security Associate Program to test new CA and PKI solutions with the Cisco Secure family of products. More information on the Security Associate Program can be found at the following URL:
Entrust Technologies
The Entrust CA server is one of the servers interoperable with Cisco. One of the major differences among CA servers is the question of who administers it.
Entrust is software that is installed and administered by the user. The Cisco IOS interoperates with the Entrust/PKI 4.0 CA server. Entrust/PKI delivers the ability to issue digital IDs to any device or application supporting the X.509 certificate standard, meeting the need for security, flexibility, and low cost by supporting all devices and applications from one PKI. Entrust/PKI offers the following features:
RequirementsEntrust runs on the Windows NT 4.0 (required for Cisco interoperability), Solaris 2.6, HP-UX 10.20, and AIX 4.3 operating systems. Entrust requires RSA usage keys on the routers. You must use PIX Firewall release 5.1 and later.
Standards supportedEntrust supports CA services and the RA capability, SCEP, and PKCS #10.
Refer to the Entrust Web site at http://www.entrust.com for more information.
VeriSign OnSite 4.5
The VeriSign OnSite CA server is interoperable with PIX Firewalls. VeriSign administrates the CA, providing the certificates as a service.
VeriSign's OnSite 4.5 solution delivers a fully integrated enterprise PKI to control, issue, and manage IPSec certificates for PIX Firewalls and Cisco routers. VeriSign OnSite is a service administered by VeriSign. VeriSign OnSite offers the following features:
RequirementsThere are no local server requirements. Configure the router for CA mode with a high (greater than 60 second) retry count. You must use PIX Firewall release 5.1 and later.
Standards supportedIt supports SCEP, x509 certificate format, and PKCS #7, #10, #11, #12.
Refer to the VeriSign Web site at http://www.verisign.com for more information.
Baltimore Technologies
Baltimore Technologies has implemented support for SCEP in UniCERT (Baltimore's CA server) as well as the PKI Plus toolkit; these make it easy for customers to enable certificates within their environments.
RequirementsThe current release of the UniCERT CA module is available for Windows NT. You must use PIX Firewall release 5.2 and later.
Standards supportedThe following standards are supported with this CA server: X509 v3, X.9.62, X.9.92, X9.21-2; CRl v2; RFC 2459; PKCS #1, #7, #10, #11, #12; RFC 2510, RFC 2511; SCEP; LDAP v2, LDAP v3; DAP; SQL; TCP/IP; POP3; SMTP; HTTP; OCSP; FIPS 186-1, FIPS 180-1, FIPS 46-3, and FIPS 81 CBC.
Refer to the Baltimore Web site at http://www.baltimore.com for more information.
Microsoft Windows 2000 Certificate Services 5.0
Microsoft has integrated SCEP support into the Windows 2000 CA server through the Security Resource Kit for Windows 2000. This support lets customers use SCEP to obtain certificates and certificate revocation information from Microsoft Certificate Services for all of Cisco's VPN security solutions.
RequirementsYou need a compatible PC capable of running Windows 2000 Server. You must use PIX Firewall release 5.2 and later.
Standards supportedThe following standards are supported with this CA server: X.509 version 3, CRL version 2, PKCS family (PKCS #7, #10, #12), PKIX, SSL version 3, Kerberos v5 RFC 1510, 1964 tokens, SGC, IPSec, PKINIT, PC/SC, and IETF 2459.
See Chapter 3, "Configuring Cisco IOS Routers for Preshared Keys Site-to-Site," for more information about configuring the Microsoft Windows 2000 CA for SCEP support.
Refer to the Microsoft Web site at http://www.microsoft.com for more information.
Enroll a Device with a CA
The typical process for enrolling in a CA follows:
|
Step 1 |
Configure the PIX Firewall for CA support. |
|
Step 2 |
The public and private keys are generated on the PIX Firewall. |
|
Step 3 |
The PIX Firewall authenticates the CA server. |
|
Step 4 |
The PIX Firewall sends a certificate request to the CA. |
|
Step 5 |
The CA signs the certificate. |
|
Step 6 |
The CA returns the certificate to the PIX Firewall and posts the certificate in the public repository (directory). |
Most of these steps have been automated by Cisco and the SCEP protocol that is supported by many CA server vendors. Each vendor determines how long certificates are valid. Contact the relevant vendor to determine how long the certificates will be valid in your particular case.
Task 2: Configure CA Support
Configuring PIX Firewall CA support requires careful attention for successful implementation. Having a detailed plan will lessen the chances of improper configuration. Some planning steps and their associated commands follow:
|
Step 1 |
Manage Flash memory usage (optional)CA certificates, CRLs, and RSA key pairs might use up a significant amount of Flash memory space and might need to be monitored. |
|
Step 2 |
Configure the PIX Firewall's time and date The PIX Firewall must have an accurate time and date to enroll with a CA server. |
|
Step 3 |
Configure the PIX Firewall's host name and domain nameThe host name and domain name are required to associate the fully qualified domain name (FQDN) with the keys and certificates used by IPSec. |
|
Step 4 |
Generate RSA signature key pairsThe RSA signature key pairs are used to sign and encrypt IKE key management messages used to obtain a certificate. |
|
Step 5 |
Declare a CASpecify the nickname and IP address of the CA. |
|
Step 6 |
Configure CA communication parametersSpecify CA, RA, and retry parameters. |
|
Step 7 |
Authenticate the CAObtain the CA's public key and certificate. |
|
Step 8 |
Request signed certificatesRequest signed certificates from your CA for all of your PIX Firewall's RSA key pairs. |
|
Step 9 |
Save the configurationSave the configuration to Flash memory. |
|
Step 10 |
Verify CA support configurationVerify CA support configuration with various show commands. |
|
Step 11 |
Monitor and maintain CA interoperability (optional)Delete certificates and update CRLs. |
Step 1: Manage Flash Memory Usage (Optional)
In some cases, storing certificates and CRLs locally will not present a problem. However, in other cases, memory might become an issueparticularly if your CA supports an RA and a large number of CRLs are stored on your PIX Firewall. A PIX Firewall stores the following types of certificates:
RSA signature key pairs
Its own certificate
The CA's certificate
Two RA certificates (only if the CA supports RA)
The PIX Firewall stores the following numbers of CRLs:
One, if the CA does not support an RA
Multiple, if the CA supports an RA
Step 2: Set the PIX Firewall's Date and Time
Ensure that the PIX Firewall's time and date have been accurately set with the show clock command. The clock must be accurately set before generating RSA key pairs and enrolling with the CA server because the keys and certificates are time-sensitive.
To set the PIX Firewall's time and date, use the clock set configuration command. The command syntax is as follows:
clock set hh:mm:ss day month year clock set hh:mm:ss month day year
|
hh:mm:ss |
Current time in hours (military format), minutes, and seconds |
|
day |
The current day of the month, for example, 1 |
|
month |
The current month expressed as the first three characters of the month, for example, apr for April |
|
year |
The current year expressed as four digits, for example, 2001 |
The following example sets the time to one second before midnight, December 31, 2000:
PIX1(config)# clock set 23:59:59 31 dec 2000
Cisco's PKI protocol uses the clock to make sure that a CRL is not expired. Otherwise, the CA might reject or allow certificates based on an incorrect time stamp.
NOTE
The lifetime of a certificate and the CRL is checked in GMT time. If you are using IPSec with certificates, set the PIX Firewall clock to GMT time to ensure that CRL checking works correctly.
Step 3: Configure the PIX Firewall's Host Name and Domain Name
You must configure the PIX Firewall's host name and IP domain name if this has not already been done. This is required because the PIX Firewall assigns a FQDN to the keys and certificates used by IPSec, and the FQDN is based on the host name and IP domain name you assign to the PIX Firewall. For example, a certificate is named "pix1.xyz.com" based on a PIX Firewall host name of "pix1" and a PIX Firewall IP domain name of "xyz.com."
To configure the PIX Firewall's host name and IP domain name, there are two commands to use. To configure the PIX Firewall's host name, use the following command:
hostname newnameTo configure the PIX Firewall's IP domain name, use the following command:
domain-name nameStep 4: Generate RSA Key Pairs
RSA key pairs are used to sign and encrypt IKE key management messages and are required before you can obtain a certificate for your PIX Firewall.
To generate an RSA key pair, enter the following command in configuration mode:
ca generate rsa {key | specialkey} key_modulus_size|
key |
This specifies that one general purpose RSA key pair will be generated. |
|
specialkey |
This specifies that two special purpose RSA key pairs will be generated instead of one general purpose key. |
|
key_modulus_size |
The size of the key modulus, which is between 512 and 2048 bits. Choosing a size greater than 1024 bits might cause key generation to take a few minutes, but it increases key entropy or life. |
The ca generate rsa command is not saved in the PIX Firewall configuration. However, the keys generated by this command are saved in the persistent data file in Flash memory, which is never displayed to the user or backed up to another device.
In the following example, one general purpose RSA key pair is to be generated. The selected size of the key modulus is 512.
pixfirewall(config)#ca generate rsa key 512
Step 5: Declare a CA
Declare one CA to be used by your PIX Firewall with the ca identity command in configuration mode. You can also specify the location of the CA server's CGI script and the LDAP IP address, if used. The command syntax is as follows:
ca identity ca_nickname ca_ipaddress [:ca_script_location] [ldap_ip address]
|
ca_nickname |
The CA's name. Enter any string that you desire. (If you previously declared the CA and just want to update its characteristics, specify the name you previously created.) The CA might require a particular name, such as its domain name. |
|
ca_ipaddress |
The CA's IP address. |
|
:ca_script_location |
The default location and script on the CA server is /cgi-bin/pkiclient.exe. If the CA administrator has not put the CGI script in this location, provide the location and the name of the script in the ca identity command. |
|
ldap_ip address |
(Optional) Specify the IP address of the LDAP server. By default, querying a certificate or a CRL is done with Cisco's PKI protocol. If the CA supports LDAP, query functions can also use LDAP. |
An example of entering a ca identity command is as follows:
pixfirewall(config)#ca identity labca 172.30.1.51
Step 6: Configure CA Communication Parameters
Configure CA communication parameters with the ca configure command in configuration mode. You can use the command to indicate whether to contact the CA or an RA to obtain a certificate. Use different parameters for each type of supported CA. The command syntax is as follows:
ca configure ca_nickname {ca | ra} retry_period retry_count [crloptional]
|
ca_nickname |
The CA's name. Use the nickname entered with the ca identity command. |
|
ca | ra |
Indicates whether to contact the CA or RA when using the ca configure command. Some CA systems provide an RA, which the PIX Firewall contacts instead of the CA. |
|
retry_period |
Specifies the number of minutes the PIX Firewall waits before resending a certificate request to the CA when it does not receive a response from the CA to its previous request. Specify from 1 to 60 minutes. By default, the firewall retries every minute. |
|
retry_count |
Specifies how many times the PIX Firewall will resend a certificate request when it does not receive a certificate from the CA for the previous request. Specify from 1 to 100. The default is 0, which indicates that there is no limit to the number of times the PIX Firewall should contact the CA to obtain a pending certificate. |
|
crloptional |
Allows other peers' certificates to be accepted by your PIX Firewall even if the appropriate CRL is not accessible to your PIX Firewall. The default is without crloptional. |
An example of defining VeriSign CA server-related commands is as follows. The IP address of onsiteipsec.verisign.com server is 172.31.1.50.
pixfirewall(config)#ca identity vsec.cisco.com 172.31.1.50 pixfirewall(config)#ca configure vsec.cisco.com ca 1 20 crloptional
Note that the CA mode is specified.
An example of defining a Baltimore or an Entrust CA server is as follows. The IP address of the CA server is 172.30.1.51.
pixfirewall(config)#ca identity labca 172.30.1.51 172.30.1.51 pixfirewall(config)#ca configure labca ra 1 20 crloptional
The second IP address is for an LDAP query server running on the same host. Note that the RA mode is specified.
An example of defining a Microsoft Windows 2000 CA is as follows:
pixfirewall(config)#ca identity labca 172.30.1.51:/certsrv/mscep/mscep.dll pixfirewall(config)#ca configure labca ra 1 20 crloptional
Step 7: Authenticate the CA
Authenticate the CA to verify that it is legitimate by obtaining its public key and its certificate with the ca authenticate command in configuration mode. After entering the command, manually authenticate the CA's public key by contacting the CA administrator to compare the CA certificate's fingerprint. An RA, if used (as in the Entrust CA), acts as a proxy for a CA. The command syntax is as follows:
ca authenticate ca_nickname [fingerprint]
|
ca_nickname |
The CA's name. Use the nickname entered with the ca identity command. |
|
fingerprint |
A key consisting of alphanumeric characters the PIX Firewall uses to authenticate the CA's certificate. The fingerprint is optional and is used to authenticate the CA's public key within its certificate. The PIX Firewall discards the CA certificate if the fingerprint that you included in the command statement is not equal to the fingerprint within the CA's certificate. Depending on the CA you are using, you might need to ask your local CA administrator for this fingerprint. You also have the option to authenticate the public key manually by comparing the two fingerprints after you receive the CA's certificate, rather than entering it within the command statement. |
An example of authenticating a CA is as follows:
pixfirewall(config)#ca authenticate labca
The certificate has the following attributes:
Step 8: Request Signed Certificates
Request signed certificates from your CA for all your PIX Firewall's RSA key pairs using the ca enroll command. Before entering this command, have your CA administrator authenticate your PIX Firewall manually before granting its certificates. The command syntax is as follows:
ca enroll ca_nickname challenge_password [serial] [ipaddress]|
ca_nickname |
The CA's name. Use the nickname entered with the ca identity command. |
|
challenge_password |
A required password that gives the CA administrator some authentication when a user calls to ask for a certificate to be revoked. It can be up to 80 characters in length. |
|
serial |
Specifies the PIX Firewall's serial number (optional). |
|
ipaddress |
The PIX Firewall's IP address (optional). |
The ca enroll command requests certificates from the CA for all your PIX Firewall's RSA key pairs. This task is also known as enrolling with the CA.
During the enrollment process, you are prompted for a challenge password that can be used by the CA administrator to validate your identity. Do not forget the password you use. (Technically, enrolling and obtaining certificates are two separate events, but they both occur when the ca enroll command is issued.)
Your PIX Firewall needs a signed certificate from the CA for each of your PIX Firewall's RSA key pairs. If you already have a certificate for your keys, you will not be able to complete this command; instead, you will be prompted to remove the existing certificate first.
If you want to cancel the current enrollment request, use the no ca enroll command.
An example of authenticating a CA is as follows:
pixfirewall(config)#ca enroll labca mypassword1234567The argument mypassword1234567 in the example is a password, which is not saved with the configuration.
NOTE
The password is required if your certificate needs to be revoked, so it is crucial that you remember this password. Note it and store it in a safe place.
The ca enroll command requests as many certificates as there are RSA key pairs. You need to perform this command only once, even if you have special usage RSA key pairs.
NOTE
If your PIX Firewall reboots after you issued the ca enroll command but before you received the certificates, you must reissue the command and notify the CA administrator.
Step 9: Save the Configuration
Save your configuration with the ca save all and write memory commands.
The ca save all command allows you to save the PIX Firewall's RSA key pairs; the CA, the RA, and the PIX Firewall's certificates; and the CA's CRLs in the persistent data file in Flash memory between reloads. The no ca save command removes the saved data from PIX Firewall's Flash memory. The ca save command itself is not saved with the PIX Firewall configuration between reloads.
The write memory command stores current CA configuration in Flash memory.
Step 10: Verify CA Support Configuration
Use the show ca identity command to view the current CA identity settings stored in RAM.
Use the show ca configure command to view CA communication parameter settings.
Use the show ca certificate command to verify that the enrollment process was successful and to view PIX Firewall, CA, and RA certificates.
Use the show ca mypubkey rsa command to view your RSA key pairs. Example 7-1 displays sample output from the show ca mypubkey rsa command.
Example 7-1 show ca mypubkey rsa Command Output
|
% Key pair was generated at: 15:34:55 Jan 01 2000 |
|
|
|
Key name: labca.cisco.com |
|
Usage: General Purpose Key |
|
Key Data: |
|
305c300d 06092a86 4886f70d 01010105 00034b00 30480241 00c31f4a ad32f60d |
|
6e7ed9a2 32883ca9 319a4b30 e7470888 87732e83 c909fb17 fb5cae70 3de738cf |
|
6e2fd12c 5b3ffa98 8c5adc59 1ec84d78 90bdb53f 2218cfe7 3f020301 0001. |
Step 11: Monitor and Maintain CA Support
The following steps are optional, depending on your particular requirements:
Request a CRL
Delete PIX Firewall's RSA keys and certificates
Delete CA data from Flash memory
Request a CRL
Request a CRL at any time with the ca crl request command. The PIX Firewall automatically requests a CRL from the CA at various times, depending on whether the CA is in the RA mode or not. If the CA is not in the RA mode, a CRL is requested whenever the system reboots and finds that it does not already contain a valid (unexpired) CRL. If the CA is in the RA mode, no CRL can be obtained until a peer's certificate is sent by an IKE exchange. When a CRL expires, the PIX Firewall automatically requests an updated one. Until a new valid CRL is obtained, the PIX Firewall will not accept peers' certificates.
Delete PIX Firewall's RSA Keys and Certificates
Delete all your PIX Firewall's RSA keys with the ca zeroize rsa command. The command deletes all RSA keys that were previously generated by your PIX Firewall. If you issue this command, you must also perform two additional tasks. Perform these tasks in the following order:
Use the no ca identity command to manually remove the PIX Firewall's certificates from the configuration. This deletes all the certificates issued by the CA.
Ask the CA administrator to revoke your PIX Firewall's certificates at the CA. Supply the challenge password you created when you originally obtained the PIX Firewall's certificates using the crypto ca enroll command.
Delete CA Data from Flash Memory
The no ca save command removes the PIX Firewall's RSA key pairs; the CA, the RA, and the PIX Firewall's certificates; and the CA's CRLs from the persistent data file in Flash memory.
Example of a CA Server Configuration
Example 7-2 shows a sample of CA commands for an Entrust CA server.
Example 7-2 CA Commands for an Entrust CA Server
|
pix1# write terminal |
|
! |
|
hostname Pix1 |
|
domain-name labca.cisco.com |
|
! |
|
ca identity labca 172.30.1.51:cgi-bin/pkiclient.exe 172.30.1.51 |
|
ca configure labca ra 1 100 crloptional |
NOTE
You must use the show ca mypubkey rsa command to view your RSA key pairs. You must use the show ca certificate command to view PIX Firewall, CA, and RA certificates.
Task 3: Configure IKE
NOTE
The following steps are identical to those for configuring preshared keys except for Step 2, which is the only step covered here. Refer to Chapter 6 for the detailed explanation of each step not covered here.
Configuring IKE consists of three essential steps.
|
Step 1 |
Enable or disable IKEEnable or disable IKE (ISAKMP) negotiation for authentication and key exchange. Set the ISAKMP identity. |
|
Step 2 |
Create IKE policiesDefine a suite of IKE policies to establish ISAKMP peering between two IPSec endpoints. |
|
Step 3 |
Verify IKE configurationThe write terminal and show isakmp policy commands display configured policies. |
Step 2: Create IKE Policies
The next major step in configuring the Pix Firewall ISAKMP support is to define a suite of ISAKMP policies. The goal of defining a suite of IKE policies is to establish ISAKMP peering between two IPSec endpoints. Use the IKE policy details gathered during the planning task. Configure an IKE phase one policy with the isakmp policy command to match expected IPSec peers:
|
Step 1 |
Identify the policy with a unique priority number. |
|
|
|
|
Step 2 |
Specify the encryption algorithm. The default is des. |
|
|
|
|
Step 3 |
Specify the hash algorithm. The default is sha. |
|
|
|
|
Step 4 |
Specify the authentication method. |
|
|
NOTE
If you specify the authentication method using a CA server, you must use the rsa-sig authentication method.
|
Step 5 |
Specify the Diffie-Hellman group identifier. The default is group 1. |
|
|
|
|
Step 6 |
Specify the IKE SA's lifetime. The default is 86400. |
|
|
NOTE
PIX Firewall software has preset default values. If you enter a default value for a given policy parameter, it will not be written in the configuration. If you do not specify a value for a given policy parameter, the default value is assigned. You can observe configured and default values with the show isakmp policy command.
When configuring ISAKMP (IKE) for certificate-based authentication, it is important to match the IKE identity type with the certificate type. The ca enroll command used to acquire certificates will, by default, get a certificate with the identity based on host name. The default identity type for the isakmp identity command is based on the address instead of the host name. You can reconcile this disparity of identity types by using the isakmp identity hostname command when configuring CA support.
If you are using RSA signatures as your authentication method in your IKE policies, Cisco recommends you set each participating peer's identity to the host name. Otherwise, the ISAKMP security association to be established during phase one of IKE might fail.
Use the no isakmp identity hostname command to reset the IKE identity to the default value of IP address.
Task 4: Configure IPSec
The next major task in configuring PIX Firewall IPSec is to configure IPSec parameters that you previously determined. This section presents the steps used to configure IPSec parameters for IKE RSA signatures.
NOTE
The following steps are identical to those for configuring preshared keys. Refer to Chapter 6 for the detailed explanation of each step.
The general tasks and commands used to configure IPSec encryption on the PIX Firewall are summarized as follows. Along with this chapter, they are covered in detail in Chapter 6.
|
Step 1 |
Configure crypto access lists with the access-list command. |
|
Step 2 |
Configure transform set suites with the crypto ipsec transform-set command. |
|
Step 3 |
Configure crypto maps with the crypto map command. |
|
Step 4 |
Configure global IPSec SA lifetimes with the crypto ipsec security-association lifetime command. |
|
Step 5 |
Apply crypto maps to the terminating/originating interface with the crypto map map-name interface command. |
|
Step 6 |
Verify IPSec configuration using the variety of available show commands. |
Task 5: Test and Verify VPN Configuration
The last major task in configuring PIX Firewall IPSec is to test and verify the IKE and IPSec configuration accomplished in the previous tasks. This section summarizes the methods and commands used to test and verify the VPN configuration including CA, IKE, and IPSec configuration.
NOTE
Although many of the test and verify commands are used the same as when configuring preshared keys, there are some commands unique to RSA signatures.
Test and verify CA configuration with the commands in Table 7-3.
Table 7-3 Commands to Test and Verify CA Configuration
|
Command |
Description |
|
show ca identity |
Displays the CA your PIX Firewall uses |
|
show ca configure |
Displays the parameters for communication between the PIX Firewall and the CA |
|
show ca mypubkey rsa |
Displays the PIX Firewall's public RSA keys |
|
show ca certificate |
Displays the current status of requested certificates and relevant information of received certificates, such as CA and RA certificates |
Debug CA messages with the debug crypto ca command. This command displays communications between the PIX Firewall and the CA server.
Delete RSA keys and CA certificates with the commands in Table 7-4.
Table 7-4 Commands to Delete RSA Keys and CA Certificates
|
Command |
Description |
|
ca zeroize rsa |
Deletes all RSA keys that were previously generated by your PIX Firewall. If you issue this command, you must also enter the no ca identity command to delete CA certificates and ask the CA administrator to revoke your PIX Firewall's certificates at the CA. |
|
no ca identity |
Manually removes the PIX Firewall's certificates from the configuration; this command deletes all the certificates issued by the CA. |
Test and Verify IKE Configuration
Test and verify IKE configuration on the PIX Firewall with the commands in Table 7-5.
Table 7-5 Commands to Test and Verify IKE Configuration
|
Command |
Description |
|
show access-list |
Lists the access-list command statements in the configuration. Used to verify general access lists to permit IPSec traffic. |
|
show isakmp |
Displays configured ISAKMP policies in a format similar to a write terminal command. |
|
show isakmp policy |
Displays default and any configured ISAKMP policies. |
Test and Verify IPSec Configuration
Test and verify IPSec configuration on the PIX Firewall with the commands in Table 7-6.
Table 7-6 Commands to Test and Verify IPSec Configuration
|
Command |
Description |
|
show access-list |
Lists the access-list command statements in the configuration. Used to verify that the crypto access lists select interesting traffic. Displays number of packets that matched the access list. |
|
show crypto map |
Displays the configured crypto map parameters. |
|
show crypto ipsec transform-set |
Displays the configured IPSec transform sets. |
|
show crypto ipsec security-association lifetime |
Displays the correct global IPSec SA lifetime values. |
Monitor and Manage IKE and IPSec Communications
Monitor and manage IKE and IPSec communications between the PIX Firewall and IPSec peers with the commands in Table 7-7.
Table 7-7 Commands to Monitor and Manage IKE and IPSec Communications
|
Command |
Description |
|
show isakmp sa |
Displays the current status of ISAKMP SAs |
|
show crypto ipsec sa |
Displays the current status of IPSec SAsuseful for ensuring traffic is being encrypted |
|
clear crypto isakmp sa |
Clears ISAKMP SAs |
|
clear crypto ipsec sa |
Clears IPSec SAs |
|
debug crypto isakmp |
Displays ISAKMP (IKE) communications between the PIX Firewall and IPSec peers |
|
debug crypto ipsec |
Displays IPSec communications between the PIX Firewall and IPSec peers |
Summary
This chapter provided detailed information on how to configure a Cisco Secure PIX Firewall to use a CA for IPSec VPNs. It started by looking at the tasks involved in configuring CA support for IPSec encryption. Many of these tasks were the same as in Chapter 6, which covers preshared key support for Cisco PIX-based VPNs. This chapter also provided an overview of CAs and their related technologies. Following this overview, the chapter looked at the configuration steps involved in configuring CA support for a Cisco IOS router. After the CA was configured, the chapter continued with the rest of the IPSec configuration tasks until the VPN was established.
Now that you have configured both preshared keys and CA support on Cisco PIX Firewalls, Chapter 8, "Troubleshooting Cisco PIX Firewall VPNs," looks at the troubleshooting tools that are available for Cisco PIX-based IPSec VPNs.
Review Questions
1. SCEP stands for what?
2. What is the maximum RSA key modulus size?
3. In its default state, which PIX-compatible CA does not support SCEP?
4. Why must you set the time and date on a PIX Firewall before enabling CA support?
5. What is the minimum RSA key modulus size?
6. What are the RSA key pairs used for?
7. What command allows you to save the PIX Firewall's RSA key pairs; the CA, the RA, and PIX Firewall's certificates; and the CA's CRLs in the persistent data file in Flash memory between reloads?
8. Which peer authentication method is considered to be the stronger, preshared or RSA encryption?
9. What command removes the PIX Firewall's RSA key pairs; the CA, the RA, and PIX Firewall's certificates; and the CA's CRLs from the persistent data file in Flash memory?
10. What command deletes all RSA keys that were previously generated by your PIX Firewall?
