Seguridad y VPN : Negociación IPSec/Protocolos IKE

Una introducción al cifrado de la seguridad IP (IPSec)

22 Abril 2008 - Traducción manual
Otras Versiones: PDFpdf | Traducción Automática (31 Julio 2013) | Inglés (19 Mayo 2008) | Comentarios

Contenidos

Introducción
Requisitos previos
     Requisitos
     Componentes utilizados
     Convenciones
Antecedente
Vocabulario de cifrado
Configuración de ISAKMP
     1. Claves previamente compartidas
     2. Utilización de una CA
Configuración de IPSec
     Crear ACL ampliada
     Creación de transformaciones IPSec
     Creación de correspondencia de criptografía
     Aplicación de crypto map en la interfaz
Consideraciones de memoria y CPU
Salida de los comandos show
     Resultado relacionado con IKE
     Comandos show relacionados con IPSec
Configuraciones de muestra
     Diagrama de la red
     Configuraciones
Información acerca de la depuración
Consejos sobre instrumentación de IPSec
Ayuda y enlaces relevantes
     Discusiones relacionadas de la comunidad de soporte de Cisco
Información sobre IPSec
     Más configuraciones de ejemplo para IPSec.
Referencias

Introducción

Este documento presenta IPSec a los usuarios en un formato rápido pero conciso. Este documento contiene la configuración básica del intercambio de claves de Internet (IKE) con claves previamente compartidas, IKE con una autoridad de certificación IPSec. Este no es un documento exhaustivo. Sin embargo, este documento ayuda a comprender las tareas y el orden en que se realizan.

advertenciasAdvertencias: Existen restricciones rigurosas en la exportación de la criptografía “fuerte”. Si viola las leyes federales de los Estados Unidos será usted, y no Cisco, el responsable. Si tiene alguna pregunta acerca del control de las exportaciones, envíe un correo electrónico a export@cisco.com.

Requisitos previos

Requisitos

No hay requisitos específicos para este documento.

Componentes utilizados

Este documento no tiene restricciones en cuanto a versiones específicas de software y hardware.

Convenciones

Para obtener más información sobre las convenciones del documento, consulte las Convenciones sobre consejos técnicos de Cisco.

Antecedente

IPSec es la siguiente generación de plataforma de criptografía de capa de red para las plataformas de seguridad de Cisco (software Cisco IOS®, PIX y más) Originalmente descrito en las RFC 1825 a 1829, que actualmente están obsoletas, IPSec se discute en varios documentos presentados por IETF IP Security Working Groupleavingcisco.com. IPSec actualmente es compatible con los paquetes IP versión 4 unicast. La compatibilidad con IPv6 y multicast llegará en el futuro.

IPSec cuenta con los siguientes puntos fuertes sobre las ofertas actuales de Cisco:

  1. Multiproveedor: puesto que la estructura IPSec está estandarizada, los clientes no están sujetos a ningún proveedor específico. IPSec se encuentra en routers, firewalls, y escritorios de clientes (Windows, Mac, y más).

  2. Escalabilidad: IPSec se ha diseñado teniendo en cuenta las grandes empresas. Por este motivo, ha incorporado la administración de claves.

Nota: Si bien varias plataformas Cisco pueden utilizar IPSec, este documento está dirigido al software Cisco IOS.

Vocabulario de cifrado

Es necesario que conozca estos términos para comprender IPSec y leer el resto de este documento. Cuando se encuentre con acrónimos en otras secciones de este documento, consulte la página de definiciones.

Advanced Encription Standard (AES, Norma de cifrado avanzado): AES se finalizó como un algoritmo criptográfico aprobado de la norma de procesamiento de información federal (FIPS) para proteger la transmisión de datos electrónicos (FIPS PUB 197). AES se basa en el algoritmo Rijndael, que especifica cómo utilizar las claves con una longitud de 128, 192 o 256 bits para cifrar bloques de 128, 192 o 256 bits (las nueve combinaciones de longitud de clave y bloque son posibles).

Authentication Header (AH, Encabezamiento de autenticación): protocolo de seguridad que proporciona servicios de autenticación y detección de reproducción opcional. AH se ha incluido en los datos que se van a proteger (un datagrama de IP completo, por ejemplo). Es posible utilizar AH tanto solo como con la carga útil del servicio de cifrado (ESP). Consulte la sección RFC 2402leavingcisco.com.

Autenticación: esta es una de las funciones desde la estructura IPSec. La autenticación establece la integridad de los datos y asegura que no se verán alterados durante el tránsito. También proporciona una confirmación del origen de los datos.

Certification Authority (CA, Autoridad de certificación): una tercera entidad con la responsabilidad de emitir y revocar certificados. Cada dispositivo que tiene su propio certificado y la clave pública de la CA, puede autenticar cualquier otro dispositivo en un dominio de la CA. Este término también se aplica al software del servidor que proporciona dichos servicios.

Certificado: objeto firmado criptográficamente que contiene una identidad y una clave pública asociada a dicha identidad.

Criptografía clásica: mecanismo de cifrado propiedad de Cisco utilizado en la versión 11.2 del software Cisco IOS®. La criptografía clásica está disponible en la versión 11.3 del software Cisco IOS. Sin embargo, IPSec no se “retroadapta” a la versión 11.2 del software Cisco IOS. También verá el nombre "criptografía clásica" referida como "cifrado exprés" o "tecnología de cifrado de Cisco" (CET) en la documentación de marketing.

Certificate Revocation List (CRL, Lista de revocación de certificados): mensaje firmado de forma digital que muestra una lista con todos los certificados actuales pero revocados para una CA. Esto es análogo a un libro de números de tarjetas robadas que permite a los almacenes rechazar las tarjetas de crédito.

Correspondencia de criptografía: entidad de configuración del software Cisco IOS que realiza dos funciones principales. Primero, selecciona flujos de datos que necesitan un proceso de seguridad. Segundo, define la política para esos flujos y la entidad criptográfica a la que debe ir el tráfico.

La correspondencia de criptografía se aplica a una interfaz. El concepto de correspondencia de criptografía se introdujo en la criptografía clásica, pero se expandió para IPSec.

Integridad de datos: mecanismos de integridad de datos, mediante el uso de algoritmos basados en clave secreta o clave pública, que permiten al receptor de un conjunto de datos protegidos verificar que los datos no se han modificado durante el tránsito.

Confidencialidad de datos: método mediante el cual los datos protegidos se manipulan de modo que ningún atacante pueda leerlos. Esto se logra comúnmente a través del cifrado de datos y claves que sólo están disponibles para las partes que participan en la comunicación.

Autenticación del origen de los datos: servicio de seguridad en el que el receptor puede verificar que los datos protegidos los ha originado sólo el emisor. Este servicio necesita un servicio de integración de datos además de un mecanismo de distribución de clave, en donde sólo el emisor y el receptor comparten una clave secreta.

Data Encryption Standard (DES, Estándar de cifrado de datos): la DES se publicó en 1977 por la oficina nacional de estándares y es un esquena de cifrado de claves secretas basado en el algoritmo Lucifer de IBM. El contraste de DES es una clave pública. Cisco utiliza DES en la criptografía clásica (longitudes de clave de 40 y 56 bits), cifrado de IPSec (clave de 56 bits) y en el Firewall PIX (clave de 56 bits).

Diffie-Hellman: método mediante el cual se establece una clave compartida en un medio inseguro. Diffie-Hellman es un componente de Oakley (consulte la definición de Oakley que se encuentra en esta lista de definiciones).

DSS: algoritmo de firma digital diseñado por el instituto nacional de estándares y tecnología (NIST) basado en la criptografía de clave pública. DSS no realiza el cifrado del datagrama de usuario. DSS es un componente de la criptografía clásica, así como la tarjeta Redcreek IPSec, pero no se ha implementado en el software Cisco IOS.

Adaptador del servidor de cifrado (ESA): hardware basado en la aceleración de cifrado que se utiliza en los

  • Routers 7204 y 7206 de Cisco

  • Procesador 2-40s de interfaz virtual (VIP2-40) de segunda generación en todos los routers de la serie 7500 de Cisco

  • VIP2-40 en los routers de la serie 7000 de Cisco que tengan el Router Switch Processors de Cisco (RSP7000) y las tarjetas interfaz (RSP7000CI) de chasis serie 7000 de Cisco instaladas.

IPSec no utiliza la aceleración ESA, pero trabaja con un equipo que incluye una tarjeta ESA en forma de sólo software.

Carga útil de seguridad encapsulada (ESP): protocolo de seguridad que proporciona confidencialidad de datos y protección con servicios de autenticación y detección de reproducción opcionales. ESP encapsula completamente los datos del usuario. ESP puede utilizarse sólo o junto con AH. Consulte RFC 2406: Carga útil de seguridad encapsulada (ESP)leavingcisco.com.

Hash: función unidireccional que coge un mensaje de entrada con una longitud arbitraria y produce un resumen con una longitud fija. Cisco utiliza tanto Secure Hash Algorithm (SHA) como Message Digest 5 (MD5) en la implementación de la estructura IPSec (consulte la definición de HMAC).

HMAC: mecanismo de autenticación de mensajes mediante hashes criptográficos como SHA y MD5. Para un debate más exhaustivo de HMAC, consulte RFC 2104leavingcisco.com.

Internet Key Exchange (IKE, Intercambio de claves de Internet): protocolo híbrido que utiliza una parte del protocolo Oakley y otra parte de un conjunto de protocolos llamado SKEME en el marco de la Asociación de seguridad en Internet y el Protocolo de administración de claves (ISAKMP). IKE se utiliza para establecer una política de seguridad compartida y las claves autenticadas para los servicios (como IPSec) que requieren una clave. Antes de que se pueda transmitir cualquier tráfico de IPSec, cada router, firewall o host debe ser capaz de identificar la identidad de su par: es posible realizarlo manualmente introduciendo claves previamente compartidas en ambos hosts, por un servicio de CA, o el próximo DNS seguro (DNSSec). Este es el protocolo que antiguamente se conocía como ISAKMP/Oakley, y se define en RFC 2409: Intercambio de claves de Internet (IKE)leavingcisco.com. Un punto de confusión importante es que ambos acrónimos, "ISAKMP" e "IKE", se utilizan en el software Cisco IOS para referirse al mismo concepto. Sin embargo, estos dos elementos son algo diferentes.

Internet Security Association and Key Management (ISAKMP, Asociación de seguridad en Internet y Protocolo de administración de claves): estructura de protocolo que define el mecanismo de implementación de un protocolo de intercambio de claves y la negociación de las políticas de seguridad. ISAKMP se define en la Asociación de seguridad en Internet y el Protocolo de administración de claves.

Transparencia IPSec NAT: la función de transparencia IPSec NAT incorpora el soporte para el tráfico de seguridad IP(IPSec) para circular a través de la traducción de direcciones de red (NAT) o puntos de traducción de direcciones de punto (PAT) de la red resolviendo diversas incompatibilidades conocidas entre NAT e IPSec. NAT Traversal es una característica que los dispositivos VPN autodetectan. No hay que seguir ningún paso para configurar un router que ejecute la versión 12.2(13)T y superiores del software Cisco IOS. Si ambos dispositivos VPN son compatibles con NAT-T, NAT Traversal se autodetectará y autonegociará.

ISAKMP/Oakley: Consulte IKE.

Message Digest 5(MD5): algoritmo de generación de hash unidireccional que produce un hash de 128 bits. Tanto MD5 como el Algoritmo de hash seguro (SHA) son variaciones del MD4, que se diseñó para reforzar la seguridad de este algoritmo de generación de hash. SHA es más seguro que MD4 y MD5. Cisco utiliza hashes para la autenticación dentro del marco IPSec.

Oakley: protocolo de intercambio de claves que define cómo adquirir material de codificación autenticado. El mecanismo básico de Oakley es el algoritmo Diffie-Hellman de intercambio de claves. Podrá encontrar la norma en RFC 2412: Protocolo de determinación de clave OAKLEYleavingcisco.com.

Perfect Forward Secrecy (PFS, Confidencialidad directa perfecta): PFS asegura que una clave IPSec SA no se ha derivado de otra clave secreta (como otra clav independiente) En otras palabras, si alguien interrumpe una clave, PFS asegura que el atacante no pueda derivar ninguna otra clave. Si no se habilita PFS, alguien podría interrumpir la clave secreta de IKE SA, copiar todos los datos protegidos de IPSec y, a continuación, hacer uso de la clave IKE SA para comprometer la configuración del IPSec SA con la IKE SA. Con PFS, la interrupción de IKE no dará al atacante un acceso inmediato a IPSec. Será necesario que el atacante interrumpa cada IPSec SA individualmente. La implementación de IPSec en el Cisco IOS utiliza PFS del grupo 1 (D-H 768 bit) de forma predeterminada.

Detección de reproducción: servicio de seguridad en el que el receptor puede rechazar paquetes antiguos o duplicados para evitar ataques con paquetes reproducidos (los ataques con paquetes reproducidos consisten en que el atacante envía paquetes antiguos o duplicados al receptor y que éste último crea que el tráfico falso es legítimo). La detección de reproducción se realiza mediante números de secuencia combinados con la autenticación, y es una característica estándar de IPSec.

RSA: algoritmo criptográfico de clave pública (nombrado con el nombre de sus inventores Rivest, Shamir y Adleman) con una clave de longitud variable. La principal desventaja de RSA es que es muy lenta para computar en comparación con los algoritmos populares de clave secreta, como DES. La implementación de IDE de Cisco utiliza el intercambio Diffie-Hellman para obtener claves secretas. Este intercambio puede autenticarse con RSA (o claves previamente compartidas). Con el intercambio Diffie-Hellman, la clave DES nunca recorre la red (ni siquiera de forma cifrada), lo que sí ocurre con la técnica de cifrado y firma RSA. RSA no es un dominio público, y debe tener licencia de RSA Data Security.

Security Association (SA, Asociación de seguridad): instancia de política de seguridad y material de codificación que se aplica al flujo de datos. Tanto IKE como IPSec utilizan SA, aunque cada una de las SA son independientes entre ellas. Los SA de IPSec son unidireccionales y únicos en cada protocolo de seguridad. Se necesita un conjunto de SA para un conducto de datos protegidos, uno por cada dirección del protocolo. Por ejemplo, si tiene un conducto que soporte ESP entre pares, es necesario una ESP SA para cada dirección. Los SA se identifican por la dirección de destino (punto final del IPSec), el protocolo de seguridad (AH o ESP) y el índice de parámetros de seguridad (SPI).

IKE negocia y establece los SA en nombre de IPSec. Un usuario también puede establecer un SA de IPSec manualmente.

Un SA de IKE se utiliza sólo para IKE. A diferencia de los SA de IPSec, que son bidireccionales.

Algoritmo de hash seguro (SHA): hash unidireccional propuesto por NIST. SHA se basa en MD4 y produce un digest de 160 bits. Puesto que SHA produce un digest de 160 bits, es más resistente a los ataques que los hashes de 128 bits (como el MD5), pero es más lento.

Transformación: una transformación describe un protocolo de seguridad (AH o ESP) con sus correspondientes algoritmos. Por ejemplo, ESP con el algoritmo de cifrado DES y HMAC-SHA para la autenticación.

Modo de transporte: modo de encapsulación para AH/ESP. El modo de transporte encapsula el segmento de datos de la capa superior (como el Protocolo de control de transmisión (TCP) o el Protocolo de datagrama de usuario (UDP) del IP original. Este modo sólo se puede utilizar cuando los pares son puntos extremos de la comunicación. El contraste del modo de transporte es el modo del túnel.

Modo de túnel: encapsulación del datagrama IP completo para IPSec. El modo de túnel sirve para proteger datagramas que tienen como origen o destino un sistema que no es IPSec (como en una red privada virtual VNP).

Configuración de ISAKMP

IKE existe sólo para establecer los SA para IPSec. Para ello, antes de nada, debe negociar una relación de SA (un SA para ISAKMP) con un par. Dado que IKE negocia su propia política, es posible configurar varias sentencias de políticas con diferentes sentencias de configuración y, de este modo, dejar que los dos host lleguen a un acuerdo. ISAKMP negocia:

  • Un algoritmo de cifrado: está limitado a un DES de 56 bits.

  • Un algoritmo de generación de hash: MD5 o SHA

  • Autenticación: firmas RSA, nonces cifrados RSA (números aleatorios"), o claves previamente compartidas

  • Duración de SA: en segundos.

Actualmente, existen dos métodos para configurar ISAKMP:

  1. Utilización de las claves previamente compartidas, que son fáciles de configurar.

  2. Utilización de CA, que es escalable por toda la organización.

Nota: Las negociaciones IKE se realizan en UDP 500. IPSec utiliza protocolos IP 50 y 51. Asegúrese de que tienen permiso a todas las listas de acceso que comparta con los pares.

1. Claves previamente compartidas

Este es el método rápido para configurar IKE. Mientras que la configuración IKE es simple y no utiliza una CA, no escala muy bien.

Para configurar IKE, es necesario:

  • Configurar el conjunto de protección ISAKMP

  • Configurar la clave ISAKMP

Configuración del conjunto de protección ISAKMP

Este comando crea el objeto política ISAKMP. Es posible tener varias políticas, pero en este ejemplo hay sólo una:

dt3-45a(config)#crypto isakmp policy 1dt3-45a(config-isakmp)#

Con el comando group, puede declarar cual es el tamaño del módulo que va a utilizar para el cálculo de Diffie-Hellman. El grupo 1 tiene una longitud de 768 bits, y el grupo 2 tiene una longitud de 1024 bits, ¿Por qué utilizar uno u otro? No todos los proveedores soportan el grupo 2. Además, el grupo 2 exige más CPU que el grupo uno. Por esta razón, es posible que no quiera utilizar el grupo 2 en routers de baja capacidad como la serie 2500 de Cisco o anterior. Sin embargo, el grupo 2 es más seguro que el grupo 1. Puesto que en este ejemplo se ha realizado con un Cisco 4500, se ha utilizado un grupo 2 (asegúrese de que el par también se ha configurado para utilizar el grupo 2). El valor predeterminado es el grupo 1. Si selecciona las propiedades predeterminadas, las líneas del grupo 1 no se muestran cuando realiza un comando write terminal.

dt3-45a(config-isakmp)#group 2

MD5 es nuestro algoritmo de generación de hash en esta línea. Mientras la implementación de SHA y MD5 son obligatorias, no todos los pares se pueden configurar para negociar uno u otro. El predeterminado en Cisco IOS es SHA que es más seguro que MD5.

dt3-45a(config-isakmp)#hash md5

La duración de un SA, 500 segundos en este caso, se muestra en el siguiente comando. Si no especifica una duración, el valor predeterminado es de 86400 segundos o un día. Cuando se dispara el temporizador de vida útil, se vuelve a negociar la SA como medida de seguridad.

dt3-45a(config-isakmp)#lifetime 500

En este comando, a IKE se le indica manualmente qué clave debe utilizar. Por consiguiente, se utiliza el comando pre-share . Las dos opciones además del comando pre-share son el comando rsa-encr y el comando rsa-sig. El comando rsa-encr configura los nonces encriptados RSA y el comando rsa-sig configura la firma RSA. Los comandos rsa-encr y rsa-sig se incluyen en la sección Utilización del CA. Recuerde que el comando rsa-sig es el predeterminado.

dt3-45a(config-isakmp)#authentication pre-share

Configuración de la clave ISAKMP

En estos comandos, a IKE se le indica qué clave debe utilizar. El par, 192.168.10.38 en este caso, debe tener la misma clave “Slurpee-Machine” en su configuración.

dt3-45a(config-isakmp)#exit
dt3-45a(config)#crypto isakmp key Slurpee-Machine address 192.168.10.38

Ha terminado la configuración de IKE. Estas líneas son la configuración IKE del par (la configuración completa para ambos routers están en la sección Configuraciones de ejemplo de este documento):

crypto isakmp policy 1
 hash md5
 group 2
 authentication pre-share
crypto isakmp key Slurpee-Machine address 192.168.10.66

2. Utilización de una CA

La utilización de una CA es un método complicado para configurar el IKE. Debido a que es muy escalable en IPSec, deberá utilizar IPSec en lugar de la criptografía clásica. Cuando se lance la versión 11.3(3)B del software Cisco IOS, sólo habrá unos pocos proveedores de CA que comercializarán producto. Inicialmente, la mayoría de configuraciones se realizarán mediante las claves previamente compartidas. VeriSign, Entrust, Microsoft y Netscape (y probablemente un host de otros) están trabajando en productos de CA. Para este ejemplo se ha utilizado una CA de VeriSign.

Para utilizar una CA, es necesario:

  • Crear un par clave RSA para el router

  • Solicitar un certificado de CA

  • Registrar los certificados para el router cliente

  • Configurar el conjunto de protección ISAKMP

Crear un par de claves RSA para el router

El comando crypto key gen rsa usage-keys puede confundirlo. Este comando crea dos pares de claves RSA: un par de claves para el cifrado y otro para las firmas digitales. Un par de claves se refiere a una clave pública y su correspondiente clave de secreto. Si no especifica el uso de las claves al final del comando, el router genera sólo un par de claves RSA y lo utiliza para el cifrado y las firmas digitales. Advertencia: este comando puede utilizarse para crear claves DSS. Sin embargo, DSS es parte de la criptografía clásica, no de IPsec.

dt3-45a(config)#crypto key gen rsa usage-keys
The name for the keys will be: dt3-45a.cisco.com
%You already have RSA keys defined for dt3-45a.cisco.com.
%Do you really want to replace them? [yes/no] yes

Puesto que algunas claves RSA ya existen en este equipo, se le preguntará si desea corregir las claves ya existentes. Si la respuesta es que sí, se confirmará el comando. Volverá a aparecer este mensaje:

Choose the size of the key modulus in the range of
   360 to 2048 for your Signature keys
.Choosing a key modulus greater than 512 may take a few minutes.


How many bits in the modulus [512]: <return>
Generating RSA keys...
[OK]

Choose the size of the key modulus in the range of
   360 to 2048 for your Encryption keys.
Choosing a key modulus greater than 512 may take a few minutes.

How many bits in the modulus [512]: <return>
Generating RSA keys...
[OK]
dt3-45a(config)#

Se han creado los pares de claves RSA con el módulo de 512 bits como valor predeterminado. Salga del modo de configuración e introduzca un comando show crypto key mypubkey rsa. Ahora podrá ver la clave pública RSA. La parte privada del par de claves no se mostrará nunca. Aunque no disponga de claves preexistentes verá lo mismo que se ha explicado anteriormente.

Nota: Recuerde guardar la configuración una vez generado el par de claves.

Solicitar un certificado de CA

Es necesario configurar el router para comunicarse con una CA. Esto implica varios pasos. Será necesario que se coordine eventualmente con el administrador de CA.

En estas líneas de configuración, se añadirá un nombre de dominio al router. Se creará un nombre de host ciscoca-ultra, y se le comunicará al router cuál es la dirección IP a la que tiene que ir (y el nombre de los servidores). Deberá tener los nombres host definidos para la CA o un DNS que funcione en el equipo. Cisco recomienda tener un DNS que funcione en el equipo.

dt3-45a(config)#ip host ciscoca-ultra 171.69.54.46
dt3-45a(config)#ip domain-name cisco.com
dt3-45a(config)#ip name-server 171.692.132
dt3-45a(config)#ip name-server 198.92.30.32

Inicie la configuración de los parámetros de CA. verisign-ca es un nombre arbitrario.

dt3-45a(config)#crypto ca identity verisign-ca
dt3-45a(ca-identity)#

En esta salida, el protocolo de registro de Cisco utiliza HTTP para comunicarse con la CA. El comando dt3-45a(ca-identity)#enrollment url http://ciscoca-ultra indica al router que vaya a la URL específica para interactuar con la CA. El comando dt3-45a(ca-identity)#crypto ca authenticate verisign-ca indica al router que busque el certificado de CA. Antes de poder registrar la CA, es necesario que se comunique con la CA. Compruebe que el certificado de CA con el administrador de CA para asegurar su autenticidad.

dt3-45a(ca-identity)#enrollment url http://ciscoca-ultra
dt3-45a(ca-identity)#exit
dt3-45a(ca-identity)#crypto ca authenticate verisign-ca

Registrar los certificados para el router cliente

Ejecute el comando crypto ca enroll verisign-ca para iniciar el registro con la CA. Es necesario seguir varios pasos. Primero, debe comprobar la identidad de la CA y, a continuación, la CA debe comprobar la identidad del router. Si fuera necesario revocar el certificado antes de que expire (si vuelve a numerar las interfaces del router o cree que su certificado está en peligro), deberá proporcionar una contraseña al administrador de CA. Introdúzcala, tal como se muestra en esta salida. Después de introducir la contraseña, el router continúa.

dt3-45a(config)#crypto ca enroll verisign-ca
%Start certificate enrollment ..
%Create a challenge password. You will need to verbally provide this password
to the CA Administrator in order to revoke your certificate.
For security reasons your password will not be saved in the configuration.
Please make a note of it.

Password:Re-enter password:

Se mostrarán las huellas dactilares de CA. Compruebe que las huellas dactilares son correctas con el administrador de CA. Además, si realiza un comando show crypto ca cert, se mostrará el certificado de CA, además de sus propios certificados. Los certificados de CA aparecerán como "pendientes" en ese momento.

% The subject name for the keys will be: dt3-45a.cisco.com
% Include the router serial number in the subject name? [yes/no]: yes
% The serial number in the certificate will be: 01204044
% Include an IP address in the subject name? [yes/no]: yes
Interface: Ethernet 0
Request certificate from CA? [yes/no]: yes

Póngase en contacto con el administrador de CA para que le confirme la identidad del certificado antes de que sea emitido. Una vez que la CA emite el certificado, el estado de nuestro certificado cambiará de "pendiente" a “disponible”. Con esto, finaliza la inscripción de CA. Pero no ha finalizado. Aún deberá configurar el objeto u objetos de políticas ISAKMP.

Configuración del conjunto de protección ISAKMP

El valor rsa-sig predeterminado se utiliza en este resultado. Puede tener múltiples conjuntos de protección pero en este ejemplo hay sólo uno. En caso de que se produzcan múltiples conjuntos de protección, las políticas se presentan al par en orden numérico y éste negocia cuál va a utilizar. Deberá realizar este proceso si sabe que todos sus pares no soportan ciertas características. El router no intenta negociar cosas que no tienen sentido. Por ejemplo, si configura la política para rsa-sig y no tiene un certificado, el router no lo negociará.

dt3-45a(config)#crypto isakmp policy 1
dt3-45a(config-isakmp)#hash md5
dt3-45a(config-isakmp)#lifetime 4000
dt3-45a(config-isakmp)#exit

Configuración de IPSec

Tanto si utiliza claves previamente compartidas o configura una CA, una vez configurado el Intercambio de claves de Internet IKE, deberá configurar IPSec. Independientemente del método IKE utilizado, los pasos para configurar IPSec son los mismos.

Para configurar IPSec, es necesario:

Crear ACL ampliada

Este es un comando ACL muy simple que permite que un router se comunique con otro (por ejemplo, un Telnet de un router al siguiente)..

dt3-45a(config)#access-list 101 permit ip
                 host 192.168.10.38host 192.168.10.66

Una ACL más realista se parece a este comando. Este comando es una ACL ampliada, donde 192.168.3.0 es una subred tras el router en cuestión y 10.3.2.0 es una subred tras el peer router. Recuerde que permit significa cifrar y deny significa no cifrar.

dt3-45a(config)#access-list 101 permit ip 192.168.3.0 0.0.0.255
               10.3.2.0 0.0.0.255

Creación de transformaciones IPSec

Creación de tres conjuntos de transformaciones El primero utiliza sólo ESP, el segundo utiliza AH combinado con ESP, y el último utiliza sólo AH. Durante la negociación de SA para IPSec, los tres se ofrecen al par, que escogerá uno. Además, para los tres conjuntos de transformaciones, utiliza como valor predeterminado tunnel mode. El modo de transporte sólo se puede utilizar cuando los puntos extremos de la criptografía también son los puntos finales de la comunicación. El modo de transporte puede especificarse con el comando mode transport bajo la configuración del conjunto de transformaciones. El modo túnel se usa principalmente para el escenario VPN. Tenga en cuenta que esp-rfc1829 y ah-rfc1828 están basados en RFC originales para esta tecnología y son transformaciones obsoletas incluidas para la compatibilidad hacia atrás. No todos los proveedores soportan estas transformaciones, sin embargo, algunos proveedores sólo soportan estas transformaciones

El conjunto de transformaciones en estos comandos no son necesariamente los más prácticos. Por ejemplo, tanto "PapaBear" como "BabyBear" cuentan con conjuntos de transformación subestándar. Utilice esp-rfc1829 y ah-rfc1828 juntos en el mismo conjunto de transformaciones.

dt3-45a(config)#crypto ipsec transform-set PapaBear esp-rfc1829
 dt3-45a(cfg-crypto-trans)#exit
 dt3-45a(config)#crypto ipsec transform-set MamaBear ah-md5-hmac esp-des
 dt3-45a(cfg-crypto-trans)#exit
 dt3-45a(config)#crypto ipsec transform-set BabyBear ah-rfc1828
 dt3-45a(cfg-crypto-trans)#exit
 dt3-45a(config)#

Creación de correspondencia de criptografía

La etiqueta ipsec-isakmp comunica al router que esta correspondencia de criptografía es una correspondencia de criptografía de IPSec. Aunque sólo hay un par declarado en esta correspondencia de criptografía, es posible tener varios pares con una correspondencia de criptografía. La duración de la clave de sesión puede expresarse tanto en kilobytes (después de una cantidad x, cambie la clave) como en segundos, como se muestra en estos comandos. El objetivo es poner las cosas más difíciles a un posible atacante. El comando set transform-set es donde asocia las transformaciones con una correspondencia de criptografía.. Además, el orden en que declare las transformaciones es importante. "MamaBear" es preferible en esta configuración y, a continuación, se van colocando el resto en orden de preferencia descendente hasta "BabyBear." El comando match address 101 significa que utilice la lista de acceso 101 para determinar cuál es el tráfico más destacado. Es posible tener varias correspondencias de criptografía con un mismo nombre (“armadillo”, en este ejemplo) y diferentes números de secuencia ("10", en este ejemplo). La combinación de múltiples correspondencias de criptografía y números diferentes de secuencia permite mezclar y unir criptografía clásica a IPSec. Aquí también puede modificar su configuración PFS. En este ejemplo, el valor predeterminado es grupo 1. Puede modificar el PFS al grupo 2, o desconectarlo todo a la vez, cosa que no debe hacer.

dt3-45a(config)#crypto map armadillo 10 ipsec-isakmp
dt3-45a(config-crypto-map)#set peer 192.168.10.38
dt3-45a(config-crypto-map)#set session-key lifetime seconds 4000
dt3-45a(config-crypto-map)#set transform-set MamaBear PapaBear BabyBear
dt3-45a(config-crypto-map)#match address 101

Aplicación de crypto map en la interfaz

Estos comandos aplican la correspondencia criptográfica a la interfaz. Aplicar la correspondencia de criptografía en la interfaz de egreso no en la de ingreso. Si tiene múltiples correspondencias de criptografía que desea aplicar a esta interfaz, marque el nombre en la lista del comando crypto map.

dt3-45a(config)#interface e0
dt3-45a(config-if)#crypto map armadillo

Consideraciones de memoria y CPU

Los paquetes que procesa IPSec son más lentos que los paquetes que procesa la criptografía clásica. Existen diversas razones para explicar este hecho y pueden causar errores de funcionamiento importantes:

  1. IPSec introduce la expansión del paquete, que es más probable que necesite una fragmentación y el reensamblado correspondiente de los datagramas de IPSec.

  2. Los paquetes cifrados probablemente se autenticarán, lo que significa que se llevan a cabo dos operaciones criptográficas para cada paquete.

  3. Los algoritmos de autenticación son lentos (aunque se ha trabajado para agilizar las cosas como los cómputos Diffie-Hellman).

Además, el intercambio de claves Diffie-Hellman utilizado en IKE es una potenciación de números muy grandes (entre 768 y 1024 bytes) y puede llevar hasta cuatro segundos en un Cisco 2500. El desempeño de RSA depende del tamaño del número primario escogido para el par de claves RSA.

Para cada router, la base de datos de SA utiliza aproximadamente 300 bytes, más 120 bytes por cada SA. En situaciones en las que hay dos SA de IPSec, una entrante y otra saliente, son necesarios 540 bytes (en la mayoría de los casos). Cada entrada SA de IKE tiene aproximadamente 64 bytes. El único momento en que tendrá sólo un SA de IPSec por flujo de datos es cuando la comunicación es unidireccional.

IPSec e IKE impactan en el desempeño puesto que cuando el intercambio de. clave Diffie-Hellman, la autenticación de la clave pública y el cifrado/descifrado están activos consume una cantidad importante de recursos. Aunque se han realizado muchos esfuerzos para minimizar el impacto.

Existe un pequeño descenso en el desempeño con paquetes no cifrados que pasan a través de una interfaz que realiza el cifrado. Esto ocurre debido a que todos los paquetes deben compararse con la correspondencia de criptografía. No existe ningún impacto en el desempeño de los paquetes que pasan a través de un router que evite una interfaz que realiza cifrado. El mayor impacto recae en los flujos de datos.

Para minimizar el impacto de los subsistemas de criptografía en el resto del router, utilice el grupo 1 para el intercambio de claves Diffie-Hellman en IKE, utilice MD5 como algoritmo de generación de hash y utilice, también, duraciones más largas. En el balance de este ajuste de desempeño, es posible que obtenga una criptografía débil. Finalmente, depende de la política de seguridad del cliente determinar que características usar y cuales dejar a un lado.

Salida de los comandos show

Nota: Las capturas de esta sección se han cogido de series de pruebas diferentes a las de las secciones anteriores de este documento. En consecuencia, es posible que estas capturas tengan direcciones IP diferentes y reflejen configuraciones ligeramente diferentes. Se han proporcionado otra serie de comandos show en la sección Información de depuración del presente documento.

Resultado relacionado con IKE

Para comparar el registro de CA para VeriSign, observe estos comandos. que muestran las claves públicas que utiliza para el cifrado y firmas RSA.

dt1-45a#show crypto key mypubkey rsa
% Key pair was generated at: 11:31:59 PDT Apr 9 1998
Key name: dt1-45a.cisco.com
 Usage: Signature Key
 Key Data:
  305C300D 06092A86 4886F70D 01010105 00034B00 30480241 00C11854
39A9C75C
  4E34C987 B4D7F36C A058D697 13172767 192166E1 661483DD 0FDB907B
F9C10B7A
  CB5A034F A41DF385 23BEB6A7 C14344BE E6915A12 1C86374F 83020301 0001
% Key pair was generated at: 11:32:02 PDT Apr 9 1998
Key name: dt1-45a.cisco.com
 Usage: Encryption Key
 Key Data:
  305C300D 06092A86 4886F70D 01010105 00034B00 30480241 00DCF5AC
360DD5A6C
69704CF 47B2362D 65123BD4 424B6FF6 AD10C33E 89983D08 16F1EA58
3700BCF9  1EF17E71 5931A9FC 18D60D9A E0852DDD 3F25369C F09DFB75 05020301 0001

Este comando muestra los certificados que el router reconoce. Un certificado que tiene el estado en pendiente se ha enviado a la CA para que se apruebe.

dt1-45a#show crypto ca certificates
Certificate
  Subject Name
    Name: dt1-45a.cisco.com
    Serial Number: 01193485
  Status: Available
  Certificate Serial Number: 650534996414E2BE701F4EF3170EDFAD
  Key Usage: Signature

CA Certificate
  Status: Available
  Certificate Serial Number: 3051DF7169BEE31B821DFE4B3A338E5F
  Key Usage: Not Set

Certificate
  Subject Name
    Name: dt1-45a.cisco.com
    Serial Number: 01193485
  Status: Available
  Certificate Serial Number: 1e621faf3b9902bc5b49d0f99dc66d14
  Key Usage: Encryption

Este resumen muestra las claves pública del router y dónde las reconoció.

dt1-45a#show crypto key pubkey-chain rsa
Codes: M - Manually configured, C - Extracted from certificate

Code Usage   IP-Address       Name
C    Signing                  Cisco SystemsDevtestCISCOCA-ULTRA
C    General 172.21.30.71     dt1-7ka.cisco.com

Esta es la tabla SA ISAKMP (IKE). Aquí puede ver como existe un SA entre 172.21.30.71 y 172.21.30.70. Es necesario que el par tenga una entrada de SA con el mismo estado que el resultado de este router.

dt1-7ka#show crypto isakmp sa
    dst           src          state        conn-id   slot
172.21.30.70   172.21.30.71   QM_IDLE           47      5

Estas líneas muestran los objetos de políticas configurados. En este caso, se están utilizando las políticas 1, 2, y 4, además de la predeterminada. Las políticas se proponen a los pares de forma ordenada, siendo la 1 la de mayor preferencia.

dt1-45a#show crypto isakmp policy
Protection suite of priority 1
encryption algorithm:   DES - Data Encryption Standard (56 bit
keys).
hash algorithm:         Message Digest 5
authentication method:  Rivest-Shamir-Adleman Signature
Diffie-Hellman group:   #1 (768 bit)
lifetime:               180 seconds, no volume limit

Protection suite of priority 2
encryption algorithm:   DES - Data Encryption Standard (56 bit
 keys).
hash algorithm:         Secure Hash Standard
authentication method:  Pre-Shared Key
Diffie-Hellman group:   #2 (1024 bit)
lifetime:               180 seconds, no volume limit
Protection suite of priority 4
encryption algorithm:   DES - Data Encryption Standard (56 bit keys).
hash algorithm:         Message Digest 5
authentication method:  Pre-Shared Key
Diffie-Hellman group:   #2 (1024 bit)
lifetime:               180 seconds, no volume limit

Default protection suite
encryption algorithm:   DES - Data Encryption Standard (56 bit keys).
hash algorithm:         Secure Hash Standard
authentication method:  Rivest-Shamir-Adleman Signature
Diffie-Hellman group:   #1 (768 bit)
lifetime:               86400 seconds, no volume limit

Comandos show relacionados con IPSec

Este comando muestra la correspondencia de criptografía ToOtherRouter, las ACL, y las propuestas de transformación aplicadas a esta correspondencia de criptografía, los pares y la duración de la clave.

S3-2513-2#show crypto map
Crypto Map "ToOtherRouter" 10 ipsec-isakmp
        Peer = 192.168.1.1
        Extended IP access list 101
            access-list 101 permit ip
                source: addr = 192.168.45.0/0.0.0.255
                dest:   addr = 192.168.3.0/0.0.0.255
        Connection Id = UNSET    (0 established,    0 failed)
        Current peer: 192.168.1.1
        Session key lifetime: 4608000 kilobytes/3600 seconds
       PFS (Y/N): N        Transform proposals={ Elvis, Bubba, BarneyDino, }

Esta configuración utiliza el mismo router que el resumen anterior, pero con comandos diferentes. Se mostrarán todas las propuestas de transformación, los ajustes que negocian y los valores predeterminados.

S3-2513-2#show crypto ipsec transform-set
Transform proposal Elvis: { ah-sha-hmac  }
   supported settings = { Tunnel,  },
   default settings = { Tunnel,  },
   will negotiate = { Tunnel,  },

  { esp-des  }
   supported settings = { Tunnel,  },
   default settings = { Tunnel,  },
   will negotiate = { Tunnel,  },

Transform proposal Bubba: { ah-rfc1828  }
   supported settings = { Tunnel,  },
  default settings = { Tunnel,  },
  will negotiate = { Tunnel,  },

  { esp-des esp-md5-hmac  }
supported settings = { Tunnel,  },
   default settings = { Tunnel,  },
   will negotiate = { Tunnel,  },

Transform proposal BarneyDino: { ah-md5-hmac  }
   supported settings = { Tunnel,  },
   default settings = { Tunnel,  },
   will negotiate = { Tunnel,  },

Este comando muestra las asociaciones de seguridad de IPSec actuales de este router. El router cuenta con un SA de AH SA para las entradas y las salidas.

S3-2513-2#show crypto ip session
Session key lifetime: 4608000 kilobytes/3600 seconds

S3-2513-2#show crypto ipsec sa

interface: Ethernet0
    Crypto map tag: ToOtherRouter, local addr. 192.168.1.2

   local  ident (addr/mask/prot/port): (192.168.45.0/255.255.255.0/0/0)
   remote ident (addr/mask/prot/port): (192.168.3.0/255.255.255.0/0/0)
   current_peer: 192.168.1.1
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 0, #pkts encrypt: 0, #pkts digest 0
    #pkts decaps: 0, #pkts decrypt: 0, #pkts verify 0
    #send errors 5, #recv errors 0

    local crypto endpt.: 192.168.1.2, remote crypto endpt.: 192.168.1.1
    path mtu 1500, media mtu 1500
     current outbound spi: 25081A81

     inbound esp sas:

     inbound ah sas:
      spi: 0x1EE91DDC(518594012)
        transform: ah-md5-hmac ,
       in use settings ={Tunnel, }
       slot: 0, conn id: 16, crypto map: ToOtherRouter
      sa timing: remaining key lifetime (k/sec): (4608000/3423)
        replay detection support: Y


    outbound esp sas:

     outbound ah sas:
      spi: 0x25081A81(621288065)
        transform: ah-md5-hmac ,in use settings ={Tunnel, }
        slot: 0, conn id: 17, crypto map: ToOtherRouter
       sa timing: remaining key lifetime (k/sec): (4608000/3424)
        replay detection support: Y

Configuraciones de muestra

Esta configuración utiliza claves previamente compartidas. La configuración de este router se utiliza para crear una salida de depuración en la sección Información de depuración. Esta configuración permite a una red llamada "X" ubicada tras el router de origen comunicarse con una red llamada "Y" ubicada tras el peer router. Para obtener más información sobre un comando en particular, consulte la documentación del software IOS de Cisco para la versión del software Cisco IOS o utilice el comando de búsqueda (solamente clientes registrados) . Esta herramienta permite al usuario buscar una descripción detallada o unas pautas para la configuración de un comando en particular.

Diagrama de la red

IPSECpart8.gif

Configuraciones

Router de origen

Current configuration:
!
version 11.3
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname goss-e4-2513
!
enable secret 5 $1$ZuRD$YBaAh3oIv4iltIn0TMCUX1
enable password ww
!

!--- Configuración IKE.

crypto isakmp policy 1
 hash md5
 authentication pre-share
crypto isakmp key Slurpee-Machine address 20.20.20.21
!

!--- Configuración IPSec.

crypto ipsec transform-set BearPapa esp-rfc1829
crypto ipsec transform-set BearMama ah-md5-hmac esp-des
crypto ipsec transform-set BearBaby ah-rfc1828
 !
 crypto map armadillo 1 ipsec-isakmp
 set peer 20.20.20.21
 set security-association lifetime seconds 190
 set transform-set BearPapa BearMama BearBaby

 !--- Tráfico para cifrar.

 match address 101
!
interface Ethernet0
 ip address 60.60.60.60 255.255.255.0
 no mop enabled
!
interface Serial0
 ip address 20.20.20.20 255.255.255.0
 no ip mroute-cache
 no fair-queue
 crypto map armadillo
!
interface Serial1
 no ip address
 shutdown
!
interface TokenRing0
 no ip address
 shutdown
!
ip classlessip route 0.0.0.0 0.0.0.0 20.20.20.21

 !--- Tráfico para cifrar.

access-list 101 permit ip 60.60.60.0 0.0.0.255 50.50.50.0 0.0.0.255
dialer-list 1 protocol ip permit
dialer-list 1 protocol ipx permit
!
line con 0
 exec-timeout 0 0
line aux 0line vty 0 4
 password ww
 login
!
end

Peer router

Current configuration:
!
version 11.3
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname goss-c2-2513
!
enable secret 5 $1$DBTl$Wtg2eS7Eb/Cw5l.nDhkEi/
enable password ww
!
ip subnet-zero
!


!--- Configuración IKE.

crypto isakmp policy 1
 hash md5 authentication pre-share
crypto isakmp key Slurpee-Machine address 20.20.20.20
!

!--- Configuración IPSec.

crypto ipsec transform-set PapaBear esp-rfc1829
crypto ipsec transform-set MamaBear ah-md5-hmac esp-des
crypto ipsec transform-set BabyBear ah-rfc1828
!
 !
 crypto map armadillo 1 ipsec-isakmp
 set peer 20.20.20.20
 set security-association lifetime seconds 190
 set transform-set MamaBear PapaBear BabyBear 

!--- Tráfico para cifrar.

 match address 101
!
!
!
interface Ethernet0
 ip address 50.50.50.50 255.255.255.0
 no ip directed-broadcast
!
interface Serial0
 ip address 20.20.20.21 255.255.255.0
 no ip directed-broadcast
 no ip mroute-cache
 no fair-queue
 clockrate 9600
 crypto map armadillo
!
interface Serial1
 no ip address
 no ip directed-broadcast
 shutdown
!
interface TokenRing0
 no ip address
 no ip directed-broadcast
 shutdown
!
ip classless
ip route 0.0.0.0 0.0.0.0 20.20.20.20

!--- Tráfico para cifrar.

access-list 101 permit ip 50.50.50.0 0.0.0.255 60.60.60.0 0.0.0.255
dialer-list 1 protocol ip permit
dialer-list 1 protocol ipx permit
!
!
line con 0
 exec-timeout 0 0
 transport input none
line aux 0
line aux 0
line vty 0 4
 password ww
 login
!
end

Información acerca de la depuración

En esta sección se muestra el resultado de la depuración de una sesión IKE/IPSec normal entre dos routers. La configuración procede de la sección Configuraciones de ejemplo de este documento. Los routers utilizan una clave previamente compartida. Ambos routers tienen los comandos debug crypto isakmp, debug crypto ipsec y debug crypto engine habilitados. Se probó con un ping extendido desde la interfaz de Ethernet del router de origen a la interfaz Ethernet del peer router (60.60.60.60 a 50.50.50.50).

Nota: Las sentencias en azul y cursiva de este ejemplo de salida de depuración son notas para ayudarle a seguir lo que sucede, no son parte de la salida de depuración.

Router de origen

goss-e4-2513#show clock
goss-e4-2513#ping
Protocol [ip]:
Target IP address: 50.50.50.50
Repeat count [5]: 10
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 60.60.60.60
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 50.50.50.50, timeout is 2 seconds:

Apr  2 12:03:55.347: IPSEC(sa_request): ,
  (key eng. msg.) src= 20.20.20.20, dest= 20.20.20.21,
    src_proxy= 60.60.60.0/255.255.255.0/0/0 (type=4),
    dest_proxy= 50.50.50.0/255.255.255.0/0/0 (type=4),
    protocol= ESP, transform= esp-rfc1829 ,
    lifedur= 190s and 4608000kb,
    spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x4004
Apr  2 12:03:55.355: IPSEC(sa_request): ,
  (key eng. msg.) src= 20.20.20.20, dest= 20.20.20.21,
    src_proxy= 60.60.60.0/255.255.255.0/0/0 (type=4),
    dest_proxy= 50.50.50.0/255.255.255.0/0/0 (type=4),
    protocol= AH, transform= ah-md5-hmac ,
   lifedur= 190s and 4608000kb,
    spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x4004
Apr  2 12:03:55.363: IPSEC(sa_request): ,
 (key eng. msg.) src= 20.20.20.20, dest= 20.20.20.21,
   src_proxy= 60.60.60.0/255.255.255.0/0/0 (type=4),
    dest_proxy= 50.50.50.0/255.255.255.0/0/0 (type=4),
    protocol= ESP, transform= esp-des ,
    lifedur= 190s and 4608000kb,
   spi= 0x0(0), conn_id= 0, keysi.ze= 0, flags= 0x4004
Apr  2 12:03:55.375: IPSEC(sa_request): ,
  (key eng. msg.) src= 20.20.20.20, dest= 20.20.20.21,
    src_proxy= 60.60.60.0/255.255.255.0/0/0 (type=4),
    dest_proxy= 50.50.50.0/255.255.255.0/0/0 (type=4),
    protocol= AH, transform= ah-rfc1828 ,
    lifedur= 190s and 4608000kb,
    spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x4004

!--- Tenga en cuenta que el router ofrece al par todas las
!--- transformaciones disponibles.

Apr  2 12:03:55.391: ISAKMP (14): beginning Main Mode exchange
Apr  2 12:03:57.199: ISAKMP (14): processing SA payload. message ID = 0
Apr  2 12:03:57.203: ISAKMP (14): Checking ISAKMP transform 1 against
    priority 1 policy
Apr  2 12:03:57.203: ISAKMP:      encryption DES-CBC
Apr  2 12:03:57.207: ISAKMP:      hash MD5
Apr  2 12:03:57.207: ISAKMP:      default group 1
Apr  2 12:03:57.207: ISAKMP:      auth pre-share
Apr  2 12:03:57.211: ISAKMP (14): atts are acceptable. Next payload is 0
Apr  2 12:03:57.215: Crypto engine 0: generate alg param

Apr  2 12:03:5.8.867: CRYPTO_ENGINE: Dh phase 1 status: 0
Apr  2 12:03:58.871: ISAKMP (14): SA is doing pre-shared key authentication..
Apr  2 12:04:01.291: ISAKMP (14): processing KE payload. message ID = 0
Apr  2 12:04:01.295: Crypto engine 0: generate alg param

Apr  2 12:04:03.343: ISAKMP (14): processing NONCE payload. message ID = 0
Apr  2 12:04:03.347: Crypto engine 0: create ISAKMP SKEYID for conn id 14
Apr  2 12:04:03.363: ISAKMP (14): SKEYID state generated
Apr  2 12:04:03.367: ISAKMP (14): processing vendor id payload
Apr  2 12:04:03.371: ISAKMP (14): speaking to another IOS box!
Apr  2 12:04:03.371: generate hmac context for conn id 14
Apr  2 12:04:03.615: ISAKMP (14): processing ID payload. message ID = 0
Apr  2 12:04:03.615: ISAKMP (14): processing HASH payload. message ID = 0
Apr  2 12:04:03.619: generate hmac context for conn id 14
Apr  2 12:04:03.627: ISAKMP (14): SA has been authenticated
Apr  2 12:04:03.627: ISAKMP (14): beginning Quick Mode exchange, M-ID of 1628162439

!--- Estas líneas representan la verificación de que los atributos
!--- de la política son correctos y la autenticación final del SA de IKE.
!--- Una vez se ha autenticado el SA de IKE, ya existirá un SA de IKE válido.
!--- El nuevo IKE inicia las negociaciones IPSec:

Apr  2 12:04:03.635: IPSEC(key_engine): got a queue event...
Apr  2 12:04:03.635: IPSEC(spi_response): getting spi 303564824ld for SA
        .!!!from 20.20.20.21     to 20.20.20.20     for prot 3
Apr  2 12:04:03.639: IPSEC(spi_response): getting spi 423956280ld for SA
        from 20.20.20.21     to 20.20.20.20     for prot 2
Apr  2 12:04:03.643: IPSEC(spi_response): getting spi 415305621ld for SA
        from 20.20.20.21     to 20.20.20.20     for prot 3
Apr  2 12:04:03.647: IPSEC(spi_response): getting spi 218308976ld for SA
        from 20.20.20.21     to 20.20.20.20     for prot 2
Apr  2 12:04:03.891: generate hmac context for conn id 14
Apr  2 12:04:04.!!
Success rate is 50 percent (5/10), round-trip min/avg/max = 264/265/268 ms
goss-e4-2513#723: generate hmac context for conn id 14
Apr  2 12:04:04.731: ISAKMP (14): processing SA payload. message ID = 1628162439
Apr  2 12:04:04.731: ISAKMP (14): Checking IPSec proposal 1
Apr  2 12:04:04.735: ISAKMP: transform 1, ESP_DES_IV64
Apr  2 12:04:04.735: ISAKMP:   attributes in transform:
Apr  2 12:04:04.735: ISAKMP:      encaps is 1
Apr  2 12:04:04.739: ISAKMP:      SA life type in seconds
Apr  2 12:04:04.739: ISAKMP:      SA life duration (basic) of 190
Apr  2 12:04:04.739: ISAKMP:      SA life type in kilobytes
Apr  2 12:04:04.743: ISAKMP:      SA life duration (VPI) of  0x0 0x46 0x50 0x0
Apr  2 12:04:04.747: ISAKMP (14): atts are acceptable.

!--- La depuración ISAKMP aparece en una lista porque IKE es la
!--- entidad que negocia con los SA de IPSec en nombre de IPSec.

Apr  2 12:04:04.747: IPSEC(validate_proposal_request): proposal part #1,
  (key eng. msg.) dest= 20.20.20.21, src= 20.20.20.20,
    dest_proxy= 50.50.50.0/255.255.255.0/0/0 (type=4),
    src_proxy= 60.60.60.0/255.255.255.0/0/0 (type=4),
    protocol= ESP, transform= esp-rfc1829 ,
    lifedur= 0s and 0kb,
    spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x4
Apr  2 12:04:04.759: ISAKMP (14): processing NONCE payload. message ID = 1628162439
Apr  2 12:04:04.759: ISAKMP (14): processing ID payload. message ID = 1628162439
Apr  2 12:04:04.763: ISAKMP (14): processing ID payload. message ID = 1628162439
Apr  2 12:04:04.767: generate hmac context for conn id 14
Apr  2 12:04:04.799: ISAKMP (14): Creating IPSec SAs
Apr  2 12:04:04.803:         inbound SA from 20.20.20.21 to 20.20.20.20
    (proxy 50.50.50.0 to 60.60.60.0)
Apr  2 12:04:04.803:         has spi 303564824 and conn_id 15 and flags 4
Apr  2 12:04:04.807:         lifetime of 190 seconds
Apr  2 12:04:04.807:         lifetime of 4608000 kilobytes
Apr  2 12:04:04.811:         outbound SA from 20.20.20.20 to 20.20.20.21
    (proxy 60.60.60.0 to 50.50.50.0)
Apr  2 12:04:04.811:         has spi 183903875 and conn_id 16 and flags 4
Apr  2 12:04:04.815:         lifetime of 190 seconds
Apr  2 12:04:04.815:         lifetime of 4608000 kilobytes
Apr  2 12:04:04.823: IPSEC(key_engine): got a queue event...
Apr  2 12:04:04.823: IPSEC(initialize_sas): ,
  (key eng. msg.) dest= 20.20.20.20, src= 20.20.20.21,
   dest_proxy= 60.60.60.0/255.255.255.0/0/0 (type=4),
   src_proxy= 50.50.50.0/255.255.255.0/0/0 (type=4),
   protocol= ESP, transform= esp-rfc1829 ,
    lifedur= 190s and 4608000kb,
    spi= 0x12180818(303564824), conn_id= 15, keysize= 0, flags= 0x4
Apr  2 12:04:04.831: IPSEC(initialize_sas): ,
  (key eng. msg.) src= 20.20.20.20, dest= 20.20.20.21,
   src_proxy= 60.60.60.0/255.255.255.0/0/0 (type=4),
    dest_proxy= 50.50.50.0/255.255.255.0/0/0 (type=4),
    protocol= ESP, transform= esp-rfc1829 ,
    lifedur= 190s and 4608000kb,
    spi= 0xAF62683(183903875), conn_id= 16, keysize= 0, flags= 0x4
Apr  2 12:04:04.839: IPSEC(create_sa): sa created,
  (sa) sa_dest= 20.20.20.20, sa_prot= 50,
    sa_spi= 0x12180818(303564824),
    sa_trans= esp-rfc1829 , sa_conn_id= 15
Apr  2 12:04:04.843: IPSEC(create_sa): sa created,
  (sa) sa_dest= 20.20.20.21, sa_prot= 50,
    sa_spi= 0xAF62683(183903875),
    sa_trans= esp-rfc1829 , sa_conn_id= 16

!--- Estas líneas muestran que se han creado los SA de IPSec y
!--- que el tráfico cifrado ya puede circular.


Salida de muestra del router fuente del comando show después de la negociación IKE/IPSec

goss-e4-2513#
goss-e4-2513#show crypto isakmp sa
    dst           src          state        conn-id   slot
20.20.20.21    20.20.20.20    QM_IDLE           14      0

goss-e4-2513#show crypto ipsec sa

interface: Serial0
    Crypto map tag: armadillo, local addr. 20.20.20.20

   local  ident (addr/mask/prot/port): (60.60.60.0/255.255.255.0/0/0)
   remote ident (addr/mask/prot/port): (50.50.50.0/255.255.255.0/0/0)
   current_peer: 20.20.20.21
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 5, #pkts encrypt: 5, #pkts digest 0
    #pkts decaps: 5, #pkts decrypt: 5, #pkts verify 0
    #send errors 5, #recv errors 0

     local crypto endpt.: 20.20.20.20, remote crypto endpt.: 20.20.20.21
     path mtu 1500, media mtu 1500
     current outbound spi: AF62683

     inbound esp sas:
      spi: 0x12180818(303564824)
        transform: esp-rfc1829 ,
        in use settings ={Var len IV, Tunnel, }
        slot: 0, conn id: 15, crypto map: armadillo
        sa timing: remaining key lifetime (k/sec): (4607999/135)
        IV size: 8 bytes
        replay detection support: N


     inbound ah sas:


     outbound esp sas:
      spi: 0xAF62683(183903875)
        transform: esp-rfc1829 ,
        in use settings ={Var len IV, Tunnel, }
        slot: 0, conn id: 16, crypto map: armadillo
        sa timing: remaining key lifetime (k/sec): (4607999/117)
        IV size: 8 bytes
        replay detection support: N


     outbound ah sas:



goss-e4-2513#show crypto isakmp policy
Protection suite of priority 1
        encryption algorithm:   DES - Data Encryption Standard (56 bit keys).
        hash algorithm:         Message Digest 5
        authentication method:  Pre-Shared Key
        Diffie-Hellman group:   #1 (768 bit)
        lifetime:               86400 seconds, no volume limit
Default protection suite
        encryption algorithm:   DES - Data Encryption Standard (56 bit keys).
        hash algorithm:         Secure Hash Standard
        authentication method:  Rivest-Shamir-Adleman Signature
        Diffie-Hellman group:   #1 (768 bit)
        lifetime:               86400 seconds, no volume limit
goss-e4-2513#show crypto map
Crypto Map "armadillo" 1 ipsec-isakmp
        Peer = 20.20.20.21
        Extended IP access list 101
                access-list 101 permit ip 60.60.60.0 0.0.0.255 50.50.50.0 0.0.0.255
        Current peer: 20.20.20.21
        Security association lifetime: 4608000 kilobytes/190 seconds
        PFS (Y/N): N
        Transform sets={ BearPapa, BearMama, BearBaby, }

Peer router con la misma secuencia de ping, tal como se observa desde el otro lado.

goss-c2-2513#show debug
Cryptographic Subsystem:
  Crypto ISAKMP debugging is on
  Crypto Engine debugging is on
  Crypto IPSEC debugging is on
goss-c2-2513#
Apr  2 12:03:55.107: ISAKMP (14): processing SA payload. message ID = 0
Apr  2 12:03:55.111: ISAKMP (14): Checking ISAKMP transform 1 against
     priority 1 policy
Apr  2 12:03:55.111: ISAKMP:      encryption DES-CBC
Apr  2 12:03:55.111: ISAKMP:      hash MD5
Apr  2 12:03:55.115: ISAKMP:      default group 1
Apr  2 12:03:55.115: ISAKMP:      auth pre-share
Apr  2 12:03:55.115: ISAKMP (14): atts are acceptable. Next payload is 0

!--- IKE ejecuta la operación y se inicia IPSec.

Apr  2 12:03:55.119: Crypto engine 0: generate alg param

Apr  2 12:03:56.707: CRYPTO_ENGINE: Dh phase 1 status: 0
Apr  2 12:03:56.711: ISAKMP (14): SA is doing pre-shared key authentication
Apr  2 12:03:58.667: ISAKMP (14): processing KE payload. message ID = 0
Apr  2 12:03:58.671: Crypto engine 0: generate alg param

Apr  2 12:04:00.687: ISAKMP (14): processing NONCE payload. message ID = 0
Apr  2 12:04:00.695: Crypto engine 0: create ISAKMP SKEYID for conn id 14
Apr  2 12:04:00.707: ISAKMP (14): SKEYID state generated
Apr  2 12:04:00.711: ISAKMP (14): processing vendor id payload
Apr  2 12:04:00.715: ISAKMP (14): speaking to another IOS box!
Apr  2 12:04:03.095: ISAKMP (14): processing ID payload. message ID = 0
Apr  2 12:04:03.095: ISAKMP (14): processing HASH payload. message ID = 0
Apr  2 12:04:03.099: generate hmac context for conn id 14
Apr  2 12:04:03.107: ISAKMP (14): SA has been authenticated
Apr  2 12:04:03.111: generate hmac context for conn id 14
Apr  2 12:04:03.835: generate hmac context for conn id 14
Apr  2 12:04:03.839: ISAKMP (14): processing SA payload. message ID = 1628162439
Apr  2 12:04:03.843: ISAKMP (14): Checking IPSec proposal 1
Apr  2 12:04:03.843: ISAKMP: transform 1, ESP_DES_IV64
Apr  2 12:04:03.847: ISAKMP:   attributes in transform:
Apr  2 12:04:03.847: ISAKMP:      encaps is 1
Apr  2 12:04:03.847: ISAKMP:      SA life type in seconds
Apr  2 12:04:03.851: ISAKMP:      SA life duration (basic) of 190
Apr  2 12:04:03.851: ISAKMP:      SA life type in kilobytes
Apr  2 12:04:03.855: ISAKMP:      SA life duration (VPI) of  0x0 0x46 0x50 0x0
Apr  2 12:04:03.855: ISAKMP (14): atts are acceptable.
Apr  2 12:04:03.859: IPSEC(validate_proposal_request): proposal part #1,
  (key eng. msg.) dest= 20.20.20.21, src= 20.20.20.20,
    dest_proxy= 50.50.50.0/255.255.255.0/0/0 (type=4),
    src_proxy= 60.60.60.0/255.255.255.0/0/0 (type=4),
   protocol= ESP, transform= esp-rfc1829 ,
    lifedur= 0s and 0kb,
    spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x4
Apr  2 12:04:03.867: ISAKMP (14): processing NONCE payload. message ID = 1628162439
Apr  2 12:04:03.871: ISAKMP (14): processing ID payload. message ID = 1628162439
Apr  2 12:04:03.871: ISAKMP (14): processing ID payload. message ID = 1628162439
Apr  2 12:04:03.879: IPSEC(key_engine): got a queue event...
Apr  2 12:04:03.879: IPSEC(spi_response): getting spi 183903875ld for SA
        from 20.20.20.20     to 20.20.20.21     for port 3
Apr  2 12:04:04.131: generate hmac context for conn id 14
Apr  2 12:04:04.547: generate hmac context for conn id 14
Apr  2 12:04:04.579: ISAKMP (14): Creating IPSec SAs
Apr  2 12:04:04.579:         inbound SA from 20.20.20.20 to 20.20.20.21
    (proxy 60.60.60.0 to 50.50.50.0)
Apr  2 12:04:04.583:         has spi 183903875 and conn_id 15 and flags 4
Apr  2 12:04:04.583:         lifetime of 190 seconds
Apr  2 12:04:04.587:         lifetime of 4608000 kilobytes
Apr  2 12:04:04.587:         outbound SA from 20.20.20.21 to 20.20.20.20
    (proxy 50.50.50.0 to 60.60.60.0)
Apr  2 12:04:04.591:         has spi 303564824 and conn_id 16 and flags 4
Apr  2 12:04:04.591:         lifetime of 190 seconds
Apr  2 12:04:04.595:         lifetime of 4608000 kilobytes
Apr  2 12:04:04.599: IPSEC(key_engine): got a queue event...
Apr  2 12:04:04.599: IPSEC(initialize_sas): ,
  (key eng. msg.) dest= 20.20.20.21, src= 20.20.20.20,
    dest_proxy= 50.50.50.0/255.255.255.0/0/0 (type=4),
    src_proxy= 60.60.60.0/255.255.255.0/0/0 (type=4),
   protocol= ESP, transform= esp-rfc1829 ,
    lifedur= 190s and 4608000kb,
    spi= 0xAF62683(183903875), conn_id= 15, keysize= 0, flags= 0x4
Apr  2 12:04:04.607: IPSEC(initialize_sas): ,
  (key eng. msg.) src= 20.20.20.21, dest= 20.20.20.20,
    src_proxy= 50.50.50.0/255.255.255.0/0/0 (type=4),
    dest_proxy= 60.60.60.0/255.255.255.0/0/0 (type=4),
    protocol= ESP, transform= esp-rfc1829 ,
    lifedur= 190s and 4608000kb,
    spi= 0x12180818(303564824), conn_id= 16, keysize= 0, flags= 0x4
Apr  2 12:04:04.615: IPSEC(create_sa): sa created,
  (sa) sa_dest= 20.20.20.21, sa_prot= 50,
    sa_spi= 0xAF62683(183903875),
   sa_trans= esp-rfc1829 , sa_conn_id= 15
Apr  2 12:04:04.619: IPSEC(create_sa): sa created,
  (sa) sa_dest= 20.20.20.20, sa_prot= 50,
    sa_spi= 0x12180818(303564824),
    sa_trans= esp-rfc1829 , sa_conn_id= 16

!--- Los SA de IPSec se crean y el tráfico ICMP puede fluir.


Comandos show de peer router

!--- Esto ilustra una serie de salidas de comandos show después de la
!--- negociación IKE/IPSec.

goss-c2-2513#show crypto isakmp sa
    dst           src          state        conn-id   slot
20.20.20.21    20.20.20.20    QM_IDLE           14      0

goss-c2-2513#show crypto ipsec sa

interface: Serial0
    Crypto map tag: armadillo, local addr. 20.20.20.21

   local  ident (addr/mask/prot/port): (50.50.50.0/255.255.255.0/0/0)
   remote ident (addr/mask/prot/port): (60.60.60.0/255.255.255.0/0/0)
   current_peer: 20.20.20.20
    PERMIT, flags={origin_is_acl,}
    #pkts encaps: 5, #pkts encrypt: 5, #pkts digest 0
    #pkts decaps: 5, #pkts decrypt: 5, #pkts verify 0
   #send errors 0, #recv errors 0

    local crypto endpt.: 20.20.20.21, remote crypto endpt.: 20.20.20.20
     path mtu 1500, media mtu 1500
    current outbound spi: 12180818

     inbound esp sas:
     spi: 0xAF62683(183903875)
        transform: esp-rfc1829 ,
       in use settings ={Var len IV, Tunnel, }
       slot: 0, conn id: 15, crypto map: armadillo
       sa timing: remaining key lifetime (k/sec): (4607999/118)
        IV size: 8 bytes
       replay detection support: N


    inbound ah sas:


    outbound esp sas:
      spi: 0x12180818(303564824)
        transform: esp-rfc1829 ,
        in use settings ={Var len IV, Tunnel, }
       slot: 0, conn id: 16, crypto map: armadillo
        sa timing: remaining key lifetime (k/sec): (4607999/109)
        IV size: 8 bytes
        replay detection support: N


     outbound ah sas:goss-c2-2513#show crypto isakmp policy
Protection suite of priority 1
        encryption algorithm:   DES - Data Encryption Standard (56 bit keys).
        hash algorithm:         Message Digest 5
       authentication method:  Pre-Shared Key
       Diffie-Hellman group:   #1 (768 bit)
        lifetime:               86400 seconds, no volume limit
Default protection suite
        encryption algorithm:   DES - Data Encryption Standard (56 bit keys).
        hash algorithm:         Secure Hash Standard
       authentication method:  Rivest-Shamir-Adleman Signature
       Diffie-Hellman group:   #1 (768 bit)
      lifetime:               86400 seconds, no volume limit
goss-c2-2513#show crypto map

Crypto Map "armadillo" 1 ipsec-isakmp
        Peer = 20.20.20.20
       Extended IP access list 101
               access-list 101 permit ip 50.50.50.0 0.0.0.255 60.60.60.0 0.0.0.255
        Current peer: 20.20.20.20
       Security association lifetime: 4608000 kilobytes/190 seconds
        PFS (Y/N): N
       Transform sets={ MamaBear, PapaBear, BabyBear, }

Consejos sobre instrumentación de IPSec

Consejos sobre implementación de IPSec:

  • Antes de configurar la criptografía, asegúrese de que hay conectividad entre los puntos finales de la comunicación.

  • Asegúrese de que los DNS funcionan en el router o que ha introducido el nombre de host de CA (si utiliza una CA).

  • IPSec utiliza protocolos IP 50 y 51, y el tráfico IKE pasa por el protocolo 17, puerto 500 (UDP 500). Asegúrese de que tienen los permisos correctos.

  • No utilice la palabra "any" en la ACL. Esto causaría errores. Si desea más información, consulte las “Pautas de uso” para access-list en Referencia de comandos PIX

  • Las combinaciones de transformaciones recomendadas son:

    esp-des and esp-sha-hmac	ah-sha-hmac and esp-des
  • Recuerde que AH simplemente es un encabezado autenticado. Los datos de multidifusión del usuario actual no se han cifrado. Para realizar el cifrado de los datos de multidifusión, es necesario ESP. Si utiliza sólo AH y encuentra cadenas de texto por la red, no se sorprenda. Si utiliza AH, utilice también la ESP. Tenga en cuenta que la ESP puede llevar a cabo también la autenticación. Por lo tanto, puede utilizar una combinación de transformación como, por ejemplo, esp-des y esp-sha-hmac.

  • ah-rfc1828 y esp-rfc1829 son transformaciones obsoletas incluidas para la compatibilidad hacia atrás con implementaciones más antiguas de IPSec. Si el par no soporta las nuevas transformaciones, intente esto en su lugar.

  • El SHA es más lento y seguro que el MD5 y el MD5 es más rápido pero menos seguro que el SHA. En algunas comunidades, el nivel de comodidad con el MD5 es muy bajo.

  • Ante la duda, utilice el modo túnel. El modo túnel es el modo predeterminado y puede utilizarse en modo transporte o por sus capacidades de VPN.

  • Para los usuarios de la criptología clásica que actualizaron el software Cisco IOS a la versión 11.3, los métodos de almacenaje de comandos de criptografía en la configuración han cambiado para IPsec. Como consecuencia, si los usuarios de la criptografía clásica revierten en algún momento el software Cisco IOS a la versión 11.2, deberán volver a introducir la configuración de la criptografía.

  • Si realiza la prueba de ping en el enlace cifrado al finalizar la configuración, el proceso de negociación puede llevar algún tiempo (unos seis segundos en un Cisco 4500, y unos 20 en un Cisco 2500), porque los SA no se han negociado todavía. Aunque se haya configurado todo correctamente, es posible que el ping falle inicialmente. Los comandos debug crypto ipsec y debug crypto isakmp le muestran que está sucediendo. Una vez finalizada la configuración de los datos de multidifusión cifrados, el ping funcionará correctamente.

  • Si tiene problemas con la negociación y realiza cambios en la configuración, utilice los comandos clear crypto is y clear crypto sa para purgar la base de datos antes de volver a entrar. Esto obliga a que la negociación vuelva a empezar, sin tener en cuenta ninguna negociación anterior. Los comandos clear crypto is y clear cry sa son muy útiles de esta manera.

Ayuda y enlaces relevantes

Discusiones relacionadas de la comunidad de soporte de Cisco

La Comunidad de Soporte de Cisco es un foro donde usted puede preguntar y responder, ofrecer sugerencias y colaborar con colegas.


Información sobre IPSec

Más configuraciones de ejemplo para IPSec.

Si necesita más ayuda con IPSec, póngase en contacto con el soporte técnico de Cisco Systems en (800) 553-24HR, (408) 526-7209, o envíe un correo electrónico a tac@cisco.com.

Referencias

Harkins, D. ISAKMP/Oakley Protocol Feature Software Unit Functional Specification. ENG-0000 Rev A. Cisco Systems.

Madson, C. IPSec Software Unit Functional Specification ENG-17610 Rev F. Cisco Systems.

Kaufman, C. Perlman R. and Spencer, M. Network Security: Private Communication in a Public World. Prentice Hall, 1995.

Schneier, B. Applied Cryptography: Protocols, Algorithms, and Source Code in C. Second Ed. John Wiley & Sons, Inc.

Various IETF IP Security working-draftsleavingcisco.com


Document ID: 16439