And I have a certificate for the server that's valid. I've imported the certificate into my x509 anchors on the client, and keychain access says that it's valid. When I try to setup the vpn connection in internet connect on the client, I select certificate under machine authentication and get the following error: ' No Machine Certificates Found. Chapter 4: Common IPsec VPN Issues Cisco Press. The output of the ISAKMP SA negotiation between Routers A and B. Routers A and B are using preshared IKE authentication in a site-to-site VPN.
Hi there, I am planning to move users in my organisation from a Cisco IPsec VPN to the newer Cisco AnyConnect SSL VPN client. We are using the Cisco ASA 5510 (in failover mode). Previously while using the IPsec client we used pre-shared keys and a AAA (active directory server). As AnyConnect no longer supports pre-shared keys the only way for us to have two factor authentication is to use certificates. To further confound our situation Cisco also do not support using the ASA as a local CA for the issuance of these certificates while in failover mode.
I have therefore setup a Microsoft Certificate authority. 1st of all I tested using a local CA (on the ASA itself) and issued certificates to my AnyConnect clients (with failover mode disabled - mainly did this to get the hang of it. This worked fine - clients connect no problem. 2nd I then enabled failover again - which disabled the local CA on the ASA and issued the CA certificate from my Microsoft CA to the ASA. I also then signed a requested certificate for the AnyConnect client and added it to the ASA.
So far so good. I then attempted connecting by going to the ASAs external web address in my browser AsaAddress.domain.co.uk this automatically downloaded the version of AnyConnect I had uploaded to the ASA and prompted me to accept the certificate I had issued for this client. I accepted the prompt and was connected. All seemed to work well. 3rdly and this is my problem - I then disconnected from the VPN and attempted connecting just by using the installed VPN client.
(not by browser) No luck. Every time I try I get 'No valid certificates available for authentication' and 'certificate validation failure'. This makes no sense. In the second step I had just connected and used the same certificate I issued for the client to authenticate with? 4th - I tried again to connect by going through the browser interface (which then uses the client anyway) and it worked fine?! So the certificate is obviously fine so why am I getting these errors when using the client?
My users will only be using the client so using the browser is not an acceptable workaround? If anyone can help or has any ideas I would be most grateful! I am using: Cisco ASA 9.1(5) AnyConnect 3.1.06073.
Digital Certificates for IPSec VPNs You have learned from Chapter 2, 'IPSec Overview,' that pre-shared keys and digital certificates are two primary authentication methods in IKE that can be used in the context of IPSec VPN deployments. You also saw that pre-shared keys with IKE Main Mode cannot be used for remote access scenarios in which the responder does not know the source IP address of the initiator in advance. Although Aggressive Mode can alleviate this issue, given that Aggressive Mode does not offer any form of ID protection, such a solution may not be acceptable. You also saw XAUTH provide an additional level of authentication for Aggressive Mode with pre-shared keys.
Another solution for such a scenario is the use of digital certificates instead of pre-shared keys. In addition to solving the authentication issue for remote access users, digital certificate–based authentication is also becoming increasingly popular for large IPSec VPN site-to-site deployments because it is more scalable than pre-shared keys. Without digital signatures, users must either manually exchange public keys or secrets between each pair of devices that use IPSec to protect communications. This is cumbersome because when a new device is added to the network, users are required to make configuration changes on every other device it securely communicates with. By using digital certificates, users simply enroll each new device with a Certificate Authority, and none of the other devices need modification. When the new device attempts an IPSec connection, IKE automatically exchanges certificates with the peer and the devices authenticate each other, thus making a large-scale IPSec VPN deployment very scalable using digital certificates. An entire book can be written on digital certificates and PKI.
You will be introduced to some of the components of PKI in the remainder of this chapter. Digital Certificates Digital certificates provide a means to digitally authenticate devices and individual users. These certificates act kind of like an online passport—they are tamper proof and cannot be forged.
An individual that wishes to send encrypted data obtains a digital certificate from a Certificate Authority (CA). The CA issues an encrypted digital certificate containing the applicant's public key and a variety of other identification information. The CA makes its own public key readily available. The recipient of the encrypted message uses the CA's public key to decode the digital certificate attached to the message, verifies it as issued by the CA, and then obtains the sender's public key and identification information held within the certificate. With this information, the recipient can send an encrypted reply.
Public key infrastructure (PKI) is the enabler for managing digital certificates for IPSec VPN deployment. The most widely used format for digital certificates is X.509, which is supported by Cisco IOS. Certificate Authority—Enrollment The Certificate Authority is the entity that issues the digital certificate. Enrollment is the process of obtaining a new certificate from a certificate authority. The IOS command crypto ca trustpoint is used to declare the specific CA that the router should use for enrollment. As PKI is deployed on larger networks, enrollment becomes a big problem if it requires manual enrollment. The Cisco auto-enroll feature will be useful for this situation.
With this feature, an IOS router can be configured to periodically contact the CA and request a new certificate. Auto enrollment may be configured to generate new encryption keys or to continue to use existing keys. Routers can initially auto-enroll with CA and when the certificate lifetime expires, the router re-enrolls automatically. Example 4-11 shows the configuration snippet for enrolling a Cisco router to a CA as well as the auto-enrollment command.
Example 4-11. Cisco IOS Configuration for Enrolling with CA crypto ca trustpoint PublicCA enrollment url subject-name OU=Engineering., O=ABC auto-enroll 95 regenerate password cisco rsakeypair public-ca Auto enrollment makes sure that the router re-enrolls with the CA after the certificate lifetime expires.
However, while re-enrollment is occurring, new incoming IKE connections cannot be established because the existing certificate and key pairs are deleted immediately after the new key is generated, and the new key does not have a certificate to match it until the enrollment is complete. A simple workaround is to have the router re-enroll to the CA before the certificate lifetime expires, using the IOS command auto enroll regenerate.' It's possible that a router may be required to enroll with multiple certificate servers. Each CA server has an independent policy and may have different requirements as to general versus special purpose certificates or key length. Also, although it does not substantially affect the security of the system, VPN providers would like to use different key pairs for each VPN.
Using the same key pair gives the impression of lower security, which is detrimental to end-user satisfaction. Example 4-12 shows an example of enrollment to multiple CAs using multiple key pairs. Example 4-12. Enrollment with Multiple CAs Using Multiple Key Pairs vpn-gw1-east#show running-config! Crypto ca trustpoint PublicCA enrollment url revocation-check crl rsakeypair public-ca match certificate engg!
Crypto ca trustpoint IOSCA enrollment url revocation-check none rsakeypair ios-ca! Vpn-gw1-east#show cry ca trustpoints Trustpoint PublicCA: Subject Name: cn=Certificate Manager ou=nsite-rtp o=cisco-rtp l=rtp st=nc c=US Serial Number: 01 Certificate configured. CEP URL: Trustpoint IOSCA: Subject Name: cn=Certmanager O =cisco OU =nsite Serial Number: 01 Certificate configured.
CEP URL: Certificate Revocation Situations may arise in which the certificate issued by a CA may need to be revoked before the lifetime of the certificate expires. One such situation would be if the certificate itself is known to have been compromised. Yet another more common situation in the context of IPSec VPNs is when temporary access to a VPN is desired. For example, assume that a user that belongs to Company A may want temporary access to Company B's VPN, and is granted a certificate for access. The access would need to be revoked after a short time in order to maintain integrity of the network. Another precaution maintained prevents users whose certificate has been revoked from being granted access to a VPN.
To achieve this, a list of certificates that have been revoked, known as a Certificate Revocation List (CRL), is sent periodically from the CA to the IPSec gateway. When an incoming IKE session is initiated for a user whose certificate is revoked, the CRL will be checked to see if the certificate is valid; if the certificate is revoked, IKE will fail and access to the VPN will be denied. Example 4-13 shows Cisco IOS configuration to check for a revoked certificate in the CRL.
Example 4-13. Cisco IOS Configuration for Checking Certificate Status Using CRL crypto ca trustpoint PublicCA enrollment url revocation-check crl rsakeypair public-ca match certificate eng Once the CRL is obtained by the VPN endpoint from the CA, it will maintain it until the Certificate Revocation timer expires or if the endpoint reloads. An alternate mechanism for checking the validity of a certificate is the use of the Online Certificate Status Protocol (OCSP). Unlike CRLs, which provide only periodic certificate status checks, OCSP can provide timely information regarding the status of a certificate. Example 4-14 shows the configuration to enable OCSP to check certificate status.
Example 4-14. Cisco IOS Configuration for Checking Certificate Status Using OCSP crypto ca trustpoint PublicCA enrollment url revocation-check ocsp rsakeypair public-ca match certificate eng If the deployment needs more granular control over the permission to connect users (even those with valid certificates), certificate-based ACLs may be used. For example, there may be situations in which you wish to allow only a subset of users with a valid certificate to connect to the VPN. The configuration in Example 4-15 allows only users whose certificates contain 'Engineering' in the subject name. Example 4-15.
Cisco IOS Configuration for Certificate-Based ACLs crypto ca certificate map eng 10 subject-name co Engineering crypto ca trustpoint PublicCA match certificate eng enrollment url auto-enroll 95 regenerate password cisco rsakeypair public-ca Digital certificates as an authentication method for large-scale IPSec VPNs is becoming increasingly popular for both remote access and site-to-site deployments. You learned in this section that the use of digital certificates requires some form of PKI infrastructure such as a CA server. Network administrators should be aware that managing the PKI infrastructure and digital certificates can be much more complicated than username-based password management. The benefits to be gained by the additional work by network administration should be carefully considered before using digital certificates.