El objetivo es conectar sitios remotos y los usuarios de cada sitio entre si.
Esta opción se toma por coste o cuando la única conectividad posible es a través de Internet.
Este tipo de VPNs se utiliza para conectar con delegaciones, con sitios de clientes o incluso accesos remotos de usuarios que tienen en su casa un ordenador y un teléfono de voip o alguna configuración más compleja que no permite la utilización de vpn ssl u openvpn.
Montar un túnel al final es como montar un Lego. Tenemos una serie de piezas y las tenemos que juntar, pero las tenemos que juntar negociando con el otro extremo.
Lo primero será saber si vamos a utilizar en IPSec con ESP, AH o los dos juntos.
Luego tendremos que ver el algoritmo de cifrado, podemos usar DES, 3DES o AES. Esto es lo que nos proporciona la confidencialidad de los datos.
Otra cosa a ver es cómo autenticamos al origen, ya sea con claves precompartidas PSK, o certificados RSA o ECDSA.
Y finalmente queremos saber cómo vamos a gestionar esas llaves DH, IKE, IKEv2, ECDH
Una vez que tenemos montado el Lego tenemos que ver cual es el proceso de la negociación entre los dos extremos para crear y establecer el túnel.
1.- Cuando se quiere mandar un paquete desde una máquina en la primera sede a otra máquina en la otra sede dentro de la misma VPN, se manda el paquete a la puerta de enlace. Cuando el paquete llega a la puerta de enlace se comparará con el cryto ACL, si hace match se considerará ese tráfico interesante y tendrá que ser encriptado para mantener el cifrado, integridad y esa serie de cosas.
El Crypto ACL es algo que en el cryptomap se utiliza y el cryptomap se utiliza en el interfaz de salida ya que se aplica al tráfico que abandona el router tras haber tomado la decisión de encaminamiento o routing.
Al ser tráfico interesante vamos a buscar una asociación de seguridad IPSEC. Esta asociación lo que hace es negociar entre los routers, el origen y el destino. Si tenemos levantado el túnel lanzaremos el tráfico por ahí. y si no está levantado iniciaremos la negocación IKE.
ISAKMP -> Internet Security Association Key Management Protocol
2.- En ISAKMP intercambiamos las llaves, esta es la fase 1 de IKE.
3.- Con el ISAKMP SA, que es bidireccional, vamos a negociar el IPSEC SA
El IPSEC SA es la negociación de las reglas para el tráfico de usuarios, es decir, creamos un túnel para negociar un túnel. Y ya tenemos la fase 2
4.- Para el tráfico de vuelta usamos el ISAKMP SA que ya estaba establecido, pero vamos a necesitar levantar otra IPSEC SA, otra fase 2 ya que esto es asimétrico.
Esta sería la forma de trabajar de IKE v1
En cuanto a los protocolos relacionados, y que hay que abrir en los firewalls son:
AHP – Authentication Header Protocol
ESP – Encapsulated Security Payload
Y en UDP tenemos ISAKMP, los puertos 500 y 4500, el 4500 es para evitar problemas con nats.
Configuración de acceso
Para configurar lo primero será definir un access-list con el tráfico permitido
access-list 101 permit ahp host 10.10.10.2 host 10.10.10.1
access-list 101 permit esp host 10.10.10.2 host 10.10.10.1
access-list 101 permit udp host 10.10.10.2 host 10.10.10.1 eq isakmp
access-list 101 permit udp host 10.10.10.2 host 10.10.10.1 eq non500-isakmp
Obviamente si tenemos OSPF, queremos permitir ICMP o lo que sea tendremos que añadirlo también al mismo access-list.
Configuración de isakmp-sa
El siguiente paso será configurar la ISAKMP SA para la fase 1, para eso miraremos la tabla de arriba aunque por defecto vienen unas cuantas ya configuradas:
R1#sh crypto isakmp policy
Default IKE policy
Protection suite of priority 65507
encryption algorithm: AES – Advanced Encryption Standard (128 bit keys).
hash algorithm: Secure Hash Standard