Hola a todos, hoy vamos a ver como configurar una VPN site to site con direcciones públicas estáticas.
Me parece un tema sumamente interesante, el cual no está bien detallado en español y por lo general la info diposible está un poco desordenada..
Verán que una VPN en términos de sintaxis es muy simple de configurar, pero antes es necesario estudiar detalladamente los protocolos que intervienen, etc..
Let’s Go!
Una VPN se utiliza para conectar dos sites remotos, a través de internet. Utilizando ésta solución aseguramos que cada paquete de datos, VoIP, etc. viaje encriptado en un “tunel” que generamos gracias a IPsec (Internet Protocol Security), siendo un conjunto de protocolos cuya función es asegurar las comunicaciones autenticando y/o cifrando cada paquete Los protocolos de IPsec actúan en la capa de red, la capa 3 del modelo OSI. Además IPsec es una parte obligatoria de IPv6, y su uso es opcional con IPv4.
IPsec puede ser configurado de dos formas: modo transporte y modo túnel.Modo transporte: En modo transporte, sólo la carga útil (los datos que se transfieren) del paquete IP es cifrada o autenticada. El enrutamiento permanece intacto, ya que no se modifica ni se cifra la cabecera IP. El modo transporte se utiliza para comunicaciones ordenador a ordenador. Modo túnel :En el modo túnel, todo el paquete IP (datos más cabeceras del mensaje) es cifrado o autenticado. Debe ser entonces encapsulado en un nuevo paquete IP para que funcione el enrutamiento. El modo túnel se utiliza para comunicaciones red a red (túneles seguros entre routers, p.e. para VPNs) o comunicaciones ordenador a red u ordenador a ordenador sobre Internet.
Otro protocolo que se utiliza en una VPN es ISAKMP (Internet Security Association Key Management Protocol). Define el mecanismo de implementación del protocolo de intercambio de claves (IKE), y la negociación de la política de seguridad.
IKE (Internet Key Enchange), es un protocolo hibrido que utiliza una parte de OAKLEY y una parte de otra suite de protocolos llamado SKEME que se encuentran dentro de ISAKMP. IKE, se encarga de establecer una política de seguridad compartida y autenticación de claves para servicios como IPsec, el cual requiere una clave.
Cuando el tráfico pasó por el “tunel” IPsec, cada router/firewall debe ser capaz de identificar la identidad del peer, esto puede ser con PRE-SHARE KEY ingresada manualmente en cada router/firewall, utilizando el servicio de CA o con DNSsec. Éste protocolo es formalmente conocido como ISAKMP/OAKLEY y está definido en RFC:2409.
Es muy importante no confundir ISAKMP e IKE, ya que no son la misma cosa.
Nota: Una VPN puede ser configurarda en equipos que no sean CISCO sin problemas. Recordá que IKE usa el puerto UDP 500 e IPsec usa protocolo IP= 50 y 51, por lo cual tenes que asegurarte que esten permitidos en las ACL que hayas creado
Entonces queda claro que IKE solo existe para estableces SAs (Security Association) para IPsec. Antes de hacer esto IKE verifica la relación entre los peers.
¿Qué negocia ISAKMP?
Un algoritmo de encripción
Un algoritmo de hashing
Autenticación
Lifetime (tiempo de vida) de SA (Security Association)
Existen dos metodos usados para configurar ISAKMP:
Pre-share Key
CA
Los pasos para configurar una VPN Site-To-Site con IPs públicas estáticas son:
1. Configurar ISAKMP
1.1 Configurar ISAKMP Suite Protection 1.2 Configurar ISAKMP Key
2. Configurar IPsec
2.1 Crear una ACL extendida 2.2 Crear IPsec Transform 2.3 Crear Crypto Map 2.4 Aplicar Crypto Map a una interfaz
Topologia
1.Configurar isakmp
1.1 Configurar isakmp protection suite
Creamos una policy object, puede ser 1,10 o 100, pero debe ser igual en ambos extramos
laplata(config)# Crypto isakmp enable laplata(config)# crypto isakmp policy 1
Definimos el DH (deffie-hellman) group (1, 2 o 5). DH es un protocolo de criptografía de clave pública que permite a dos dispositivos establecer “Shared Secret” sobre un canal de comunicación inseguro.
D-H Group 1 — 768-bit.
D-H Group 2 — 1024-bit.
D-H Group 5 — 1536-bit.
A la hora de seleccionar el grupo, debemos tener en cuenta que el grupo 2 y 3 requieren de un procesador potente.
laplata(config-isakmp)# group 2
Definimos el algoritmo de encripción
laplata(config-isakmp)#encryption aes
Definimos el algoritmo de hasing. Podremos elegir entre MD5 o SHA, por default CISCO utiliza SHA
laplata(config-isakmp)#hash sha
Lifetime por default es de 86400 segundos, pero podemos establece un número menor si lo necesitamos
laplata(config-isakmp)#lifetime 500
Definimos el método de autenticación y le decimos a IKE que el método de autenticación es manual
laplata(config-isakmp)#authentication pre-share
1.2 Configurar ISAKMP Key
Establecemos una clave para el peer y avisamos a IKE cuál será la clave
laplata(config)#crypto isakmp key iproot address 200.60.60.1
terminamos con la 1era parte de la configuración ISAKMP/IKE,
2. Configurar IPsec
2.1 Crear una ACL extendida
Creamos una ACL extendida, le asignamos un nombre y permitimos la red lan del peer remoto.
laplata(config)#ip access-list extended iproot1 laplata(config-ext-nacl)#permit ip 192.168.0.0 0.0.0.255 192.168.1.0 0.0.0.255
2.2 Creamos IPsec Transform
Creamos IPsec transform especificando un nombre, algoritmo de encripción y hashing (debe ser igual en ambos extremos).
laplata(config)#crypto ipsec transform-set iproot2 esp-aes esp-sha-hmac laplata(config)#crypto ipsec security association life time seconds 86400
2.3 Creamos crypto map
Creamos un nombre para crypto map, el comando ipsec-isakmp indica al router que éste crypto map es un crypto map ipsec.
laplata(config)#crypto map ipoot2 10 ipsec-isakmp
Seteamos un solo peer, pero podríamos agregar más
laplata(config-crypto-map)#set peer 200.60.60.1
El tiempo de vida de la sesión (Session Key Life Time), su objetivo es reforzar la seguridad
laplata(config-crypto-map)#set session-key lifetime second 4000
Asociamos IPsec transform-set con crypto map
laplata(config-crypto-map)#set transform-set iproot2
Asignamos la lista de acceso que creamos
laplata(config-crypto-map)#match address iproot1
2.4 Aplicar crypto map a una interfaz
Asignamos crypto map a nuestra interfaz wan
laplata(config)#interface f0/0 laplata(config-if)#crypto map iproot ipoot2
Terminamos con la segunda parte de la configuración. Toda la configuración completa quedaría así:
laplata(config)# Crypto isakmp enable laplata(config)# crypto isakmp policy 1 laplata(config-isakmp)# group 2 laplata(config-isakmp)#encryption aes laplata(config-isakmp)#hash sha laplata(config-isakmp)#lifetime 500 laplata(config-isakmp)#authentication pre-share laplata(config-isakmp)#exit laplata(config)#crypto isakmp key iproot address 200.60.60.1 laplata(config)#ip access-list extended iproot1 laplata(config-ext-nacl)#permit ip 192.168.0.0 0.0.0.255 192.168.1.0 0.0.0.255 laplata(config-ext-nacl)#exit laplata(config)#crypto ipsec transform-set iproot2 esp-aes esp-sha-hmac laplata(config)#crypto ipsec security association life time seconds 86400 laplata(config)#crypto map ipoot2 10 ipsec-isakmp laplata(config-crypto-map)#set peer 200.60.60.1 laplata(config-crypto-map)#set session-key lifetime second 4000 laplata(config-crypto-map)#set transform-set iproot2 laplata(config-crypto-map)#match address iproot1 laplata(config-crypto-map)#exit laplata(config)#interface f0/0 laplata(config-if)#crypto map iproot ipoot2 laplata(config-if)#exit
Listo! ésta es la explicación sobre la sintaxis que utilizaremos en ambos routers.
Comentários