Introducción
Este documento describe cómo configurar VPN de sitio a sitio en Firepower Threat Defense (FTD) administrado por FMC.
Prerequisites
Requirements
Debe tener conocimiento de estos temas:
- Comprensión básica de VPN
- Experiencia con Firepower Management Center
- Experiencia con la línea de comandos de ASA
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
- FTD 6.5 de Cisco
- ASA 9.10(1)32
- IKEv2
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.
Configuración
Comience con la configuración del FTD con FirePower Management Center.
Paso 1. Defina la Topología VPN.
1. Navegue hasta Devices > VPN > Site To Site. En Add VPN, haga clic en Firepower Threat Defence Device, como se muestra en esta imagen.
2. Aparece el cuadro Create New VPN Topology. Dé a la VPN un nombre fácilmente identificable.
Topología de red: Punto a punto
Versión IKE: IKEv2
En este ejemplo, cuando selecciona terminales, el nodo A es el FTD y el nodo B es el ASA. Haga clic en el botón verde más para agregar dispositivos a la topología, como se muestra en esta imagen.
3. Añada el FTD como primer punto final.
Elija la interfaz en la que se coloca un mapa criptográfico. La dirección IP se rellena automáticamente a partir de la configuración del dispositivo.
Haga clic en el símbolo verde más bajo Redes protegidas, como se muestra en esta imagen, para seleccionar las subredes que se van a cifrar en esta VPN.
4. Haga clic en verde más y se creará un objeto de red aquí.
5. Agregue todas las subredes locales al FTD que deben cifrarse. Haga clic en Agregar para moverlos a las redes seleccionadas. Ahora haga clic en OK, como se muestra en esta imagen.
FTDSubnet = 10.10.113.0/24
Nodo A: (FTD) ha finalizado. Haga clic en el signo más verde del nodo B, como se muestra en la imagen.
El nodo B es un ASA. Los dispositivos no gestionados por el FMC se consideran Extranet.
6. Agregue un nombre de dispositivo y una dirección IP. Haga clic en el símbolo más verde para agregar redes protegidas, como se muestra en la imagen.
7. Como se muestra en esta imagen, seleccione las subredes ASA que deben cifrarse y agréguelas a las redes seleccionadas.
ASASubnet = 10.10.110.0/24
Paso 2. Configure los Parámetros IKE.
Ahora ambos terminales están en su lugar y pasan por la configuración IKE/IPSEC.
1. En la pestaña IKE, especifique los parámetros que se utilizan para el intercambio inicial IKEv2. Haga clic en el símbolo más verde para crear una nueva política IKE, como se muestra en la imagen.
2. En la nueva política IKE, especifique un número de prioridad así como la duración de la fase 1 de la conexión. Este documento utiliza estos parámetros para el intercambio inicial: Integrity (SHA256), Encryption (AES-256), PRF (SHA256) y Diffie-Hellman Group (Group 14)
Nota: Todas las políticas IKE del dispositivo se envían al par remoto independientemente de lo que haya en la sección de políticas seleccionada. La primera política IKE coincidente con el par remoto se selecciona para la conexión VPN. Elija la política que se enviará primero utilizando el campo de prioridad. La prioridad 1 se envía primero.
3. Una vez agregados los parámetros, seleccione esta política y elija el Tipo de Autenticación.
4. Elija pre-shared-key manual. Para este documento, se utiliza PSK cisco123.
Paso 3. Configure los parámetros de IPsec.
1. En IPSec, haga clic en el lápiz para editar el conjunto de transformación y crear una nueva propuesta IPSec, como se muestra en esta imagen.
2. Para crear una nueva propuesta IPsec IKEv2, haga clic en el símbolo verde más e ingrese los parámetros de fase 2.
Seleccione ESP Encryption > AES-GCM-256. Cuando se utiliza el algoritmo GCM para el cifrado, no se necesita un algoritmo Hash. Con GCM, la función de hash está integrada.
3. Una vez creada la nueva propuesta IPSec, agréguela a los conjuntos de transformación seleccionados.
La nueva propuesta IPsec seleccionada aparece ahora en la lista de propuestas IKEv2 IPsec.
Si es necesario, la duración de la fase 2 y la SLP se pueden editar aquí. En este ejemplo, la duración se establece como predeterminada y PFS se deshabilita.
Opcional: debe completar la opción para omitir el control de acceso o crear una directiva de control de acceso.
Paso 4. Omitir el control de acceso.
Opcionalmente, sysopt permit-vpn se puede habilitar en Advanced > Tunnel.
Esto elimina la posibilidad de utilizar la política de control de acceso para inspeccionar el tráfico proveniente de los usuarios. Los filtros VPN o las ACL descargables se pueden seguir usando para filtrar el tráfico de los usuarios. Este es un comando global y se aplica a todas las VPN si esta casilla de verificación está habilitada.
Si sysopt permit-vpn no está habilitado, se debe crear una política de control de acceso para permitir el tráfico VPN a través del dispositivo FTD. Si se habilita sysopt permit-vpn, omita la creación de una política de control de acceso.
Paso 5. Cree una Política de Control de Acceso.
En Políticas de control de acceso, navegue hasta Políticas > Control de acceso > Control de acceso y seleccione la Política que se dirige al dispositivo FTD. Para agregar una regla, haga clic en Add Rule, como se muestra en la imagen.
Se debe permitir el tráfico desde la red interna hacia la red externa y desde la red externa hacia la red interna. Cree una regla para realizar ambas o dos reglas para mantenerlas separadas. En este ejemplo, se crea una regla para realizar ambas acciones.
Paso 6. Configure la exención de NAT.
Configure una sentencia de exención de NAT para el tráfico VPN. La exención de NAT debe estar en vigor para evitar que el tráfico VPN llegue a otra sentencia NAT y traduzca incorrectamente el tráfico VPN.
1. Vaya a Devices > NAT, seleccione la política NAT que se dirige al FTD. Cree una nueva regla mientras hace clic en el botón Add Rule.
2. Cree una nueva regla NAT manual estática. Haga referencia a las interfaces internas y externas.
3. En la pestaña Traducción, seleccione las subredes de origen y destino. Como se trata de una regla de exención de NAT, haga que el origen/destino original y el origen/destino traducido sean iguales, como se muestra en esta imagen:
4. Por último, pase a la pestaña Advanced y habilite no-proxy-arp y route-lookup.
5. Guarde esta regla y observe los resultados finales en la lista NAT.
6. Una vez completada la configuración, guarde e implemente la configuración en el FTD.
Paso 7. Configure el ASA.
- Habilite IKEv2 en la interfaz externa del ASA:
Crypto ikev2 enable outside
2. Cree la política IKEv2 que defina los mismos parámetros configurados en el FTD:
Crypto ikev2 policy 1
Encryption aes-256
Integrity sha256
Group 14
Prf sha256
Lifetime seconds 86400
3. Cree una política de grupo que permita el protocolo ikev2:
Group-policy FTD_GP internal
Group-policy FTD_GP attributes
Vpn-tunnel-protocol ikev2
4. Cree un grupo de túnel para la dirección IP pública de FTD del par. Haga referencia a la política de grupo y especifique la clave previamente compartida:
Tunnel-group 172.16.100.20 type ipsec-l2l
Tunnel-group 172.16.100.20 general-attributes
Default-group-policy FTD_GP
Tunnel-group 172.16.100.20 ipsec-attributes
ikev2 local-authentication pre-shared-key cisco123
ikev2 remote-authentication pre-shared-key cisco123
5. Cree una lista de acceso que defina el tráfico que se va a cifrar: (FTDSubnet 10.10.113.0/24) (ASASubnet 10.10.110.0/24)
Object network FTDSubnet
Subnet 10.10.113.0 255.255.255.0
Object network ASASubnet
Subnet 10.10.110.0 255.255.255.0
Access-list ASAtoFTD extended permit ip object ASASubnet object FTDSubnet
6. Cree una propuesta ikev2 ipsec que haga referencia a los algoritmos especificados en el FTD:
Crypto ipsec ikev2 ipsec-proposal FTD
Protocol esp encryption aes-gcm-256
7. Cree una entrada de mapa criptográfico que una la configuración:
Crypto map outside_map 10 set peer 172.16.100.20
Crypto map outside_map 10 match address ASAtoFTD
Crypto map outside_map 10 set ikev2 ipsec-proposal FTD
Crypto map outside_map 10 interface outside
8. Cree una declaración de exención de NAT que evite que el firewall NATTED el tráfico VPN:
Nat (inside,outside) 1 source static ASASubnet ASASubnet destination static FTDSubnet FTDSubnet no-proxy-arp route-lookup
Verificación
Nota: En este momento no hay forma de revisar el estado del túnel VPN desde el FMC. Hay una solicitud de mejora para esta capacidad con ID de bug Cisco CSCvh7603.
Intente iniciar el tráfico a través del túnel VPN. Con acceso a la línea de comandos del ASA o FTD, esto se puede hacer con el comando packet tracer. Cuando se utiliza el comando packet-tracer para activar el túnel VPN, se debe ejecutar dos veces para verificar que el túnel se activa. La primera vez que se ejecuta el comando, el túnel VPN está inactivo, por lo que el comando packet-tracer falla con el cifrado VPN DROP. No utilice la dirección IP interna del firewall como dirección IP de origen en el rastreador de paquetes, ya que esto siempre falla.
firepower# packet-tracer input inside icmp 10.10.113.10 8 0 10.10.110.10
Phase: 10
Type: VPN
Subtype: encrypt
Result: DROP
Config:
Additional Information:
firepower# packet-tracer input inside icmp 10.10.113.10 8 0 10.10.110.10
Phase: 1
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 172.16.100.1 using egress ifc outside
Phase: 2
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
nat (Inside,outside) source static FTDSubnet FTDSubnet destination static ASASubnet ASASubnet no-proxy-arp route-lookup
Additional Information:
NAT divert to egress interface outside
Untranslate 10.10.110.10/0 to 10.10.110.10/0
Phase: 3
Type: ACCESS-LIST
Subtype: log
Result: ALLOW
Config:
access-group CSM_FW_ACL_ global
access-list CSM_FW_ACL_ advanced permit ip ifc Inside object-group FMC_INLINE_src_rule_268436483 ifc outside object-group FMC_INLINE_dst_rule_268436483 rule-id 268436483
access-list CSM_FW_ACL_ remark rule-id 268436483: ACCESS POLICY: FTD-Access-Control-Policy - Mandatory
access-list CSM_FW_ACL_ remark rule-id 268436483: L7 RULE: VPN_Traffic
object-group network FMC_INLINE_src_rule_268436483
description: Auto Generated by FMC from src of UnifiedNGFWRule# 1 (FTD-Access-Control-Policy/mandatory)
network-object object ASASubnet
network-object object FTDSubnet
object-group network FMC_INLINE_dst_rule_268436483
description: Auto Generated by FMC from dst of UnifiedNGFWRule# 1 (FTD-Access-Control-Policy/mandatory)
network-object object ASASubnet
network-object object FTDSubnet
Additional Information:
This packet is sent to snort for additional processing where a verdict is reached
Phase: 5
Type: NAT
Subtype:
Result: ALLOW
Config:
nat (Inside,outside) source static FTDSubnet FTDSubnet destination static ASASubnet ASASubnet no-proxy-arp route-lookup
Additional Information:
Static translate 10.10.113.10/0 to 10.10.113.10/0
Phase: 10
Type: VPN
Subtype: encrypt
Result: ALLOW
Config:
Additional Information:
Result:
input-interface: Inside
input-status: up
input-line-status: up
output-interface: outside
output-status: up
output-line-status: up
Action: allow
Para monitorear el estado del túnel, navegue hasta la CLI del FTD o ASA.
Desde la CLI de FTD, verifique la fase 1 y la fase 2 con este comando:
Show crypto ikev2 sa
> show crypto ikev2 sa
IKEv2 SAs:
Session-id:4, Status:UP-ACTIVE, IKE count:1, CHILD count:1
Tunnel-id Local Remote Status Role
9528731 172.16.100.20/500 192.168.200.10/500 READY INITIATOR
Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/118 sec
Child sa: local selector 10.10.113.0/0 - 10.10.113.255/65535
remote selector 10.10.110.0/0 - 10.10.110.255/65535
ESP spi in/out: 0x66be357d/0xb74c8753
Solucionar problemas y depurar
Problemas de conectividad inicial
Al crear una VPN, hay dos partes que negocian el túnel. Por lo tanto, es mejor obtener ambos lados de la conversación cuando resuelve cualquier tipo de falla de túnel. Una guía detallada sobre cómo depurar túneles IKEv2 se puede encontrar aquí: Cómo depurar VPN IKEv2
La causa más común de fallas de túnel es un problema de conectividad. La mejor manera de determinar esto es tomar capturas de paquetes en el dispositivo. Utilice este comando para tomar capturas de paquetes en el dispositivo:
Capture capout interface outside match ip host 172.16.100.20 host 192.168.200.10
Una vez que la captura esté en su lugar, intente enviar tráfico a través de la VPN y verifique si hay tráfico bidireccional en la captura de paquetes.
Revise la captura de paquetes con este comando:
show cap capout
firepower# show cap capout
4 packets captured
1: 11:51:12.059628 172.16.100.20.500 > 192.168.200.10.500: udp 690
2: 11:51:12.065243 192.168.200.10.500 > 172.16.100.20.500: udp 619
3: 11:51:12.066692 172.16.100.20.500 > 192.168.200.10.500: udp 288
4: 11:51:12.069835 192.168.200.10.500 > 172.16.100.20.500: udp 240
Problemas Específicos Del Tráfico
Los problemas comunes de tráfico que experimenta son:
- Problemas de ruteo detrás del FTD: la red interna no puede rutear paquetes de vuelta a las direcciones IP asignadas y a los clientes VPN.
- Listas de control de acceso que bloquean el tráfico.
- Traducción de direcciones de red que no se omite para el tráfico VPN.
Para obtener más información sobre las VPN en el FTD gestionado por FMC, puede encontrar la guía de configuración completa aquí: Guía de configuración de FTD administrada por FMC