El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe los conceptos y la configuración para una VPN entre Cisco ASA y Cisco Secure Firewall y los servicios en la nube de Microsoft Azure.
Cisco recomienda que tenga conocimiento sobre estos temas:
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
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.
El IPSec de intervalo de direcciones IP le permite participar en el túnel VPN. El dominio de cifrado se define mediante un selector de tráfico local y un selector de tráfico remoto para especificar los intervalos de subred local y remota que IPSec captura y cifra.
Estos son dos métodos para definir los dominios de cifrado VPN: selectores de tráfico basados en ruta o basados en políticas.
Basado en ruta:
El dominio de cifrado está configurado para permitir el tráfico que entra en el túnel IPSec. Los selectores de tráfico local y remoto IPSec se establecen en 0.0.0.0. Esto significa que todo el tráfico enrutado en el túnel IPSec se cifra independientemente de la subred de origen/destino.
El dispositivo de seguridad adaptable de Cisco (ASA) admite VPN basada en rutas con el uso de interfaces de túnel virtual (VTI) en las versiones 9.8 y posteriores.
Cisco Secure Firewall o Firepower Threat Defense (FTD) administrado por Firepower Management Center (FMC) admite VPN basada en ruta con el uso de VTI en las versiones 6.7 y posteriores.
Basado en políticas:
El dominio de cifrado está configurado para cifrar sólo intervalos de IP específicos tanto para el origen como para el destino. Los selectores de tráfico local basados en políticas y los selectores de tráfico remoto identifican el tráfico que se debe cifrar a través de IPSec.
ASA admite VPN basada en políticas con mapas criptográficos en la versión 8.2 y posteriores.
Microsoft Azure admite selectores de tráfico basados en rutas, basados en políticas o basados en rutas con simulación basada en políticas. Azure restringe actualmente la versión de Intercambio de claves de Internet (IKE) que puede configurar en función del método seleccionado de VPN. Basado en rutas requiere IKEv2 y basado en políticas requiere IKEv1. Si se utiliza IKEv2, se debe seleccionar una ruta basada en Azure y ASA debe usar un VTI.
Si ASA sólo admite mapas criptográficos debido a la versión de código, Azure debe configurarse para rutas con selectores de tráfico basados en políticas.
Esto se logra en el portal de Azure a través de la implementación de scripts de PowerShell para implementar una opción que Microsoft llama a UsePolicyBasedTrafficSelectors como se explica aquí:
Para resumir desde la perspectiva de la configuración de ASA y FTD:
Complete los pasos de configuración. Elija configurar IKEv1, IKEv2 basado en ruta con VTI o IKEv2 basado en ruta con selectores de tráfico basado en políticas de uso (mapa criptográfico en ASA).
Para una VPN IKEv1 de sitio a sitio de ASA a Azure, implemente la siguiente configuración de ASA. Asegúrese de configurar un túnel basado en directivas en el portal de Azure. Para este ejemplo, se utilizan mapas criptográficos en ASA.
Haga referencia a Configure IKEv1 IPsec Site-to-Site Tunnels with the ASDM or CLI on the ASAv para obtener información completa sobre la configuración de IKEv1 en ASA.
Paso 1. Habilite IKEv1 en la interfaz externa.
Cisco-ASA(config)#crypto ikev1 enable outside
Paso 2. Cree una política IKEv1 que defina los algoritmos/métodos que se utilizarán para el hash, la autenticación, el grupo Diffie-Hellman, la duración y el cifrado.
Nota: Los atributos IKEv1 de fase 1 que se muestran se proporcionan en la sección Acerca de los dispositivos VPN y los parámetros IPsec/IKE para las conexiones de gateway VPN de sitio a sitio. Para obtener más información, póngase en contacto con el soporte técnico de Microsoft Azure.
Cisco-ASA(config)#crypto ikev1 policy 1
Cisco-ASA(config-ikev1-policy)#authentication pre-share
Cisco-ASA(config-ikev1-policy)#encryption aes
Cisco-ASA(config-ikev1-policy)#hash sha
Cisco-ASA(config-ikev1-policy)#group 14
Cisco-ASA(config-ikev1-policy)#lifetime 28800
Paso 3. Cree un grupo de túnel bajo los atributos IPSec y configure la dirección IP del par y la clave previamente compartida del túnel.
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev1 pre-shared-key cisco
Paso 4. Cree una lista de acceso que defina el tráfico que se va a cifrar y tunelizar.
En este ejemplo, el tráfico de interés proviene del túnel que se origina desde la subred 10.2.2.0 a 10.1.1.0. Puede contener varias entradas si hay varias subredes involucradas entre los sitios.
En las versiones 8.4 y posteriores, se pueden crear objetos o grupos de objetos que sirvan como contenedores para las redes, subredes, direcciones IP de host o varios objetos.
Cree dos objetos que tengan las subredes local y remota y utilícelas para las instrucciones crypto Access Control List (ACL) y Network Address Translation (NAT).
Cisco-ASA(config)#object network 10.2.2.0_24
Cisco-ASA(config-network-object)#subnet 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.1.1.0_24
Cisco-ASA(config-network-object)#subnet 10.1.1.0 255.255.255.0
Cisco-ASA(config)#access-list 100 extended permit ip object 10.2.2.0_24 object 10.1.1.0_24
Paso 5. Configure el conjunto de transformación (TS), que debe incluir la palabra claveIKEv1.
También se debe crear un TS idéntico en el extremo remoto.
Nota: Los atributos IKEv1 de fase 2 que se muestran se proporcionan en la sección Acerca de los dispositivos VPN y los parámetros IPsec/IKE para las conexiones de gateway VPN de sitio a sitio. Para obtener más información, póngase en contacto con el soporte técnico de Microsoft Azure.
Cisco-ASA(config)#crypto ipsec ikev1 transform-set myset esp-aes esp-sha-hmac
Paso 6. Configure el mapa criptográfico y aplíquelo a la interfaz externa, que tiene estos componentes:
· La dirección IP del par
· La lista de acceso definida que contiene el tráfico de interés
· El TS
· La configuración no establece Perfect Forward Secrecy (Confidencialidad directa perfecta, PFS). Acerca de los dispositivos VPN y los parámetros IPsec/IKE para las conexiones de gateway VPN de sitio a sitio indica que PFS está deshabilitado para IKEv1 en Azure.
Una configuración PFS opcional crea un nuevo par de claves Diffie-Hellman que se utilizan para proteger los datos (ambos extremos deben estar habilitados para PFS antes de que aparezca la fase 2).
Esta configuración se puede habilitar mediante el uso de esta configuración: crypto map outside_map 20 set pfs
.
· La duración IPSec de fase 2 establecida se basa en Acerca de los dispositivos VPN y los parámetros IPsec/IKE para las conexiones de gateway VPN de sitio a sitio. Para obtener más información, póngase en contacto con el soporte técnico de Microsoft Azure.
Cisco-ASA(config)#crypto map outside_map 20 match address 100
Cisco-ASA(config)#crypto map outside_map 20 set peer 192.168.1.1
Cisco-ASA(config)#crypto map outside_map 20 set ikev1 transform-set myset
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime seconds 3600
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime kilobytes 102400000 Cisco-ASA(config)#crypto map outside_map interface outside
Paso 7. Asegúrese de que el tráfico VPN no esté sujeto a ninguna otra regla NAT. Cree una regla de exención de NAT:
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.2.2.0_24 10.2.2.0_24 destination static 10.1.1.0_24 10.1.1.0_24 no-proxy-arp route-lookup
Nota: Cuando se utilizan varias subredes, debe crear grupos de objetos con todas las subredes de origen y destino y utilizarlas en la regla NAT.
Cisco-ASA(config)#object-group network 10.x.x.x_SOURCE
Cisco-ASA(config-network-object-group)#network-object 10.4.4.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.x.x.x_DESTINATION
Cisco-ASA(config-network-object-group)#network-object 10.3.3.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.1.1.0 255.255.255.0
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.x.x.x_SOURCE 10.x.x.x_SOURCE destination static 10.x.x.x_DESTINATION 10.x.x.x_DESTINATION no-proxy-arp route-lookup
Para una VPN basada en ruta IKEv2 de sitio a sitio en código ASA, utilice esta configuración. Asegúrese de que Azure esté configurado para VPN basada en rutas y no configure UsePolicyBasedTrafficSelectors en el portal de Azure. Se configura un VTI en el ASA.
Consulte el Manual de configuración CLI Book 3: Guía de configuración de VPN de la serie ASA de Cisco, 9.8 para obtener información completa sobre la configuración de ASA VTI.
Paso 1. Habilite IKEv2 en la interfaz externa:
Cisco-ASA(config)#crypto ikev2 enable outside
Paso 2. Agregue una política IKEv2 fase 1.
Nota: Microsoft ha publicado información que entra en conflicto con los atributos específicos de cifrado, integridad y duración de la fase 1 de IKEv2 utilizados por Azure. Los atributos enumerados se proporcionan en la sección Acerca de los dispositivos VPN y los parámetros IPsec/IKE para las conexiones de gateway VPN de sitio a sitio. La información que entra en conflicto con el atributo IKEv2 de Microsoft es Ejemplo de configuración: dispositivo Cisco ASA (IKEv2/no BGP). Para obtener más información, póngase en contacto con el soporte técnico de Microsoft Azure.
Cisco-ASA(config)#crypto ikev2 policy 1 Cisco-ASA(config-ikev2-policy)#encryption aes-256 Cisco-ASA(config-ikev2-policy)#integrity sha256 Cisco-ASA(config-ikev2-policy)#group 14 Cisco-ASA(config-ikev2-policy)#lifetime seconds 28800
Paso 3. Agregue una propuesta de IPsec de fase 2 de IKEv2. Especifique los parámetros de seguridad en el modo de configuración de IPSec ikev2 ipsec-proposal
criptográfico:
protocol esp encryption {des | 3des | aes | aes-192 | aes-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | aes-gmac | aes-gmac-192 | aes-gmac-256 | nulo}
protocol esp integration {md5 | sha-1 | sha-256 | sha-384 | sha-512 | nulo}
Nota: Microsoft ha publicado información que entra en conflicto con los atributos de integridad y cifrado IPSec de fase 2 concretos utilizados por Azure. Los atributos enumerados se proporcionan en la sección Acerca de los dispositivos VPN y los parámetros IPsec/IKE para las conexiones de gateway VPN de sitio a sitio. La información que entra en conflicto con el atributo IPSec de fase 2 de Microsoft es Ejemplo de configuración: dispositivo Cisco ASA (IKEv2/no BGP). Para obtener más información, póngase en contacto con el soporte técnico de Microsoft Azure.
Cisco-ASA(config)#crypto ipsec ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-proposal)#protocol esp encryption aes-256
Cisco-ASA(config-ipsec-proposal)#protocol esp integrity sha-256
Paso 4. Agregue un perfil IPSec que especifique:
Nota: Microsoft ha publicado información que entra en conflicto con respecto a la duración IPSec de fase 2 y los atributos PFS concretos utilizados por Azure. Los atributos enumerados se proporcionan en el mejor esfuerzo de las ofertas de asociación de seguridad IPsec VPN basada en ruta (SA de modo rápido IKE). La información que entra en conflicto con el atributo IPSec de fase 2 de Microsoft es Ejemplo de configuración: dispositivo Cisco ASA (IKEv2/no BGP). Para obtener más información, póngase en contacto con el soporte técnico de Microsoft Azure.
Cisco-ASA(config)#crypto ipsec profile PROFILE1
Cisco-ASA(config-ipsec-profile)#set ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-profile)#set security-association lifetime seconds 27000
Cisco-ASA(config-ipsec-profile)#set security-association lifetime kilobytes unlimited
Cisco-ASA(config-ipsec-profile)#set pfs none
Paso 5. Cree un grupo de túnel bajo los atributos IPsec y configure la dirección IP del par y la clave previamente compartida de túnel local y remoto IKEv2:
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev2 local-authentication pre-shared-key cisco
Cisco-ASA(config-tunnel-ipsec)#ikev2 remote-authentication pre-shared-key cisco
Paso 6. Cree una VTI que especifique:
Cisco-ASA(config)#interface tunnel 100 Cisco-ASA(config-if)#nameif vti Cisco-ASA(config-if)#ip address 169.254.0.1 255.255.255.252 Cisco-ASA(config-if)#tunnel source interface outside Cisco-ASA(config-if)#tunnel destination [Azure Public IP] Cisco-ASA(config-if)#tunnel mode ipsec ipv4 Cisco-ASA(config-if)#tunnel protection ipsec profile PROFILE1
Paso 7. Cree una ruta estática para dirigir el tráfico al túnel. Para agregar una ruta estática, ingrese este comando: route if_name dest_ip mask gateway_ip [distance]
El dest_ip
y mask
es la dirección IP de la red de destino en la nube de Azure, por ejemplo, 10.0.0.0/24. El gateway_ip debe ser cualquier dirección IP (existente o inexistente) en la subred de la interfaz de túnel, como 10.254.0.2. El propósito de este gateway_ip es dirigir el tráfico hacia la interfaz de túnel, pero la IP de gateway en particular no es importante.
Cisco-ASA(config)#route vti 10.0.0.0 255.255.255.0 10.254.0.2
Para una VPN IKEv1 de sitio a sitio desde FTD a Azure, debe haber registrado previamente el dispositivo FTD en FMC.
Paso 1. Cree una política de sitio a sitio. Desplácese hasta el FMC dashboard > Devices > VPN > Site to Site.
Paso 2. Cree una nueva política. Haga clic en el menú Add VPN
desplegable y seleccione Firepower Threat Defense device.
Paso 3. En la Create new VPN Topology
ventana, especifique la casilla de Topology Name,
verificación IKEV1
del protocolo y haga clic en la IKE
ficha. A efectos de este ejemplo, se utilizan claves previamente compartidas como método de autenticación.
Haga clic en el menú Authentication Type
desplegable y seleccione Pre-shared manual key
. Escriba la clave precompartida manual en los campos de texto Key
yConfirm Key
.
Paso 4. Configure la política ISAKMP o los parámetros de la Fase 1 con la creación de uno nuevo. En la misma ventana, haga clic en green plus button
para agregar una nueva política ISAKMP. Especifique el nombre de la política y elija el cifrado deseado, Hash, Diffie-Hellman Group, Lifetime y Authentication Method, y haga clic en Save.
Paso 5. Configure la directiva IPsec o los parámetros de fase 2. Vaya a la IPsec
ficha y seleccione Static
la casilla de Crypto Map Type
verificación. Haga clic en el edit pencil
icono de la IKEV1 IPsec Proposals
en la Transform Sets
opción.
Paso 6. Cree una nueva propuesta de IPSec. En la IKEv1 IPSec Proposal
ventana, haga clic en green plus button
para agregar una nueva. Especifique el nombre de la política y sus parámetros deseados para los algoritmos ESP Encryption y ESP Hash y haga clic en Save.
Paso 7. En la IKEV1 IPsec Proposal
ventana, agregue la nueva directiva IPsec a la Selected Transform Sets
sección y haga clic en OK.
Paso 8. Vuelva a la IPSec
ficha y configure el tamaño y la duración de vida que desee.
Paso 9. Elija el dominio de cifrado/selectores de tráfico/redes protegidas. Acceda a la Endpoints
pestaña. En la Node A
sección, haga clic en el green plus button
para agregar uno nuevo. En este ejemplo, el nodo A se utiliza como subredes locales del FTD.
Paso 10. En la Add Endpoint
ventana, especifique el FTD que se utilizará en el menú Device
desplegable junto con su interfaz física y la dirección IP que se utilizará.
Paso 11. Para especificar el selector de tráfico local, desplácese hasta la Protected Networks
opción y haga clic en green plus button
para crear un nuevo objeto.
Paso 12. En la Network Objects
ventana, haga clic en el green plus button
situado junto al Available Networks
texto para crear un nuevo objeto de selector de tráfico local.
Paso 13. En la New Network Object
ventana, especifique el nombre del objeto y elija el host/red/rango/FQDN correspondiente. A continuación, haga clic en Save
.
Paso 14. Agregue el objeto a la Selected Networks
sección de la Network Objects
ventana y haga clic en OK.
Haga clic OK
en la Add Endpoint
ventana.
Paso 15. Defina el extremo del nodo B, que en este ejemplo es el extremo de Azure. En la Create New VPN Topology
ventana, desplácese a la Node B
sección y haga clic en el green plus button
para agregar el selector de tráfico del terminal remoto. Especifique Extranet
para todos los extremos de par VPN que no estén gestionados por el mismo FMC que el Nodo A. Escriba el nombre del dispositivo (sólo significativo localmente) y su dirección IP.
Paso 16. Cree el objeto selector de tráfico remoto. Desplácese hasta la Protected Networks
sección y haga clic en green plus button
para agregar un nuevo objeto.
Paso 17. En la Network Objects
ventana, haga clic en el green plus button
situado junto al Available Networks
texto para crear un nuevo objeto. En la New Network Object
ventana, especifique el nombre del objeto y elija el host/rango/red/FQDN correspondiente y haga clic en Save.
Paso 18. De nuevo en la Network Objects
ventana, agregue el nuevo objeto remoto a la Selected Networks
sección y haga clic en OK.
Click Ok
(Hacer clic) en la Add Endpoint
ventana.
Paso 19. En la Create New VPN Topology
ventana, puede ver ahora ambos nodos con sus selectores de tráfico correctos/redes protegidas. Haga clic en Save.
Paso 20. En el panel del CSP, haga clic Deploy
en el panel superior derecho, seleccione el dispositivo FTD y haga clic en Deploy.
Paso 21. En la interfaz de línea de comandos, la configuración de VPN tiene el mismo aspecto que la de los dispositivos ASA.
Para una VPN IKEv2 de sitio a sitio en ASA con mapas criptográficos, utilice esta configuración. Asegúrese de que Azure esté configurado para VPN basada en rutas y de que UsePolicyBasedTrafficSelectors se deba configurar en el portal de Azure mediante el uso de PowerShell.
Connect a VPN Gateway to Multiple On-premise Policy-based VPN Devices from Microsoft describe la configuración de UsePolicyBasedTrafficSelectors en conjunto con el modo VPN de Azure basado en ruta. Sin la finalización de este paso, ASA con mapas criptográficos no puede establecer la conexión debido a una discordancia en los selectores de tráfico recibidos de Azure.
Consulte el Manual de configuración CLI Book 3: Guía de configuración de VPN de la serie ASA de Cisco, 9.8 para obtener información completa sobre ASA IKEv2 con la configuración de mapa criptográfico.
Paso 1. Habilite IKEv2 en la interfaz externa:
Cisco-ASA(config)#crypto ikev2 enable outside
Paso 2. Agregue una política IKEv2 fase 1.
Nota: Microsoft ha publicado información que entra en conflicto con los atributos específicos de cifrado, integridad y duración de la fase 1 de IKEv2 utilizados por Azure. Los atributos enumerados se proporcionan en la sección Acerca de los dispositivos VPN y los parámetros IPsec/IKE para las conexiones de gateway VPN de sitio a sitio. La información del atributo IKEv2 de Microsoft que entra en conflicto es Configuración de ejemplo: Dispositivo Cisco ASA (IKEv2/no BGP). Para obtener más información, póngase en contacto con el soporte técnico de Microsoft Azure.
Cisco-ASA(config)#crypto ikev2 policy 1 Cisco-ASA(config-ikev2-policy)#encryption aes-256 Cisco-ASA(config-ikev2-policy)#integrity sha256 Cisco-ASA(config-ikev2-policy)#group 14 Cisco-ASA(config-ikev2-policy)#lifetime seconds 28800
Paso 3. Cree un grupo de túnel bajo los atributos IPsec y configure la dirección IP del par y la clave previamente compartida de túnel local y remoto IKEv2:
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev2 local-authentication pre-shared-key cisco
Cisco-ASA(config-tunnel-ipsec)#ikev2 remote-authentication pre-shared-key cisco
Paso 4. Cree una lista de acceso que defina el tráfico que se va a cifrar y tunelizar. En este ejemplo, el tráfico de interés es el tráfico del túnel que se origina desde la subred 10.2.2.0 a 10.1.1.0. Puede contener varias entradas si hay varias subredes involucradas entre los sitios.
En las versiones 8.4 y posteriores, se pueden crear objetos o grupos de objetos que sirvan como contenedores para las redes, subredes, direcciones IP de host o varios objetos. Cree dos objetos que tengan las subredes local y remota y utilícelos tanto para la ACL crypto como para las sentencias NAT.
Cisco-ASA(config)#object network 10.2.2.0_24
Cisco-ASA(config-network-object)#subnet 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.1.1.0_24
Cisco-ASA(config-network-object)#subnet 10.1.1.0 255.255.255.0
Cisco-ASA(config)#access-list 100 extended permit ip object 10.2.2.0_24 object 10.1.1.0_24
Paso 5. Agregue una propuesta de IPsec de fase 2 de IKEv2. Especifique los parámetros de seguridad en el modo de configuración crypto IPsec ikev2 ipsec-offer:
protocol esp encryption {des | 3des | aes | aes-192 | aes-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | aes-gmac | aes-gmac-192 | aes-gmac-256 | nulo}
protocol esp integration {md5 | sha-1 | sha-256 | sha-384 | sha-512 | nulo}
Nota: Microsoft ha publicado información que entra en conflicto con los atributos de integridad y cifrado IPSec de fase 2 concretos utilizados por Azure. Los atributos enumerados se proporcionan en el mejor esfuerzo de las ofertas de asociación de seguridad IPsec VPN basada en ruta (SA de modo rápido IKE). La información de atributo IPSec de fase 2 de Microsoft que entra en conflicto es Configuración de muestra: Dispositivo Cisco ASA (IKEv2/sin BGP). Para obtener más información, póngase en contacto con el soporte técnico de Microsoft Azure.
Cisco-ASA(config)#crypto ipsec ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-proposal)#protocol esp encryption aes-256
Cisco-ASA(config-ipsec-proposal)#protocol esp integrity sha-256
Paso 6. Configure un mapa criptográfico y aplíquelo a la interfaz externa, que contiene estos componentes:
· La dirección IP del par
· La lista de acceso definida que contiene el tráfico de interés.
· La propuesta IPSec de fase 2 de IKEv2
· Duración de IPSec de fase 2 en segundos.
· Un parámetro opcional de Confidencialidad directa perfecta (PFS), que crea un nuevo par de claves Diffie-Hellman que se utilizan para proteger los datos (ambos extremos deben estar habilitados para PFS antes de que aparezca la fase 2).
Microsoft ha publicado información que entra en conflicto con respecto a la duración de IPSec de fase 2 y los atributos PFS concretos utilizados por Azure.
Los atributos enumerados se proporcionan con el mejor esfuerzo de Ofertas de asociación de seguridad IPsec VPN basada en ruta (SA de modo rápido IKE).
La información de atributo IPSec de fase 2 de Microsoft que entra en conflicto es Configuración de muestra: Dispositivo Cisco ASA (IKEv2/sin BGP). Para obtener más información, póngase en contacto con el soporte técnico de Microsoft Azure.
Cisco-ASA(config)#crypto map outside_map 20 match address 100 Cisco-ASA(config)#crypto map outside_map 20 set peer 192.168.1.1 Cisco-ASA(config)#crypto map outside_map 20 set ikev2 ipsec-proposal myset
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime seconds 27000
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime kilobytes unlimited Cisco-ASA(config)#crypto map outside_map 20 set pfs none Cisco-ASA(config)#crypto map outside_map interface outside
Paso 8. Asegúrese de que el tráfico VPN no esté sujeto a ninguna otra regla NAT. Cree una regla de exención de NAT:
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.2.2.0_24 10.2.2.0_24 destination static 10.1.1.0_24 10.1.1.0_24 no-proxy-arp route-lookup
Nota: Cuando se utilizan varias subredes, debe crear grupos de objetos con todas las subredes de origen y destino y utilizarlas en la regla NAT.
Cisco-ASA(config)#object-group network 10.x.x.x_SOURCE
Cisco-ASA(config-network-object-group)#network-object 10.4.4.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.x.x.x_DESTINATION
Cisco-ASA(config-network-object-group)#network-object 10.3.3.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.1.1.0 255.255.255.0
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.x.x.x_SOURCE 10.x.x.x_SOURCE destination static 10.x.x.x_DESTINATION 10.x.x.x_DESTINATION no-proxy-arp route-lookup
Después de completar la configuración tanto en ASA como en el gateway de Azure, Azure inicia el túnel VPN. Puede verificar que el túnel se construye correctamente con estos comandos:
Verifique que se haya creado la fase 1 Security Association (SA):
A continuación, se muestra una SA IKEv2 construida desde la interfaz externa local IP 192.168.1.2 en el puerto UDP 500, hasta la IP de destino remoto 192.168.2.2. También existe una SA secundaria válida creada para que el tráfico cifrado fluya a través de ella.
Cisco-ASA# show crypto ikev2 sa IKEv2 SAs: Session-id:44615, Status:UP-ACTIVE, IKE count:1, CHILD count:1 Tunnel-id Local Remote Status Role 3208253 192.168.1.2/500 192.168.2.2/500 READY INITIATOR Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK Life/Active Time: 86400/142 sec *-->Child sa: local selector 192.168.0.0/0 - 192.168.0.255/65535 remote selector 192.168.3.0/0 - 192.168.3.255/65535 ESP spi in/out: 0x9b60edc5/0x8e7a2e12
Aquí, se muestra una SA IKEv1 construida con ASA como iniciador para igualar IP 192.168.2.2 con una vida útil restante de 86388 segundos.
Cisco-ASA# sh crypto ikev1 sa detail IKEv1 SAs: Active SA: 1 Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey) Total IKE SA: 1 1 IKE Peer: 192.168.2.2 Type : L2L Role : initiator Rekey : no State : MM_ACTIVE Encrypt : aes Hash : SHA Auth : preshared Lifetime: 86400 Lifetime Remaining: 86388
Compruebe que la asociación de seguridad IPSec de fase 2 se ha creado con show crypto ipsec sa peer [peer-ip].
Cisco-ASA# show crypto ipsec sa peer 192.168.2.2
peer address: 192.168.2.2
Crypto map tag: outside, seq num: 10, local addr: 192.168.1.2
access-list VPN extended permit ip 192.168.0.0 255.255.255.0 192.168.3.0 255.255.255.0
local ident (addr/mask/prot/port): (192.168.0.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.2.2
#pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
#pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 4, #pkts comp failed: 0, #pkts decomp failed: 0
#pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0
#PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0
#TFC rcvd: 0, #TFC sent: 0
#Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0
#send errors: 0, #recv errors: 0
local crypto endpt.: 192.168.1.2/500, remote crypto endpt.: 192.168.2.2/500
path mtu 1500, ipsec overhead 74(44), media mtu 1500
PMTU time remaining (sec): 0, DF policy: copy-df
ICMP error validation: disabled, TFC packets: disabled
current outbound spi: 8E7A2E12
current inbound spi : 9B60EDC5
inbound esp sas:
spi: 0x9B60EDC5 (2606820805)
SA State: active
transform: esp-aes-256 esp-sha256-hmac no compression
in use settings ={L2L, Tunnel, IKEv2, }
slot: 0, conn_id: 182743040, crypto-map: outside
sa timing: remaining key lifetime (kB/sec): (4193279/28522)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x0000001F
outbound esp sas:
spi: 0x8E7A2E12 (2390371858)
SA State: active
transform: esp-aes-256 esp-sha256-hmac no compression
in use settings ={L2L, Tunnel, IKEv2, }
slot: 0, conn_id: 182743040, crypto-map: outside
sa timing: remaining key lifetime (kB/sec): (3962879/28522)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x00000001
Se envían cuatro paquetes y se reciben cuatro a través de IPSec SA sin errores. Una SA entrante con SPI 0x9B60EDC5 y una SA saliente con SPI 0x8E7A2E12 se instalan según lo esperado.
También puede verificar que los datos pasan a través del túnel a través de una verificación de las vpn-sessiondb l2l
entradas:
Cisco-ASA#show vpn-sessiondb l2l
Session Type: LAN-to-LAN
Connection : 192.168.2.2
Index : 44615 IP Addr : 192.168.2.2
Protocol : IKEv2 IPsec
Encryption : IKEv2: (1)AES256 IPsec: (1)AES256
Hashing : IKEv2: (1)SHA256 IPsec: (1)SHA256
Bytes Tx : 400 Bytes Rx : 400
Login Time : 18:32:54 UTC Tue Mar 13 2018
Duration : 0h:05m:22s
Bytes Tx: y Bytes Rx: muestran los contadores de datos enviados y recibidos sobre la SA IPSec.
Paso 1. Verifique que ASA reciba el tráfico para la VPN en la interfaz interna destinada a la red privada de Azure. Para realizar la prueba, puede configurar un ping continuo desde un cliente interno y configurar una captura de paquetes en ASA para verificar que se reciba:
capture [cap-name] interface [if-name] match [protocol] [src-ip] [src-mask] [dest-ip] [dest-mask]
show capture [cap-name]
Cisco-ASA#capture inside interface inside match ip host [local-host] host [remote-host]
Cisco-ASA#show capture inside 2 packets captured 1: 18:50:42.835863 192.168.0.2 > 192.168.3.2: icmp: echo request 2: 18:50:42.839128 192.168.3.2 > 192.168.0.2: icmp: echo reply 2 packets shown
Si se ve el tráfico de respuesta de Azure, la VPN se genera correctamente y envía/recibe tráfico.
Si el tráfico de origen está ausente, verifique que su remitente esté ruteando correctamente al ASA.
Si se ve el tráfico de origen, pero no el tráfico de respuesta de Azure, continúe para verificar por qué.
Paso 2. Verifique que el tráfico recibido en la interfaz interna de ASA sea procesado correctamente por ASA y ruteado a la VPN:
Para simular una solicitud de eco ICMP:
packet-tracer input [inside-interface-name] icmp [inside-host-ip] 8.0 [azure-host-ip] detail
Las pautas completas de uso del rastreador de paquetes se pueden encontrar aquí: Resolución de problemas de acceso mediante Packet-Tracer
Cisco-ASA# packet-tracer input inside icmp 192.168.0.2 8 0 192.168.3.2 detail Phase: 1 Type: CAPTURE Subtype: Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c19afb0a0, priority=13, domain=capture, deny=false hits=3, user_data=0x7f6c19afb9b0, cs_id=0x0, l3_type=0x0 src mac=0000.0000.0000, mask=0000.0000.0000 dst mac=0000.0000.0000, mask=0000.0000.0000 input_ifc=inside, output_ifc=any Phase: 2 Type: ACCESS-LIST Subtype: Result: ALLOW Config: Implicit Rule Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c195971f0, priority=1, domain=permit, deny=false hits=32, user_data=0x0, cs_id=0x0, l3_type=0x8 src mac=0000.0000.0000, mask=0000.0000.0000 dst mac=0000.0000.0000, mask=0100.0000.0000 input_ifc=inside, output_ifc=any Phase: 3 Type: ROUTE-LOOKUP Subtype: Resolve Egress Interface Result: ALLOW Config: Additional Information: found next-hop 192.168.1.1 using egress ifc outside Phase: 4 Type: NAT Subtype: per-session Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c19250290, priority=0, domain=nat-per-session, deny=true hits=41, user_data=0x0, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0 src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0 input_ifc=any, output_ifc=any Phase: 5 Type: IP-OPTIONS Subtype: Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c1987c120, priority=0, domain=inspect-ip-options, deny=true hits=26, user_data=0x0, cs_id=0x0, reverse, flags=0x0, protocol=0 src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0 input_ifc=inside, output_ifc=any Phase: 6 Type: QOS Subtype: Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c19a60280, priority=70, domain=qos-per-class, deny=false hits=30, user_data=0x7f6c19a5c030, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0 src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0 input_ifc=any, output_ifc=any Phase: 7 Type: INSPECT Subtype: np-inspect Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c1983ab50, priority=66, domain=inspect-icmp-error, deny=false hits=27, user_data=0x7f6c1987afc0, cs_id=0x0, use_real_addr, flags=0x0, protocol=1 src ip/id=0.0.0.0, mask=0.0.0.0, icmp-type=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, icmp-code=0, tag=any, dscp=0x0 input_ifc=inside, output_ifc=any Phase: 8 Type: VPN Subtype: encrypt Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: out id=0x7f6c19afe1a0, priority=70, domain=encrypt, deny=false hits=2, user_data=0x13134, cs_id=0x7f6c19349670, reverse, flags=0x0, protocol=0 src ip/id=192.168.0.0, mask=255.255.255.0, port=0, tag=any dst ip/id=192.168.3.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0 input_ifc=any, output_ifc=outside Phase: 9 Type: FLOW-CREATION Subtype: Result: ALLOW Config: Additional Information: New flow created with id 43, packet dispatched to next module Module information for forward flow ... snp_fp_tracer_drop snp_fp_inspect_ip_options snp_fp_inspect_icmp snp_fp_adjacency snp_fp_encrypt snp_fp_fragment snp_ifc_stat Module information for reverse flow ... Result: input-interface: inside input-status: up input-line-status: up output-interface: outside output-status: up output-line-status: up Action: allow
NAT exime el tráfico (no se aplica ninguna traducción). Verifique que no se produzca ninguna traducción NAT en el tráfico VPN. Además, verifique que output-interface
sea correcto: debe ser la interfaz física donde se aplica el mapa criptográfico o la interfaz de túnel virtual.
Asegúrese de que no se vean caídas de la lista de acceso. Si la fase VPN muestra ENCRYPT: ALLOW,
que el túnel ya está construido y puede ver IPSec SA instalado con encaps.
Paso 2.1. Si ENCRYPT: ALLOW
se ve en packet-tracer.
Verifique que la SA IPSec esté instalada y cifre el tráfico con el uso de show crypto ipsec sa.
Puede realizar una captura en la interfaz externa para comprobar que se envían paquetes cifrados desde ASA y que se reciben respuestas cifradas desde Azure.
Paso 2.2. Si se ENCRYPT:DROP
ve en packet-tracer.
El túnel VPN aún no se ha establecido pero está en negociación. Se trata de una condición esperada cuando se activa por primera vez el túnel. Ejecute los debugs para ver el proceso de negociación de túnel e identificar dónde y si ocurre una falla.
En primer lugar, verifique que se active la versión correcta de IKE y que el proceso ike-common no muestre errores relevantes:
Cisco-ASA#debug crypto ike-common 255 Cisco-ASA# Mar 13 18:58:14 [IKE COMMON DEBUG]Tunnel Manager dispatching a KEY_ACQUIRE message to IKEv1. Map Tag = outside. Map Sequence Number = 10.
Si no se ve ningún resultado de depuración ike-common cuando se inicia el tráfico VPN, esto significa que el tráfico se descarta antes de que llegue al proceso crypto o que crypto ikev1/ikev2 no esté habilitado en el cuadro. Vuelva a comprobar la configuración criptográfica y las caídas de paquetes.
Si los debugs ike-common muestran que se activa el proceso crypto, depure la versión configurada de IKE para ver los mensajes de negociación de túnel e identificar dónde ocurre la falla en la construcción de túneles con Azure.
El análisis y el procedimiento de depuración completo de ikev1 se pueden encontrar aquí Nota técnica de solución de problemas de depuración de IPSec e IKE de ASA (modo principal de IKEv1).
Cisco-ASA#debug crypto ikev1 127
Cisco-ASA#debug crypto ipsec 127
El procedimiento de depuración y el análisis completo de ikev2 se pueden encontrar aquí. Use los depuradores IKEv2 de ASA para VPN de sitio a sitio con PSK
Cisco-ASA#debug crypto ikev2 platform 127 Cisco-ASA#debug crypto ikev2 protocol 127 Cisco-ASA#debug crypto ipsec 127
Revisión | Fecha de publicación | Comentarios |
---|---|---|
4.0 |
07-Oct-2024 |
Actualización Descripción del artículo, Enlaces de imagen, Requisitos de estilo y formato. |
3.0 |
09-Sep-2022 |
Revisión/recertificación de contenido |
2.0 |
28-Feb-2022 |
El soporte para FTD 6.7 se ha agregado como parte de la solicitud de FireReiniciar. |
1.0 |
27-Mar-2019 |
Versión inicial |