Seguridad en redes. Guía 7 1 Facultad: Ingeniería Escuela: Electrónica Asignatura: Seguridad en redes Tema: Implementación de túneles GRE cifrados con IPSec. Contenidos Creación de túneles de encapsulamiento genérico Aseguramiento de los túneles con cajas de encripción IPSec Objetivos Específicos Desarrollar habilidades para la configuración de túneles GRE. Comprender las vulnerabilidades de los túneles GRE. Desarrollar habilidades para el aseguramiento de túneles genéricos usando IPSec. Materiales y Equipo PC con GNS3 instalado. IOS con soporte para seguridad de enrutadores Cisco. Introducción Teórica ElBibliografía GRE (Generic Routing Encapsulation), es un mecanismo para establecer canales de comunicación privados sobre redes públicas, definido por la RFC 1701, su funcionamiento se basa en el1encapsulamiento del paquete que se porta sobre una cabecera IP, lo que permite Guía que se puede distintos tipos de protocolos sobre este estándar. De manera básica GRE brinda soporte a 20 protocolos a nivel de red por lo que es muy útil para extender redes propietarias sobre redes públicas IP, sin embargo por defecto el canal no está cifrado, por lo que si se atrapa cualquier paquete IP se puede acceder al protocolo que está contenido en él, si bien es posible establecer secuencialidad y políticas sobre GRE a nivel básico lo mejor es asegurarlo con una caja de encripción. Al ser implementado GRE sobre paquetes IP es posible agregarle las características de seguridad que brinda la pila de IPSec con lo que se puede agregar una robusta seguridad a estos túneles, convirtiéndolos en una excelente opción para el establecimiento de redes privadas virtuales VPN. 2 Seguridad en redes. Guía 7 Procedimiento Bibliografía Parte I. Implementación de la topología de trabajo. 1. Lance el aplicativo GNS3 e implemente la topología que muestra en la figura 1, utilice Guía 1 el router modelo 3700; recuerde reducir el uso del CPU buscando un Idle PC. Figura 1. Topología de trabajo. 2. Etiquete la topología con toda la información mostrada en la figura 1. 3. Abra las consolas de cada uno de los enrutadores y desarrolle la configuración para garantizar su completa conectividad, una vez completo este paso debe existir conectividad entre todas las direcciones IP públicas de los enrutadores Site1, Site2 y R3, además debe existir comunicación de las interfaces directamente conectadas de los enrutadores Site1 – LocNet1 y Site2 – LocNet2, las direcciones de Loopback de los enrutadores LocNet1 y LocNet2 no deberán de poder comunicarse. Para este paso puede usar las habilidades desarrolladas en el curso de comunicación de datos I o bien usar las configuraciones propuestas en la siguiente tabla: Seguridad en redes. Guía 7 LocNet1 hostname LocNet1 interface Loopback0 ip address 172.16.0.1 255.255.255.0 ! interface Loopback1 ip address 172.16.1.1 255.255.255.0 ! interface Loopback2 ip address 172.16.2.1 255.255.255.0 ! interface FastEthernet0/0 ip address 10.1.1.2 255.255.255.0 duplex auto speed auto no shutdown ! ip route 0.0.0.0 0.0.0.0 FastEthernet0/0 LocNet2 hostname LocNet2 interface Loopback0 ip address 192.168.0.1 255.255.255.0 ! interface Loopback1 ip address 192.168.1.1 255.255.255.0 ! interface Loopback2 ip address 192.168.2.1 255.255.255.0 ! interface FastEthernet0/0 ip address 10.2.2.1 255.255.255.0 duplex auto speed auto no shutdown ! ip route 0.0.0.0 0.0.0.0 FastEthernet0/0 Site1 hostname Site1 interface FastEthernet0/0 ip address 10.1.1.1 255.255.255.0 duplex auto speed auto no shutdown ! interface FastEthernet0/1 ip address 168.1.1.2 255.255.255.252 duplex auto speed auto no shutdown ! router eigrp 1 network 168.1.1.0 0.0.0.3 no auto-summary 3 Site2 hostname Site2 interface FastEthernet0/0 ip address 10.2.2.2 255.255.255.0 duplex auto speed auto no shutdown ! interface FastEthernet0/1 ip address 200.1.1.2 255.255.255.252 duplex auto speed auto no shutdown ! router eigrp 1 network 200.1.1.0 0.0.0.3 no auto-summary R3 hostname R3 interface FastEthernet0/0 ip address 168.1.1.1 255.255.255.252 duplex auto speed auto no shutdown ! interface FastEthernet0/1 ip address 200.1.1.1 255.255.255.252 duplex auto speed auto no shutdown ! router eigrp 1 network 168.1.1.0 0.0.0.3 network 200.1.1.0 0.0.0.3 no auto-summary 4. Garantice la conectividad antes de pasar a la siguiente sección, ejecute un proceso de recuperación de fallas si es necesario. 4 Seguridad en redes. Guía 7 Parte II. Implementación de los túneles GRE. 1. Implementación de la interfaz lógica tipo túnel que servirá para encapsular el tráfico privado el identificador del túnel solo tiene significancia local, use los siguientes comando para esta actividad y anote sus observaciones a fin de entender el proceso: Site1(config)# interface tunnel 12 Site1(config-if)# ip address 10.0.0.1 255.255.255.0 Site1(config-if)# tunnel source fastEthernet 0/1 Site1(config-if)# tunnel destination 200.1.1.2 Site1(config-if)# no shutdown Site2(config)# interface tunnel 21 Site2(config-if)# ip address 10.0.0.2 255.255.255.0 Site2(config-if)# tunnel source fastEthernet 0/1 Site2(config-if)# tunnel destination 168.1.1.2 Site2(config-if)# no shutdown Ahora debería ser posible la conectividad de estas dos nuevas interfaces, pruebe dicha conectividad antes de continuar. Site1#ping 10.0.0.2 Site2#ping 10.0.0.1 2. Ahora es necesario que se enruten las redes privadas de las interfaces de loopback de las redes locales a través del túnel, esta tarea se puede efectuar con enrutamiento dinámico o estático, para nuestro caso lo haremos de forma estática con los siguientes comandos: Site1(config)# ip route 192.168.0.0 255.255.255.0 tunnel 12 Site1(config)# ip route 192.168.1.0 255.255.255.0 tunnel 12 Site1(config)# ip route 192.168.2.0 255.255.255.0 tunnel 12 Site1(config)#ip route 172.16.0.0 255.255.255.0 fa0/0 Site1(config)#ip route 172.16.1.0 255.255.255.0 fa0/0 Site1(config)#ip route 172.16.2.0 255.255.255.0 fa0/0 Site2(config)# Site2(config)# Site2(config)# Site2(config)# Site2(config)# Site2(config)# ip route 172.16.0.0 255.255.255.0 tunnel 21 ip route 172.16.1.0 255.255.255.0 tunnel 21 ip route 172.16.2.0 255.255.255.0 tunnel 21 ip route 192.168.0.0 255.255.255.0 fa0/0 ip route 192.168.1.0 255.255.255.0 fa0/0 ip route 192.168.2.0 255.255.255.0 fa0/0 Seguridad en redes. Guía 7 5 3. Verifique la conectividad entre las interfaces de loopback con el comando ping y traceroute desde los router LocNet1 LocNet2, y anote sus observaciones, si no se establece la conectividad ejecute la recuperación de la falla. Utilice la herramienta ping en su forma extendida, como se muestra en el siguiente ejemplo: LocNet1#ping Protocol [ip]: Target IP address: 192.168.0.1 Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Source address or interface: 172.16.0.1 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.0.1, timeout is 2 seconds: Packet sent with a source address of 172.16.0.1 .!!!! Parte III. Aseguramiento de los túneles GRE con IPSec. Una vez los túneles permitan la conexión de las redes privadas es necesario asegurar dichos canales activando la caja de cifrado que me brinda la pila de IPSec. 1. Configuración de los pares de llaves y las políticas de intercambio de llaves de Internet IKE que se usaran en la caja de encripción, debe usar autenticación de llaves previamente compartidas, protocolo de cifrado AES 256, algoritmo de garantía de integridad SHA, grupo de intercambio Diffie-Hellman 5 y tiempo de vida de la llave de una hora; use los siguientes comandos para esta tarea y anote sus observaciones a fin de entender el proceso: Site1(config)# crypto isakmp policy 10 Site1(config-isakmp)# authentication pre-share Site1(config-isakmp)# encryption aes 256 Site1(config-isakmp)# hash sha Site1(config-isakmp)# group 5 Site1(config-isakmp)# lifetime 3600 6 Seguridad en redes. Guía 7 Site2(config)# crypto isakmp policy 10 Site2(config-isakmp)# authentication pre-share Site2(config-isakmp)# encryption aes 256 Site2(config-isakmp)# hash sha Site2(config-isakmp)# group 5 Site2(config-isakmp)# lifetime 3600 2. Definición de los pares de interfaces físicas que definen el túnel a proteger con el IPSec llamaremos al canal protegido “TCifrado”; use los siguiente comandos para esta tarea y anote sus observaciones a fin de entender el proceso: Site1(config)# crypto isakmp key 6 TCifrado address 200.1.1.2 Site2(config)# crypto isakmp key 6 TCifrado address 168.1.1.2 3. Ahora crearemos el conjunto de transformación al que llamaremos “MiTrans” que usara la caja de encriptación para asegurar el canal con IPSec; use los siguiente comandos para esta tarea y anote sus observaciones a fin de entender el proceso: Site1(config)#crypto ipsec transform-set MiTrans esp-aes 256 esp-sha-hmac ah-sha-hmac Site2(config)#crypto ipsec transform-set MiTrans esp-aes 256 esp-sha-hmac ah-sha-hmac 4. Definimos el tráfico de interés que deseamos proteger, no es conveniente proteger todo el tráfico que pasa por el túnel para evitar sobrecargar el dispositivo, para nuestro caso protegeremos el tráfico entre las redes 172.16.2.0 y 192.168.2.0 por lo que solo se aplicara la caja de encripción para el tráfico entre estas redes; use los siguiente comandos para esta tarea y anote sus observaciones a fin de entender el proceso: Site1(config)# access-list 110 permit ip 172.16.2.0 0.0.0.255 192.168.2.0 0.0.0.255 Site2(config)# access-list 110 permit ip 192.168.2.0 0.0.0.255 172.16.2.0 0.0.0.255 5. Una vez que tenemos los pares de llaves, el intercambio de políticas, el conjunto de transformación a usar y el tráfico de interés que se protegerá procedemos a definir la política que combina todas estos parámetros; use los siguientes comandos para esta tarea y anote sus observaciones a fin de entender el proceso: Site1(config)# crypto map GRE-Sec 10 ipsec-isakmp Site1(config-crypto-map)# match address 110 Site1(config-crypto-map)# set peer 200.1.1.2 Seguridad en redes. Guía 7 7 Site1(config-crypto-map)# set transform-set MiTrans Site2(config)# crypto map GRE-Sec 10 ipsec-isakmp Site2(config-crypto-map)# match address 110 Site2(config-crypto-map)# set peer 168.1.1.2 Site2(config-crypto-map)# set transform-set MiTrans 6. Para finalizar debemos aplicar esta política en la interfaz que se desea proteger; use los siguientes comandos para esta tarea y anote sus observaciones a fin de entender el proceso: Site1(config)# interface tunnel 12 Site1(config-if)# crypto map GRE-Sec Site2(config)# interface tunnel 21 Site2(config-if)# crypto map GRE-Sec 7. verifique con los comandos que se proponen a continuación, la correcta configuración. Analice las salidas que estos generan y anote sus observaciones: Site1# show crypto ipsec sa interface: Tunnel12 Crypto map tag: GRE-Sec, local addr 168.1.1.2 protected vrf: (none) local ident (addr/mask/prot/port): (172.16.2.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 200.1.1.2 port 500 PERMIT, flags={origin_is_acl,} #pkts encaps: 0, #pkts encrypt: 0, #pkts digest: 0 #pkts decaps: 0, #pkts decrypt: 0, #pkts verify: 0 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts compr. failed: 0 #pkts not decompressed: 0, #pkts decompress failed: 0 #send errors 1, #recv errors 0 Site1# show crypto map Crypto Map "GRE-Sec" 10 ipsec-isakmp Peer = 200.1.1.2 Extended IP access list 110 access-list 110 permit ip 172.16.2.0 0.0.0.255 192.168.2.0 0.0.0.255 Current peer: 200.1.1.2 8 Seguridad en redes. Guía 7 Security association lifetime: 4608000 kilobytes/3600 seconds PFS (Y/N): N Transform sets={ MiTrans, } Interfaces using crypto map GRE-Sec: Tunnel12 Site1# show crypto ipsec transform-set Transform set MiTrans: { ah-sha-hmac } will negotiate = { Tunnel, }, { esp-256-aes esp-sha-hmac } will negotiate = { Tunnel, }, Las salidas presentadas en los comandos anteriores son de referencia por lo que no necesariamente deben tener los mismos datos de resultado. Comprobación del funcionamiento 1. Verificamos la operación del túnel, generando tráfico que cumple y no cumple el criterio de selectividad y tráfico, de tal forma de comprobar que el túnel está operando coherentemente. 2. Compruebe con un tráfico que no cumple los criterios de aseguramiento con IPsec; Para esto, realice un ping extendido desde la IP 172.16.1.1 hacia la IP 192.168.2.1 en el router LocNet1. El ping deberá ser exitoso, debido a que es permitido el tráfico por el túnel, sin embargo no cumple con el criterio de aseguramiento. Esto lo podemos verificar con los siguientes comandos. Site1# show access-lists Como resultado del comando, deberá observar la access-list configurada sin ningún math Site1# show crypto ipsec sa Como resultado deberá observar la información del Tunnel12, en el campo de paquetes encapsulados y encriptados no han sufrido cambios. Seguridad en redes. Guía 7 9 3. Compruebe con un tráfico que cumple los criterios de aseguramiento con IPsec; Para esto, realice un ping extendido desde la IP 172.16.2.1 hacia la IP 192.168.2.1 en el router LocNet1. El ping deberá ser exitoso, debido a que es permitido el tráfico por el túnel y además el tráfico deberá ser asegurado. Site1# show access-lists Como resultado del comando, deberá observar la access-list configurada con los mathes Site1# show crypto ipsec sa Como resultado deberá observar la información del Tunnel12, en el campo de paquetes encapsulados y encriptados deberán aparecer la cantidad de paquetes asegurados. La selectividad del tráfico de interés se puede hacer tan compleja como lo permitan las técnicas de listas de control de acceso, de igual forma las políticas de definición y aplicación de la caja de encripción pueden granularse para un mejor control del tráfico que se protegerá y una optimización de recursos. Desafío corto Considerando la topología utilizada desarrolle las modificaciones que se proponen para una nueva implementación de túneles GRE asegurados, con los siguientes criterios: 1. Agregue una red local al enrutador R3 con las siguientes redes simuladas por interfaces de Loopback 192.168.200.0/24 y 172.16.200.0/24. 2. Implemente los túneles GRE necesarios que permitan que las redes locales conectadas al enrutador R3 puedan comunicarse en un entorno privado con las redes 172.16.0.0/24 de la red LocNet1 y 192.168.0.0/24 de la red LocNet2 únicamente. 3. Asegure los tráficos con IPSec entre los nodos 192.168.200.240 – .243 y los nodos 192.168.0.240 - .243; y entre los nodos 172.16.200.16 - .19 y los nodos 172.16.0.16 - .19 (deberá de colocar la menor cantidad de entradas en cada lista de control de acceso) 10 Seguridad en redes. Guía 7 Evaluación Asistencia 20% Desarrollo de la práctica completa 40% Desarrollo del desafío cortó 40% Bibliografía Vijay Bollapragada, Mohamed Khalid, Scott Wainner; IPSec VPN Design, Firts Edition, Cisco Press, 2005. James Henry Carmouche; IPsec Virtual Private Network Fundamentals, Firts Edition, Cisco Press, 2006.