tutoriales.com

Implementación de VPNs IPsec Site-to-Site en Routers Cisco IOS: Conectando Oficinas de Forma Segura

Este tutorial te guiará paso a paso en la implementación de una VPN IPsec Site-to-Site usando routers Cisco IOS. Aprenderás los conceptos clave de IPsec, IKEv1 e IKEv2, y cómo configurarlos para asegurar el tráfico entre dos redes remotas. Ideal para administradores de red que buscan fortalecer la seguridad de sus interconexiones empresariales.

Intermedio20 min de lectura7 views
Reportar error

🚀 Introducción a las VPNs IPsec Site-to-Site

En el mundo empresarial actual, la comunicación segura entre diferentes ubicaciones geográficas es fundamental. Las Redes Privadas Virtuales (VPN) son la solución estándar para crear un túnel seguro sobre una red pública, como Internet, permitiendo que dos o más sitios se comuniquen como si estuvieran en la misma red local. Dentro de las VPNs, las VPNs IPsec Site-to-Site son cruciales para conectar redes completas (oficinas, sucursales) de forma segura.

¿Qué es IPsec?

IPsec (Internet Protocol Security) es un conjunto de protocolos que proporciona seguridad para las comunicaciones a nivel de capa de red (Capa 3 del modelo OSI). Ofrece autenticación, integridad y confidencialidad para los paquetes IP. IPsec opera en dos modos principales:

  • Modo Túnel: El paquete IP original se encapsula por completo dentro de un nuevo paquete IP. Este modo es el más utilizado para VPNs Site-to-Site, ya que oculta las direcciones IP internas de la red.
  • Modo Transporte: Solo la carga útil (payload) del paquete IP se cifra y autentica. El encabezado IP original permanece sin modificar. Se usa principalmente para proteger comunicaciones host-to-host.

Componentes Clave de IPsec

IPsec se compone de varios elementos que trabajan en conjunto:

  • Autenticación Header (AH): Proporciona autenticación y verificación de integridad para el paquete IP completo. No ofrece cifrado.
  • Encapsulating Security Payload (ESP): Ofrece confidencialidad (cifrado), autenticación y verificación de integridad. Es el más común y recomendado para la mayoría de las VPNs.
  • Internet Key Exchange (IKE): Un protocolo utilizado para establecer Asociaciones de Seguridad (SAs) entre pares. IKE negocia los parámetros de seguridad para IPsec y maneja la generación y el intercambio de claves. Existe en dos versiones: IKEv1 e IKEv2.

🛠️ Fundamentos de IKEv1 e IKEv2

IKE es el cerebro detrás del establecimiento de las VPNs IPsec. Es responsable de la negociación inicial y el intercambio de claves seguras.

IKEv1: Fases y Modos

IKEv1 opera en dos fases:

  • Fase 1 (ISAKMP SA): Establece un canal seguro para la comunicación IKE en sí. Se negocian los algoritmos de cifrado y autenticación para proteger el proceso de intercambio de claves. Puede operar en dos modos:
    • Modo Principal: Más seguro, pero requiere más paquetes para negociar. Protege las identidades de los pares desde el principio.
    • Modo Agresivo: Más rápido, pero las identidades se intercambian antes de que el canal esté completamente seguro. Solo debe usarse si el Modo Principal no es una opción o si la velocidad es crítica.
  • Fase 2 (IPsec SA): Una vez que el canal seguro de la Fase 1 está establecido, la Fase 2 negocia los parámetros de seguridad para los datos que fluirán a través del túnel IPsec (AH o ESP). Aquí se define qué tráfico será protegido. Siempre opera en un solo modo: Modo Rápido.

IKEv2: Simplificación y Mejoras

IKEv2 es una versión mejorada de IKEv1 que ofrece varias ventajas:

  • Simplificación: Reduce el número de mensajes en la negociación inicial.
  • Resistencia a fallos: Mejora la renegociación de claves y la recuperación ante fallos de conexión.
  • Soporte MOBIKE: Permite a los clientes móviles cambiar de dirección IP sin romper la VPN.
  • NAT Traversal (NAT-T) mejorado: Facilita la operación de VPNs a través de dispositivos NAT.
💡 Consejo: Siempre que sea posible, es recomendable utilizar IKEv2 por sus mejoras en seguridad y eficiencia. Sin embargo, IKEv1 sigue siendo ampliamente compatible y se usa en muchos entornos existentes.

ARCHITECTURE

LAN A 192.168.1.0/24 Router A Cisco Internet Router B Cisco LAN B 192.168.2.0/24 VPN IPsec

Consideraremos el siguiente escenario para nuestra configuración:

ParámetroRouter A (Oficina Central)Router B (Sucursal)
---------
IP Pública203.0.113.1198.51.100.1
Red LAN192.168.1.0/24192.168.2.0/24
---------
Interfaz ExternaGigabitEthernet0/0GigabitEthernet0/0
Interfaz InternaGigabitEthernet0/1GigabitEthernet0/1

⚙️ Configuración Paso a Paso de IPsec Site-to-Site (IKEv1)

Vamos a configurar una VPN IPsec Site-to-Site utilizando IKEv1. Los pasos son los mismos para ambos routers, con las adaptaciones de direcciones IP y redes.

Paso 1: Configuración Básica de Red e Interfaces

Asegúrate de que las interfaces estén configuradas con sus direcciones IP y que haya conectividad básica entre las IPs públicas de los routers.

Router A:

configure terminal
interface GigabitEthernet0/0
 ip address 203.0.113.1 255.255.255.252
 no shutdown
 exit
interface GigabitEthernet0/1
 ip address 192.168.1.1 255.255.255.0
 no shutdown
 exit
ip route 0.0.0.0 0.0.0.0 203.0.113.2
end

Router B:

configure terminal
interface GigabitEthernet0/0
 ip address 198.51.100.1 255.255.255.252
 no shutdown
 exit
interface GigabitEthernet0/1
 ip address 192.168.2.1 255.255.255.0
 no shutdown
 exit
ip route 0.0.0.0 0.0.0.0 198.51.100.2
end

Paso 2: Configuración de ISAKMP (IKEv1 Fase 1)

Definimos la política ISAKMP (Internet Security Association and Key Management Protocol) que incluye algoritmos de cifrado, autenticación, grupo Diffie-Hellman y tiempo de vida.

Router A y Router B (adaptando el peer IP):

crypto isakmp policy 10
 authentication pre-share
 encryption aes 256
 hash sha256
 group 14
 lifetime 86400
 exit
  • authentication pre-share: Autenticación con clave precompartida.
  • encryption aes 256: Algoritmo de cifrado AES de 256 bits.
  • hash sha256: Algoritmo de hashing SHA-256 para integridad.
  • group 14: Grupo Diffie-Hellman 14 (DH Group) para el intercambio de claves. Un valor más alto significa mayor seguridad pero más consumo de CPU.
  • lifetime 86400: La SA de Fase 1 expirará después de 86400 segundos (24 horas).

Paso 3: Configuración de la Clave Precompartida (Pre-shared Key)

Aquí configuramos la clave secreta que se usará para autenticar los routers entre sí. Debe ser idéntica en ambos extremos.

Router A:

crypto isakmp key cisco123 address 198.51.100.1 no-xauth

Router B:

crypto isakmp key cisco123 address 203.0.113.1 no-xauth
⚠️ Advertencia: Utiliza siempre claves precompartidas complejas y largas en un entorno de producción para evitar ataques de fuerza bruta. 'cisco123' es solo para fines de demostración.

Paso 4: Configuración del Transform Set (IKEv1 Fase 2)

El Transform Set define cómo se protegerán los datos del túnel IPsec: los algoritmos de cifrado y autenticación para el tráfico de datos.

Router A y Router B:

crypto ipsec transform-set MY_TRANSFORM_SET esp-aes 256 esp-sha256-hmac
 mode tunnel
 exit
  • esp-aes 256: Encapsulating Security Payload con cifrado AES de 256 bits.
  • esp-sha256-hmac: Hashing SHA-256 para la autenticación de los datos.
  • mode tunnel: Especifica el modo túnel para IPsec, encapsulando el paquete IP original.

Paso 5: Definición del Tráfico a Proteger (Access Control List)

Una ACL extendida se utiliza para identificar qué tráfico de la red LAN interna debe ser cifrado y enviado a través del túnel VPN.

Router A:

ip access-list extended VPN_TRAFFIC
 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
 exit

Router B:

ip access-list extended VPN_TRAFFIC
 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
 exit
  • permit ip: Indica que se permitirá el tráfico entre las redes especificadas.
  • 192.168.1.0 0.0.0.255: Red de origen (LAN local de Router A).
  • 192.168.2.0 0.0.0.255: Red de destino (LAN remota de Router A).

Paso 6: Creación del Crypto Map

El Crypto Map es el corazón de la configuración IPsec. Une todos los componentes anteriores y se aplica a la interfaz externa. Especifica el peer remoto, el transform-set y la ACL del tráfico a proteger.

Router A:

crypto map MY_VPN_MAP 10 ipsec-isakmp
 set peer 198.51.100.1
 set transform-set MY_TRANSFORM_SET
 match address VPN_TRAFFIC
 exit

Router B:

crypto map MY_VPN_MAP 10 ipsec-isakmp
 set peer 203.0.113.1
 set transform-set MY_TRANSFORM_SET
 match address VPN_TRAFFIC
 exit
  • crypto map MY_VPN_MAP 10 ipsec-isakmp: Crea un Crypto Map llamado MY_VPN_MAP con secuencia 10, especificando que usará IPsec y ISAKMP.
  • set peer: La dirección IP pública del router remoto.
  • set transform-set: Asocia el Transform Set definido previamente.
  • match address: Asocia la ACL que define el tráfico interesante para la VPN.

Paso 7: Aplicar el Crypto Map a la Interfaz Externa

Finalmente, el Crypto Map se aplica a la interfaz del router que se conecta a la red pública (Internet).

Router A y Router B:

interface GigabitEthernet0/0
 crypto map MY_VPN_MAP
 exit
end

✨ Configuración de IPsec Site-to-Site (IKEv2)

Ahora, veamos cómo se haría la configuración utilizando IKEv2. Los pasos son más simplificados.

Paso 1: Configuración Básica de Red e Interfaces

(Mismo que IKEv1, ver Paso 1 anterior).

Paso 2: Creación de un Perfil IKEv2 Keyring

Aquí definimos la clave precompartida y el peer remoto, de manera más integrada que en IKEv1.

Router A:

crypto ikev2 keyring MY_KEYRING
 peer 198.51.100.1
  address 198.51.100.1
  pre-shared-key cisco123
 exit

Router B:

crypto ikev2 keyring MY_KEYRING
 peer 203.0.113.1
  address 203.0.113.1
  pre-shared-key cisco123
 exit

Paso 3: Configuración de una Propuesta IKEv2

Define los algoritmos de cifrado, integridad y el grupo Diffie-Hellman para la Fase 1 de IKEv2.

Router A y Router B:

crypto ikev2 proposal MY_PROPOSAL
 encryption aes-cbc-256
 integrity sha256
 group 14
 exit

Paso 4: Creación de una Política IKEv2

Asocia la propuesta IKEv2 y define el tiempo de vida para la SA de Fase 1.

Router A y Router B:

crypto ikev2 policy MY_POLICY
 proposal MY_PROPOSAL
 exit

Paso 5: Creación de un Perfil IKEv2

Este perfil enlaza la política, el keyring y el tipo de autenticación.

Router A y Router B:

crypto ikev2 profile MY_PROFILE
 match identity remote address 0.0.0.0
  local address GigabitEthernet0/0
 authentication local pre-share
 authentication remote pre-share
 keyring local MY_KEYRING
 exit
  • match identity remote address 0.0.0.0: Indica que se aceptan pares remotos desde cualquier dirección, aunque luego el keyring filtrará por el address específico.
  • local address GigabitEthernet0/0: La interfaz local por donde se inicia o termina el túnel.

Paso 6: Configuración del Transform Set IPsec (IKEv2)

Similar a IKEv1, define los algoritmos para el tráfico de datos. Aquí se especifica que usará IPsec con IKEv2.

Router A y Router B:

crypto ipsec transform-set MY_TRANSFORM_SET esp-aes 256 esp-sha256-hmac
 mode tunnel
 exit

Paso 7: Creación de un Perfil IPsec (IKEv2)

Este perfil enlaza el transform-set y el perfil IKEv2.

Router A y Router B:

crypto ipsec profile MY_IPSEC_PROFILE
 set transform-set MY_TRANSFORM_SET
 set ikev2-profile MY_PROFILE
 exit

Paso 8: Definición del Tráfico a Proteger (Access Control List)

(Mismo que IKEv1, ver Paso 5 anterior).

Paso 9: Creación y Aplicación de una Interface Virtual-Template o Tunnel Interface

Con IKEv2 y IPsec Profiles, a menudo se usa una interfaz Tunnel o Virtual-Template para aplicar el perfil. En este ejemplo, usaremos una interfaz Tunnel para mayor claridad.

Router A:

interface Tunnel0
 ip address 10.0.0.1 255.255.255.252
 tunnel source GigabitEthernet0/0
 tunnel mode ipsec ipv4
 tunnel destination 198.51.100.1
 tunnel protection ipsec profile MY_IPSEC_PROFILE
 exit

Router B:

interface Tunnel0
 ip address 10.0.0.2 255.255.255.252
 tunnel source GigabitEthernet0/0
 tunnel mode ipsec ipv4
 tunnel destination 203.0.113.1
 tunnel protection ipsec profile MY_IPSEC_PROFILE
 exit
  • ip address: Una dirección IP interna para la interfaz del túnel. Esta es opcional si solo se quiere encapsular el tráfico, pero ayuda en el troubleshooting.
  • tunnel source: La interfaz física externa del router.
  • tunnel mode ipsec ipv4: Especifica que es un túnel IPsec para IPv4.
  • tunnel destination: La IP pública del peer remoto.
  • tunnel protection ipsec profile: Asocia el perfil IPsec creado.
📌 Nota: Con las interfaces Tunnel, la ACL (`VPN_TRAFFIC`) no se aplica directamente a una interfaz como en el Crypto Map. El tráfico que se dirige a la red remota a través de la interfaz Tunnel (ya sea por rutas estáticas o dinámicas) será automáticamente protegido por el perfil IPsec asociado.

Paso 10: Enrutamiento para Redes Remotas

Necesitas rutas estáticas o un protocolo de enrutamiento dinámico para que el tráfico destinado a la red remota pase por la interfaz Tunnel.

Router A:

ip route 192.168.2.0 255.255.255.0 Tunnel0

Router B:

ip route 192.168.1.0 255.255.255.0 Tunnel0

✅ Verificación y Troubleshooting

Una vez configurada la VPN, es crucial verificar su estado y saber cómo solucionar problemas.

Comandos de Verificación (IKEv1)

  • show crypto isakmp sa: Muestra las Asociaciones de Seguridad (SA) de IKE (Fase 1). Debes ver el estado QM_IDLE (Modo Principal) o MM_ACTIVE (Modo Agresivo) indicando que la Fase 1 está establecida.
RouterA#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst             src             state          conn-id status
198.51.100.1    203.0.113.1     QM_IDLE           1001 ACTIVE
  • show crypto ipsec sa: Muestra las Asociaciones de Seguridad (SA) de IPsec (Fase 2). Esto indica que el túnel de datos está activo.
RouterA#show crypto ipsec sa
interface: GigabitEthernet0/0
Crypto map tag: MY_VPN_MAP, local addr 203.0.113.1

protected vrf: (none)
local  ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.2.0/255.255.255.0/0/0)
current_peer 198.51.100.1 port 500
PERMIT, flags={origin_is_acl, ipsec_on_acl}
#pkts encaps: 10, #pkts encrypt: 10, #pkts digest 10
#pkts decaps: 10, #pkts decrypt: 10, #pkts verify 10
#pkts error   0, #pkts no sa 0, #pkts not valid 0
#pkts no ident 0, #pkts stat failure 0, #pkts unprotected 0
#pkts with invalid spi 0, #pkts with unregistered spi 0
#pkts verify failed 0, #pkts digest failed 0, #pkts decrypt failed 0
#pkts  replay failed 0, #pkts ext hdr errors 0
#pkts compression: 0, #pkts decomp: 0
#pkts non-ipsec: 0, #pkts non-ike: 0, #pkts avp error: 0
#local sa: 2, #remote sa: 2
  • ping <IP_remota_LAN> source <IP_local_LAN>: Generar tráfico interesante para activar el túnel. Por ejemplo, ping 192.168.2.100 source 192.168.1.100.

Comandos de Verificación (IKEv2)

  • show crypto ikev2 sa: Muestra las SA de IKEv2.
RouterA#show crypto ikev2 sa
IKEv2 SAs: Total: 1
Session-id: 1
VRF: (none)
State: UP_IDLE, Time remaining: 82510
Local: 203.0.113.1:500 Remote: 198.51.100.1:500
Local IKEv2 Keyring: MY_KEYRING
Local-id: 203.0.113.1
Remote-id: 198.51.100.1
Crypto-proposal: MY_PROPOSAL
IKEv2 profile: MY_PROFILE
  • show crypto ipsec sa: Similar a IKEv1, muestra las SA de IPsec. En el caso de túneles basados en interfaz, buscarás la interfaz Tunnel.
RouterA#show crypto ipsec sa interface Tunnel0
interface: Tunnel0
Crypto map tag: Tunnel0-head-0, local addr 203.0.113.1

protected vrf: (none)
local  ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.2.0/255.255.255.0/0/0)
current_peer 198.51.100.1 port 500
PERMIT, flags={origin_is_acl, ipsec_on_acl}
#pkts encaps: 10, #pkts encrypt: 10, #pkts digest 10
#pkts decaps: 10, #pkts decrypt: 10, #pkts verify 10
...
  • show interface Tunnel0: Verifica el estado de la interfaz Tunnel.

Debugging de VPNs

Para problemas más profundos, los comandos debug son esenciales (usar con precaución en producción).

  • debug crypto isakmp (IKEv1)
  • debug crypto ipsec (IKEv1)
  • debug crypto ikev2 (IKEv2)
🔥 Importante: Antes de usar `debug`, configura `terminal monitor` para ver las salidas en la sesión y `no debug all` al terminar para evitar saturar la CPU del router.

🔑 Consideraciones Adicionales y Buenas Prácticas

  • Perfect Forward Secrecy (PFS): Habilita PFS en tu configuración IPsec. Esto asegura que si una clave a largo plazo se compromete, las claves de sesión anteriores no se vean afectadas. Se logra especificando un grupo Diffie-Hellman en el Transform Set (ej: set pfs group 14).
  • NAT Traversal (NAT-T): Si uno o ambos routers están detrás de un dispositivo NAT, asegúrate de que NAT-T esté habilitado (normalmente se negocia automáticamente si los puertos UDP 4500 están abiertos).
  • Firewalls: Asegúrate de que los firewalls intermedios permitan el tráfico UDP 500 (IKE) y UDP 4500 (IKE NAT-T) y el protocolo IP 50 (ESP) o IP 51 (AH).
  • DPD (Dead Peer Detection): Configura DPD para que los routers detecten cuando el peer remoto no está disponible y limpien las SA, liberando recursos.
  • Uso de VTI (Virtual Tunnel Interface): Para configuraciones más complejas o cuando se necesita enrutar dinámicamente sobre la VPN, las interfaces VTI son más flexibles que los Crypto Maps tradicionales. Esto es lo que hicimos con las interface Tunnel para IKEv2.
  • Seguridad de las Claves: Cambia las claves precompartidas regularmente y utiliza claves generadas aleatoriamente, con alta entropía.

🔚 Conclusión

Las VPNs IPsec Site-to-Site son un pilar fundamental para la conectividad segura entre redes empresariales. Al seguir los pasos de este tutorial, has aprendido a configurar una VPN robusta y segura utilizando routers Cisco IOS, tanto con IKEv1 como con IKEv2.

Dominar esta habilidad es esencial para cualquier administrador de red que busque proteger la integridad, confidencialidad y autenticidad de las comunicaciones en su infraestructura. Recuerda siempre adaptar los ejemplos a tu entorno específico y aplicar las mejores prácticas de seguridad.

¡Felicidades, tu red ahora está más segura! 🔒

Tutoriales relacionados

Comentarios (0)

Aún no hay comentarios. ¡Sé el primero!