Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Limitaciones

Licencias

Antecedentes

Necesidad de intercambios de claves adicionales

Configurar

Diagrama de la red

Configuración de ASA

Configuración de las interfaces ASA

Configuración de la política IKEv2 con Intercambio de claves múltiples y activación de IKEv2 en la interfaz externa

Configuración del Grupo de Túnel

Configuración de tráfico interesante y ACL criptográfica

Configurar una identidad NAT (opcional)

Configuración de la propuesta IPSec de IKEv2

Configurar un mapa criptográfico y vincularlo a la interfaz

Configuración final de ASA local

Configuración final remota de ASA

Verificación

Troubleshoot

Introducción

Este documento describe cómo configurar una conexión VPN IKEv2 de sitio a sitio entre dos Cisco ASA mediante Intercambios de claves múltiples IKEv2.

Prerequisites

Requirements

Cisco recomienda que tenga conocimiento sobre estos temas:

- Dispositivo de seguridad Cisco Adaptive Security Appliance (ASA)

- Conceptos generales de IKEv2

Componentes Utilizados

La información de este documento se basa en los Cisco ASA que ejecutan 9.20.1.

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Limitaciones

El Intercambio de claves múltiples IKEv2 tiene estas limitaciones:

- Solo es compatible con ASA CLI

- Compatible con dispositivos de alta disponibilidad y multicontexto

- No compatible con dispositivos agrupados

Licencias

Los requisitos de licencia son los mismos que para la VPN de sitio a sitio en los ASA.

Antecedentes

Necesidad de intercambios de claves adicionales

La llegada de grandes ordenadores cuánticos supone un gran riesgo para los sistemas de seguridad, especialmente los que utilizan criptografía de clave pública. Los métodos criptográficos que se pensaba que eran muy duros para los ordenadores normales pueden ser rotos fácilmente por los ordenadores cuánticos. Por lo tanto, surge la necesidad de cambiar a métodos nuevos y resistentes a los datos cuánticos, también llamados algoritmos de criptografía poscuántica (PQC). El objetivo es mejorar la seguridad de la comunicación IPsec mediante el uso de varios intercambios de claves. Esto implica combinar un intercambio de claves tradicional con uno poscuántico. Este enfoque garantiza que el intercambio resultante sea al menos tan fuerte como el intercambio de claves tradicional, lo que proporciona una capa adicional de seguridad.

El plan consiste en mejorar IKEv2 añadiendo compatibilidad con varios intercambios de claves. Estos intercambios de claves adicionales pueden gestionar algoritmos que están a salvo de las amenazas cuánticas. Para intercambiar información sobre estas claves adicionales, se introduce un nuevo tipo de mensaje denominado Intermediate Exchange. Estos intercambios de claves se negocian utilizando el método IKEv2 normal, a través de la carga útil SA.

Configurar

Esta sección describe las configuraciones de ASA.

Diagrama de la red

La información de este documento utiliza esta configuración de red:

Configuración de ASA

Configuración de las interfaces ASA

Si las interfaces ASA no están configuradas, asegúrese de configurar al menos las direcciones IP, los nombres de interfaz y los niveles de seguridad:

interface GigabitEthernet0/0

nameif outside

security-level 0

ip address 10.10.10.10 255.255.255.0

!

interface GigabitEthernet0/1

nameif inside

security-level 100

ip address 192.168.0.1 255.255.255.0

Nota: Asegúrese de que haya conectividad tanto con las redes internas como con las externas, especialmente con el par remoto que se utiliza para establecer un túnel VPN de sitio a sitio. Puede utilizar un ping para verificar la conectividad básica.

Configuración de la política IKEv2 con Intercambio de claves múltiples y activación de IKEv2 en la interfaz externa

Para configurar las políticas IKEv2 para estas conexiones, ingrese estos comandos:

crypto ikev2 policy 10

encryption aes-256

integrity sha256

group 20

prf sha256

lifetime seconds 86400

Se pueden configurar transformaciones de intercambio de claves adicionales crypto ikev2 policy mediante el additional-key-exchange comando. Se pueden configurar un total de siete transformaciones de intercambio adicionales. En este ejemplo, se han configurado dos transformaciones de intercambio adicionales (utilizando los grupos DH 21 y 31).

additional-key-exchange 1 key-exchange-method 21 additional-key-exchange 2 key-exchange-method 31

La política IKEv2 final tiene este aspecto:

crypto ikev2 policy 10

encryption aes-256

integrity sha256

group 20

prf sha256

lifetime seconds 86400

additional-key-exchange 1

key-exchange-method 21

additional-key-exchange 2

key-exchange-method 31

Nota: existe una coincidencia de política IKEv2 cuando ambas políticas de los dos peers contienen los mismos valores de parámetro de autenticación, cifrado, hash, Diffie-Hellman y Additional Key Exchange.

Debe habilitar IKEv2 en la interfaz que termina el túnel VPN. Normalmente, se trata de la interfaz externa (o de Internet). Para habilitar IKEv2, ingrese el crypto ikev2 enable outside comando en el modo de configuración global.

Configuración del Grupo de Túnel

Para un túnel de sitio a sitio, el tipo de perfil de conexión es IPSec-l2l. Para configurar la clave previamente compartida IKEv2, ingrese estos comandos:

tunnel-group 10.20.20.20 type ipsec-l2l

tunnel-group 10.20.20.20 ipsec-attributes

ikev2 remote-authentication pre-shared-key cisco

ikev2 local-authentication pre-shared-key cisco

Configuración de tráfico interesante y ACL criptográfica

ASA utiliza listas de control de acceso (ACL) para diferenciar el tráfico que debe protegerse con cifrado IPSec del tráfico que no requiere protección. Protege los paquetes salientes que coinciden con un permit Application Control Engine (ACE) y garantiza que los paquetes entrantes que coinciden con un permit ACE tengan protección.

object-group network local-network

network-object 192.168.0.0 255.255.255.0

object-group network remote-network

network-object 172.16.10.0 255.255.255.0

access-list asa-vpn extended permit ip object-group local-network object-group remote-network

Nota: El par VPN debe tener la misma ACL en un formato duplicado.

Configurar una identidad NAT (opcional)

Normalmente, se necesita una identidad NAT para evitar que el tráfico interesante llegue a la NAT dinámica. La identidad NAT que se configura en este caso es:

nat (inside,outside) source static local-network local-network destination static remote-network remote-network no-proxy-arp route-lookup

Configuración de la propuesta IPSec de IKEv2

La propuesta IPSec de IKEv2 se utiliza para definir un conjunto de algoritmos de cifrado e integridad con el fin de proteger el tráfico de datos. Esta propuesta debe coincidir con ambos puntos de VPN para crear una SA IPSec correctamente. Los comandos utilizados en este caso son:

crypto ipsec ikev2 ipsec-proposal IKEV2_TSET

protocol esp encryption aes-256

protocol esp integrity sha-256

Configurar un mapa criptográfico y vincularlo a la interfaz

Un mapa criptográfico combina todas las configuraciones necesarias y debe contener necesariamente:

- Una lista de acceso que coincida con el tráfico que se debe cifrar (comúnmente conocida como Crypto ACL)

- Identificación de pares

- Al menos una propuesta IKEv2 IPSec

La configuración utilizada aquí es:

crypto map outside_map 1 match address asa-vpn crypto map outside_map 1 set peer 10.20.20.20 crypto map outside_map 1 set ikev2 ipsec-proposal IKEV2_TSET

La parte final es aplicar este mapa criptográfico a la interfaz externa (pública) mediante el crypto map outside_map interface outside comando.

Configuración final de ASA local

interface GigabitEthernet0/0

nameif outside

security-level 0

ip address 10.10.10.10 255.255.255.0

!

interface GigabitEthernet0/1

nameif inside

security-level 100

ip address 192.168.0.1 255.255.255.0

!

crypto ikev2 policy 10

encryption aes-256

integrity sha256

group 20

prf sha256

lifetime seconds 86400

additional-key-exchange 1

key-exchange-method 21

additional-key-exchange 2

key-exchange-method 31

!

crypto ikev2 enable outside

!

tunnel-group 10.20.20.20 type ipsec-l2l

tunnel-group 10.20.20.20 ipsec-attributes

ikev2 remote-authentication pre-shared-key cisco

ikev2 local-authentication pre-shared-key cisco

!

object-group network local-network

network-object 192.168.0.0 255.255.255.0

!

object-group network remote-network

network-object 172.16.10.0 255.255.255.0

!

access-list asa-vpn extended permit ip object-group local-network object-group remote-network

!

nat (inside,outside) source static local-network local-network destination static remote-network remote-network no-proxy-arp route-lookup

!

crypto ipsec ikev2 ipsec-proposal IKEV2_TSET

protocol esp encryption aes-256

protocol esp integrity sha-256

!

crypto map outside_map 1 match address asa-vpn

crypto map outside_map 1 set peer 10.20.20.20

crypto map outside_map 1 set ikev2 ipsec-proposal IKEV2_TSET

!

crypto map outside_map interface outside

Configuración final remota de ASA

interface GigabitEthernet0/0 nameif outside security-level 0 ip address 10.20.20.20 255.255.255.0 ! interface GigabitEthernet0/1 nameif inside security-level 100 ip address 172.16.10.1 255.255.255.0 ! crypto ikev2 policy 10 encryption aes-256 integrity sha256 group 20 prf sha256 lifetime seconds 86400 additional-key-exchange 1 key-exchange-method 21 additional-key-exchange 2 key-exchange-method 31 ! crypto ikev2 enable outside ! tunnel-group 10.10.10.10 type ipsec-l2l tunnel-group 10.10.10.10 ipsec-attributes ikev2 remote-authentication pre-shared-key cisco ikev2 local-authentication pre-shared-key cisco ! object-group network local-network network-object 172.16.10.0 255.255.255.0 ! object-group network remote-network network-object 192.168.0.0 255.255.255.0 ! access-list asa-vpn extended permit ip object-group local-network object-group remote-network ! nat (inside,outside) source static local-network local-network destination static remote-network remote-network no-proxy-arp route-lookup ! crypto ipsec ikev2 ipsec-proposal IKEV2_TSET protocol esp encryption aes-256 protocol esp integrity sha-256 ! crypto map outside_map 1 match address asa-vpn crypto map outside_map 1 set peer 10.10.10.10 crypto map outside_map 1 set ikev2 ipsec-proposal IKEV2_TSET ! crypto map outside_map interface outside

Nota: La ACL está en el formato duplicado y las claves previamente compartidas son las mismas en ambos extremos.

Verificación

Antes de verificar si el túnel está activo y que está pasando el tráfico, debe asegurarse de que el tráfico interesante se envía a los ASA.

Nota: El rastreador de paquetes se utilizó para simular el flujo de tráfico. Se puede hacer usando el comando packet-tracer; packet-tracer input inside icmp 192.168.0.11 8 0 172.16.10.11 detallado en el Local-ASA.

Para validar los intercambios de claves adicionales, puede utilizar el show crypto ikev2 sa comando. Como se ve en el resultado, puede verificar los parámetros AKE para validar los algoritmos de intercambio seleccionados.

Local-ASA# show crypto ikev2 sa IKEv2 SAs: Session-id:2, Status:UP-ACTIVE, IKE count:1, CHILD count:1 Tunnel-id Local Remote fvrf/ivrf Status Role 246015 10.10.10.10/500 10.20.20.20/500 READY INITIATOR Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:20, Auth sign: PSK, Auth verify: PSK Additional Key Exchange Group: AKE1: 21 AKE2: 31 Life/Active Time: 86400/7 sec Child sa: local selector 192.168.0.0/0 - 192.168.0.255/65535 remote selector 172.16.10.0/0 - 172.16.10.255/65535 ESP spi in/out: 0xf41ca3b5/0xda0e693b

Troubleshoot

Las depuraciones mencionadas se pueden utilizar para resolver problemas del túnel IKEv2:

debug crypto ikev2 protocol 127

debug crypto ikev2 platform 127

Nota: Si desea resolver problemas de un solo túnel (lo que debe ocurrir si el dispositivo está en producción), debe habilitar los debugs condicionalmente mediante el comando debug crypto condition peer X.X.X.X.