Escolar Documentos
Profissional Documentos
Cultura Documentos
El siguiente trabajo nos explica que es una VPN y cules son las ventajas de implementarlas, tambin veremos la tecnologa de tnel, es decir cmo se crea un conducto para transferir datos; adems nos dice cuales son las herramientas de una VPN as como sus ventajas.
Explicaremos en un capitulo cual es la implementacin de diferentes niveles: enlace, red, aplicacin, as como la implementacin OpenVPN y veremos la seguridad en VPN. Explicaremos cuales son los protocolos de VPN y detallaremos los protocolos L2TP e Ipsec.
Dentro de la descripcin del protocolo IPSec veremos cul es su arquitectura de seguridad y el propsito de su diseo y los modos bsicos de operacin, modo transporte y modo tnel. Veremos los detalles tcnicos, es decir aquellos protocolos que han sido desarrollados para proporcionar seguridad en IPsec; AH (Authentication Header) y ESP (Encapsulating Security Payload) y con los conocimientos adquiridos podremos ser capaces de habilitar la encriptacin y la autentificacin para construir una VPN real siguiendo los parmetros especificados por la SA (Security Association) para realizar la conexin, cubriendo por ltimo la administracin de claves, en donde IPsec nos muestra las facilidades criptogrficas de autenticacin y encriptacin.
En el Capitulo 4 abarcaremos una explicacin detallada del protocolo L2TP (Layer 2 Tunneling Protocol), donde veremos que es un protocolo que facilita el tunelizado de paquetes PPP, donde el encapsulado de los mismos puede proveer de multiplexado de diferentes protocolos de nivel de red. Mostraremos en un diagrama la topologa de una conexin L2TP y la visin general del protocolo, es decir los mensajes de control que utiliza para el establecimiento, mantenimiento y despeje de tneles y llamadas. Se describe el encabezado L2TP, mensajes de control y la operacin del protocolo L2TP, el establecimiento de la conexin de control.
1.1.1 Lneas dedicadas. Las necesidades antes mencionadas se satisfacan en principio colocando lneas dedicadas entre las diferentes ubicaciones remotas a un costo mucho mayor que el de simple acceso a Internet. Se necesitaban conexiones fsicas reales necesitando de un proveedor en cada sitio resultando en una solo lnea de comunicacin entre dos partes. Por ejemplo, para una red de 4 nodos en la cual se buscase comunicacin de todos con todos, habra que tender 6 lneas de comunicacin. Adems, para dar conectividad a trabajadores domsticos o viajeros se implementaban servicios RAS1 para aquellos que necesitaban conectarse temporalmente mediante conexiones de mdem o lneas ISDN2 donde la organizacin se comportaba como un proveedor de Internet (ISP).
1.1.2. Acceso mediante Internet y VPNs. Con la llegada de Internet y la baja de costos en conectividad se desarrollaron nuevas tecnologas. Surgi entonces la idea de utilizar a Internet como medio de comunicacin entre los diferentes sitios de la organizacin. Surge as la idea de las VPN's que son Virtuales y Privadas. Virtuales porque no son redes directas reales entre partes, sino solo conexiones virtuales provistas mediante software sobre la red Internet. Adems son privadas porque solo la gente debidamente autorizada puede leer los datos transferidos por este tipo de red logrando la seguridad mediante la utilizacin de modernos mecanismos de criptografa. Retomando el ejemplo anterior de una organizacin con cuatro sitios, ahora solo necesitamos cuatro conexiones a Internet en lugar de las seis dedicadas de antes. Adems los que se conectan temporalmente, tambin lo hacen mediante una conexin a Internet, mucho ms barata y accesible desde muchos lugares, como por ejemplo de cybers cafs.
1.2. QUE ES UNA VPN? Es una red privada que se extiende, mediante un proceso de encapsulacin y en su caso de encriptacin, de los paquetes de datos a distintos puntos remotos mediante el uso de unas infraestructuras pblicas de transporte. Los paquetes de datos de la red privada viajan por medio de un "tnel" definido en la red pblica. (Ver figura siguiente)
Fig. 1.2.1
Fig. 1.2.2 En la figura anterior (figura 1.2.2) se muestra como viajan los datos a travs de una VPN ya que el servidor dedicado es del cual parten los datos, llegando a firewall que hace la funcin de una pared para engaar a los intrusos a la red, despus los datos llegan a nube de internet donde se genera un tnel dedicado nicamente para nuestros datos para que estos con una velocidad garantizada, con un ancho de banda tambin garantizado y lleguen a su vez al firewall remoto y terminen en el servidor remoto. Las VPN pueden enlazar mis
6
Figura 1.2.3 1.2.1. Usos de las VPNS. Las VPN's se usan generalmente para: Conexin entre diversos puntos de una organizacin a travs de Internet Conexiones de trabajadores domsticos o de campo con IP's dinmicas Soluciones extranet para clientes u organizaciones asociadas con los cuales se necesita intercambiar cierta informacin en forma privada pero no se les debe dar acceso al resto de la red interna. Adems brinda una excelente fiabilidad en la comunicacin de usuarios mviles as como tambin al unir dos puntos distantes como agencias de una empresa dentro de una sola red unificada.
1.3. TECNOLOGA DE TNEL Las redes privadas virtuales crean un tnel o conducto de un sitio a otro para transferir datos a esto se le conoce como encapsulacin adems los paquetes van encriptados de forma que los datos son ilegibles para los extraos.
Figura 1.3.1 El servidor busca mediante un ruteador la direccin IP del cliente VPN y en la red de transito se envan los datos sin problemas.
7
Supongamos que se tienen dos sitios de una organizacin conectados a Internet. En ambos se contar con un equipo de conexin a la red de redes que cumplir la funcin de ruteo hacia y desde Internet as como firewall para protegerse de accesos no autorizados. El software VPN debe estar instalado en ese firewall o algn dispositivo protegido por l. Uno de los sitios ser el servidor y ser el sitio que contiene la informacin y sistemas que queremos compartir, mientras que al otro lo llamaremos cliente. El servidor ser entonces configurado para aceptar conexiones desde el cliente (y viceversa). Llegado este punto habremos logrado tener dos sitios comunicados como en una red directa real pero an no es una VPN dado que falta implementar la privacidad, pues cualquier nodo intermedio de Internet puede leer la informacin que viaja sin proteccin. Lo que se debe hacer seguidamente es establecer mecanismos de cifrado que mediante uso de claves aseguren que solo equipos o personas dueos de esas claves puedan acceder a los datos enviados por la VPN. Todos los datos enviados del punto A al B debern ser cifrados antes de ser enviados y descifrados en el otro extremo para posteriormente ser entregados normalmente a su destinatario final. Uno de los factores que diferencian a una implementacin de VPN de otra, son los mecanismos que utilicen para cifrar y distribuir claves a todos los integrantes de dicha red.
La VPN debe ser capaz de verificar la identidad de los usuarios y restringir el acceso a la VPN a aquellos usuarios que no estn autorizados. As mismo, debe proporcionar registros estadsticos que muestren quien acceso, que informacin y cuando. Administracin de direcciones. La VPN debe establecer una direccin del cliente en la red privada y debe cerciorarse que las direcciones privadas se conserven as. Codificacin de datos. Los datos que se van a transmitir a travs de la red pblica deben ser previamente encriptados para que no puedan ser ledos por clientes no autorizados de la red. Administracin de claves. La VPN debe generar y renovar las claves de codificacin para el cliente y el servidor. Soporte a protocolos mltiples. La VPN debe ser capaz de manejar los protocolos comunes que se utilizan en la red pblica. Estos incluyen el protocolo de internet (IP), el intercambio de paquete de internet (IPX) entre otros.
1.5. HERRAMIENTAS DE UNA VPN VPN Gateway Software Firewall Router VPN Gateway. Dispositivos con un software y hardware especial para proveer de capacidad a la VPN. Software. Esta sobre una plataforma PC o Workstation, el software desempea todas las funciones de la VPN. 1.6. VENTAJAS DE UNA VPN Dentro de las ventajas ms significativas podremos mencionar: La integridad, confidencialidad y seguridad de los datos. Reduccin de costos. Sencilla de usar. Sencilla instalacin del cliente en cualquier PC Windows. Control de Acceso basado en polticas de la organizacin Herramientas de diagnostico remoto. Los algoritmos de compresin optimizan el trfico del cliente. Evita el alto costo de las actualizaciones y mantenimiento a las PCs remotas.
1.7. PROTOCOLOS DE VPN Los protocolos de VPN ms populares son : PPTP L2TP IPSec
La mayora de los fabricantes utilizan IPSec (entre ellos Zyxel). Esto asegura la posibilidad de mezclar equipos de distintos fabricantes sin problemas de compatibilidad. Si se desea una VPN basada en el servidor de VPN de Microsoft (utiliza protocolos PPTP o L2TP y viene incluido en el Windows 2000 y Windows XP) el hardware ms recomendado es el Symantec Pro 800 Turbo. 1.7.1. PPTP El PPTP es un protocolo de tnel VPN definido por el foro PPTP y en l los paquetes PPP se encapsulan en los paquetes IP. Todas las versiones de Windows incluyen el software necesario para acceder a una VPN basada PPTP. 1.7.2. L2TP. Es una extensin del protocolo PPTP utilizado generalmente por proveedores de servicios de Internet (ISP) para creacin de tneles seguros en su red IP (por ejemplo entre usuarios). 1.7.3. IPSec. El IPSec es una extensin del protocolo IP ideado y administrado por la IETF (Internet Engineering Task Force) y que aporta seguridad al actual estndar universal IP (tanto v4 como v6). IPSec puede proteger cualquier protocolo que se ejecute sobre IP, por ejemplo TCO, UDP e ICMP. IPSec proporciona servicios criptogrficos para autentificacin, seguridad, control de acceso y de confidencialidad.
10
2.2. IMPLEMENTACIONES DE CAPA 3 - RED IPsec es la tecnologa ms aceptada en este punto y fue desarrollada como un estndar de seguridad de Internet en capa 3. IPsec se pude utilizar para encapsular cualquier trfico de capa 3 pero no el trfico de capas inferiores, por lo que no se podr utilizar para protocolos no-IP como IPX o mensajes de broadcast. Su principal ventaja es que puede ser usado prcticamente en cualquier plataforma existiendo una gran variedad de soluciones tanto de software como de hardware. Existen dos mtodos principales usados por IPsec: Modo Tunnel. Todos los paquetes IP son encapsulados en un nuevo paquete y enviados a travs del tnel siendo desempaquetados en el otro extremo y posteriormente dirigidos a su
11
Es por ello que mecanismos como IPsec cambian las claves cada cierto perodo, asociando a las mismas ciertos perodos de validez, llamados tiempo de vida o lifetime. Una buena combinacin de tiempo de vida y largo de la clave asegurarn que un atacante no pueda descifrar la clave a tiempo, haciendo que cuando finalmente la obtenga (porque lo har), ya no le sirva por estar fuera de vigencia. IPSec utiliza su propio protocolo para intercambiar claves llamado IKE9 que ha sido desarrollado desde mediados de los noventa y an no ha sido terminado. 2.5.2. Cifrado asimtrico con SSL/TLS SSL/TLS usa una de las mejores tecnologas de cifrado para asegurar la identidad de los integrantes de la VPN. Cada integrante tiene dos claves, una pblica y otra privada. La pblica es distribuida y usada por cualquiera para cifrar los datos que sern enviados a la contraparte quien conoce la clave privada que es la nica que sirve para descifrar los datos. El par de clave pblica/privada es generado a partir de algoritmos matemticos que aseguran que solo con la clave privada es posible leer los datos originales. El da que alguien encuentre algn defecto a ese algoritmo, todos aquellos conectados a Internet estarn comprometidos en forma instantnea.
13
Es de destacar que la clave privada debe permanecer secreta mientras que la clave pblica debe ser intercambiada para que nos puedan enviar mensajes. 2.5.3. Seguridad SSL/TLS Las bibliotecas SSL/TLS son parte del software OpenSSL que vienen instaladas en cualquier sistema moderno e implementan mecanismos de cifrado y autenticacin basadas en certificados. Los certificados generalmente son emitidos por entidades de reconocida confiabilidad aunque tambin podemos emitirlos nosotros mismos y usarlos en nuestra propia VPN. Con un certificado firmado, el dueo del mismo es capaz de demostrar su identidad a todos aquellos que confen en la autoridad certificadora que lo emiti. 2.5.4. Ventajas y Desventajas de OpenVPN. Ventajas: OpenVPN provee seguridad, estabilidad y comprobados mecanismos de cifrado sin sufrir la complejidad de otras soluciones VPN como las de IPsec. Adems ofrece ventajas que van ms all que cualquier otra solucin como ser: Posibilidad de implementar dos modos bsicos, en capa 2 o capa 3, con lo que se logran tneles capaces de enviar informacin en otros protocolos no-IP como IPX o broadcast (NETBIOS). Proteccin de los usuarios remotos. Una vez que OpenVPN ha establecido un tnel el firewall de la organizacin proteger el laptop remoto aun cuando no es un equipo de la red local. Por otra parte, solo un puerto de red podr ser abierto hacia la red local por el remoto asegurando proteccin en ambos sentidos. Conexiones OpenVPN pueden ser realizadas a travs de casi cualquier firewall. Si se posee acceso a Internet y se puede acceder a sitios HTTPS, entonces un tnel OpenVPN debera funcionar sin ningn problema.
14
Desventajas No tiene compatibilidad con IPsec que justamente es el estndar actual para soluciones VPN. Falta de masa crtica. Todava existe poca gente que conoce cmo usar OpenVPN. Al da de hoy slo se puede conectar a otras computadoras. Pero esto est cambiando, dado que ya existen compaas desarrollando dispositivos con clientes OpenVPN integrados.
15
2.5.5. Comparacin entre OpenVPN e IPsec VPN IPsec Estndar de la tecnologa VPN OpenVPN
No compatible con IPsec Solo en computadoras, pero en todos los sistemas operativos disponibles, ya comienzan a encontrarse dispositivos que cuentan con Openvpn Probada y sigue en crecimiento Sin interfaces grficas profesionales, aunque ya existen algunos proyectos prometedores Tecnologa sencilla
Tecnologa conocida y probada Muchas interfaces grficas disponibles Modificacin compleja del stack IP Necesidad de modificaciones crticas al kernel Necesidad de permisos de administrador Diferentes implementaciones de distintos proveedores pueden ser incompatibles entre si Configuracin compleja y
Interfaces de red y paquetes estandarizados Ejecuta en el espacio del usuario y puede ser chroot-ed
Trabaja con servidores de nombres Problemas con direcciones dinmicos como DynDNS o No-IP dinmicas en ambas puntas con reconexiones rpidas y transparentes Problemas de seguridad de las tecnologas IPsec SSL/TLS como estndar de criptografa Control de trfico (Traffic shaping) Velocidad (ms de 20 Mbps en mquinas de 1Ghz) Compatibilidad con firewall y proxies Ningn problema con NAT (ambos lados puede ser redes NATeadas) Posibilidades para road warriors
17
18
Fig. 3.4.1.1. Modo transporte 3.4.2. Modo tnel. En el modo tnel, todo el paquete IP (datos ms cabeceras del mensaje) es cifrado o autenticado. Debe ser entonces encapsulado en un nuevo paquete IP para que funcione el enrutamiento. El modo tnel se utiliza para comunicaciones red a red (tneles seguros entre routers, p.e. para VPNs) o comunicaciones ordenador a red u ordenador a ordenador sobre Internet. El propsito de este modo de establecer una comunicacin segura entre dos redes remotas sobre un canal inseguro. La siguiente imagen (Fig. 3.4.2.1) ilustra esto:
3.5. DETALLES TCNICOS. IPsec consta de dos protocolos que han sido desarrollados para proporcionar seguridad a nivel de paquete, tanto para IPv4 como para IPv6:
Authentication Header (AH) proporciona integridad, autenticacin y no repudio si se eligen los algoritmos criptogrficos apropiados. Encapsulating Security Payload (ESP) proporciona confidencialidad y la opcin altamente recomendable- de autenticacin y proteccin de integridad.
Los algoritmos criptogrficos definidos para usar con IPsec incluyen HMAC- SHA-1 para proteccin de integridad, y Triple DES-CBC y AES-CBC para confidencialidad. Ms detalles en la RFC 4305. 3.5.1. Authentication header (AH). AH est dirigido a garantizar integridad sin conexin y autenticacin de los datos de origen de los datagramas IP. Para ello, calcula un Hash Message Authentication Code (HMAC) a travs de algn algoritmo hash operando sobre una clave secreta, el contenido del paquete IP y las partes inmutables del datagrama. Este proceso restringe la posibilidad de emplear NAT, que puede ser implementada con NAT transversal. Por otro lado, AH puede proteger opcionalmente contra ataques de repeticin utilizando la tcnica de ventana deslizante y descartando paquetes viejos. AH protege la carga til IP y todos los campos de la cabecera de un datagrama IP excepto los campos mutantes, es decir, aquellos que pueden ser alterados en el trnsito. En IPv4, los campos de la cabecera IP mutantes (y por lo tanto no autenticados) incluyen TOS, Flags, Offset de fragmentos, TTL y suma de verificacin de la cabecera. AH opera directamente por encima de IP, utilizando el protocolo IP nmero 51. Una cabecera AH mide 32 bits, he aqu un diagrama de cmo se organizan:
0 - 7 bit
8 - 15 bit
16 - 23 bit
24 - 31 bit
Next header
Payload length
RESERVED
21
22
Ver. Es la versin del protocolo IP. IPsec se monta sobre IPv4. Hlen. Longitud de la cabecera, en palabras de 32 bits. Su valor mnimo es de 5 para una cabecera correcta, y el mximo de 15. El tamao de la cabecera nunca incluye el tamao del payload o de la cabecera siguiente. TOS. Indica una serie de parmetros sobre la calidad de servicio deseada durante el trnsito por una red. Algunas redes ofrecen prioridades de servicios, considerando determinado tipo de paquetes ms importantes que otros (en particular estas redes solo admiten los paquetes con prioridad alta en momentos de sobrecarga). pkt len. Es el tamao total, en octetos, del datagrama, incluyendo el tamao de la cabecera y el de los datos. El tamao mximo de los datagramas usados normalmente es de 576 octetos (64 de cabeceras y 512 de datos). Una mquina no debera enviar datagramas mayores a no ser que tenga la certeza de que van a ser aceptados por la mquina destino. En caso de fragmentacin este campo contendr el tamao del fragmento, no el del datagrama original.
ID. Indica el identificador del fragmento actual en caso de que el paquete estuviera fragmentado Fgls. Actualmente utilizado slo para especificar valores relativos a la fragmentacin de paquetes: Bit 0: Reservado; debe ser 0 Bit 1: 0 = Divisible, 1 = No Divisible (DF) Bit 2: 0 = ltimo Fragmento, 1 = Fragmento Intermedio (le siguen ms fragmentos) (MF) La indicacin de que un paquete es indivisible debe ser tenida en cuenta bajo cualquier circunstancia. Si el paquete necesitara ser fragmentado, no se enviar.
frag offset En paquetes fragmentados indica la posicin, en unidades de 64 bits, que ocupa el paquete actual dentro del datagrama original. El primer paquete de una serie de fragmentos contendr en este campo el valor 0. TTL. Indica el mximo nmero de enrutadores que un paquete puede atravesar. Cada vez que algn nodo procesa este paquete disminuye su valor en uno por cada router que pase. Cuando llegue a ser 0, el paquete no ser reenviado. Pronto. Indica el protocolo de siguiente nivel utilizado en la parte de datos del datagrama. Los ms utilizados son: Cdigo 1 Descripcin ICMP Internet Control Message Protocol
23
next hdr. Identifica cul es el siguiente protocolo, es decir, cual es el protocolo que ser autentificado, cul es el payload.
AH len. El tamao del paquete AH. RESERVED. Reservado para futuras aplicaciones. Debe estar a 0 Security parameters index (SPI). Indica los parmetros de seguridad, que en combinacin con los parmetros IP, identifican la asociacin de seguridad del paquete Sequence Number. Es un nmero creciente usado para prevenir ataques por repeticin. El nmero est incluido en los datos encriptados, as que cualquier alteracin ser detectada Authentication Data. Contiene el valor de identificacin de integridad. Puede contener relleno. Se calcula sobre el paquete entero, incluidas la mayora de las cabeceras. El que recibe calcula otra vez el hash, y si este no coincide, el paquete se tira.
24
3.5.1.1. AH en modo transporte La manera ms fcil de entender el modo transporte es que protege el intercambio de informacin entre dos usuarios finales. La proteccin puede ser autentificacin o encriptacin (o las dos), pero no se hace usando un tnel (para eso est el modo tnel). No es una vpn, es una simple conexin segura entre dos usuarios finales.
En AH en Modo Transporte, el paquete IP es modificado ligeramente para incluir una nueva cabecera AH entre la cabecera IP y la informacin transmitida (TCP, UDP, etc) y despus se requiere un proceso de arrastre que interconecta las distintas cabeceras entre ellas.
25
26
27
Las RFCs de IPsec no insisten demasiado en un sistema particular de encriptacin, pero normalmente se utiliza DES, triple-DES, AES o Blowfish para asegurar la carga til de ojos indiscretos. El algoritmo usado para una conexin en particular es definido por la Security Association (SA), y esta SA incluye no slo la el algoritmo, tambin la llave usada. A diferencia de AH, que da una pequea cabecera antes de la carga til, ESP rodea la carga til con su proteccin. Los parmetros de seguridad Index y Sequence Number tienen el mismo propsito que en AH, pero nos encontramos como relleno en la cola del paquete el campo siguiente campo y el opcional Authentication data. Es posible usar ESP sin ninguna encriptacin (usar el algoritmo NULL), sin embargo estructura el paquete de la misma forma. No nos da ninguna confidencialidad a los datos que estamos transmitiendo, y slo tiene sentido usarlo con una la autentificacin ESP. No tiene sentido usar ESP sin encriptacin o autentificacin (a no ser que estemos simplemente probando el protocolo). El relleno sirve para poder usar algoritmos de encriptacin orientados a bloques, dado que tenemos que crear una carga a encriptar que tenga un tamao mltiplo de su tamao de bloque. El tamao del relleno viene dado por el campo pad len. El campo next hdr nos da el tipo (IP, TCP, UDP, etc.) de la carga til, aunque esto sea usado como un punto para volver hacia atrs en el paquete para ver que hay en el AH. Adems de la encriptacin, ESP puede proveer autentificacin con la misma HMAC de AH. A diferencia de AH, esta autentifica slo la cabecera ESP y la carca til encriptada, no todo el paquete IP. Sorprendentemente, esto no hace que la seguridad de la autentificacin ms dbil, pero nos da algunos beneficios importantes.
28
Cuando un forastero examina un paquete IP que contiene datos ESP, es prcticamente imposible adivinar que es lo que tiene dentro, excepto por los datos encontrados en la cabecera IP (siendo interesantes las direcciones IP de origen y destino). El atacante va a saber casi seguro que son datos ESP (est en la cabecera que son datos ESP), pero no va a saber de qu tipo es la carga til. Incluso la presencia de Authentication Data no puede ser determina solamente con mirar al paquete. Esta resolucin est hecha por la Security Parameters Index, que hace referencia al conjunto de parmetros precompartidos para esta conexin.
29
3.5.2.1. ESP en modo transporte Al igual que en AH, el modo transporte encapsula justamente la carga la carga til del datagraya y est diseado justamente para comunicaciones extremo-a-extremo. La cabecera IP original se deja (excepto por el campo cambiado Protocol), y esto hace - adems de otras cosas - que las direcciones IP de origen y destino se quedan como estn.
30
3.5.2.2. ESP en modo tnel El ESP en modo Tnel encapsula el datagrama IP entero y lo encripta:
Proveer una conexin encriptada en modo tnel es dar una forma muy cercana a como se crea una VPN, y es lo que se nos viene a la cabeza a la mayora cuando pensamos acerca de IPsec. Adems de esto, tenemos que aadir autentificacin. Esta parte se trata en la siguiente seccin. A diferencia de AH, donde un forastero puede ver fcilmente que es lo que se transmite en modo Tnel o Transporte, usando ESP eso no ocurre; esa informacin no est disponible para el forastero. El caso es que en el modo tnel (poniendo next=IP), el datagrama IP
31
32
33
3.7. TRANSPORTE O TNEL? Curiosamente, no hay un campo explcito Modo en IPsec que distinga entre el modo de transporte y el modo tnel. Lo que los distingue es el campo *siguiente cabecera (next head)* en la cabecera AH. Cuando el valor de siguiente cabecera es IP, significa que este paquete encapsula un datagrama IP entero (incluyendo los campos de destino y origen IP que nos permiten saber dnde va el paquete que va encapsulado despus de la desencapsulacin. As se comporta el modo tnel. Otro valor cualquiera (TCP, UDP, ICMP, etc.) significa que estamos usando el modo transporte y se trata de una conexin segura extremo a extremo. El nivel superior de un datagrama IP es estructurado de la misma manera, sin tener en cuenta el modo, y los routers inmediatos tratan todo tipo de trfico IPsec/AH de la misma manera que el trfico normal, sin una inspeccin ms profunda. Hay que darse cuenta que un host - en contraposicin a una pasarela - es necesario que soporte los dos modos, de transporte y tnel, pero en una conexin host-to-host parece superfluo usar el modo tnel.
34
Conviene decir que IPsec no define ni obliga como debe hacerse la autentificacin, simplemente ofrece un marco de seguridad en la que los dos hosts que realizan la comunicacin se ponen de acuerdo sobre qu sistema usar. Pueden usarse firmas digitales o
35
36
Cuando es cambiada la direccin de origen de la cabecera IP, se fuerza a recalcular el checksum de la cabecera. Esto se tiene que hacer a parte, porque el dispositivo NAT es como un agujero en el camino del origen al destino, y esta situacin requiere decrementar el campo TTL(Time to Live). Dado que el campo TTL y el checksum de la cabecera siempre son modificados al vuelo, AH sabe que tiene que excluirlos de su proteccin, pero no tiene que excluir a las direcciones IP. Estas estn incluidas en el control de integridad, y cualquier cambio en las direcciones ip de origen y destino va a hacer que el control de integridad falle cuando llegue al destinatario. Dado que el valor del control de integridad contiene una llave secreta que slo la saben el host origen y el host destino, el dispositivo NAT no puede recalcular el ICV. Las mismas se aplican tambin al PAT(Port Address Translation), el cual traza mltiples direcciones IP en una en una sola direccin IP externa. No solo se modifican las direcciones IP al vuelo, sino adems los nmeros de los puertos UDP y TCP (a veces hasta la carga til que se transfiere. Esto requiere un sistema ms sofisticado por parte del dispositivo NAT, y unas modificaciones ms extensas en todo el datagrama IP. Por esta razn, AH - en el modo Tnel o Transporte - es totalmente incompatible con NAT y slo se puede emplear AH cuando las redes de origen y destino son alcanzables sin traduccin. Hay que decir que esta dificultad no se aplica al ESP, ya que su autentificacin y encriptacin no incorpora la cabecera IP modificada por NAT. An as, NAT tambin impone algunos desafos incluso en ESP (explicado ms adelante). NAT traduce las direcciones IP al vuelo, pero tambin guarda un registro de que conexiones siguen el camino traducido y as poder enviar las respuestas al origen de manera correcta. Cuando se usa TCP o UDP, esto se hace mediante los nmeros de los puertos (que pueden ser reescritos al vuelo o no), pero IPsec no da ninguna interfaz para hacer esto. 3.10. SECURITY ASSOCIATION Y SPI Es obvio que si los dos hosts o pasarelas van a establecer una conexin segura, se requiere algn tipo de clave secreta compartida para llevar a cabo la funcin de autentificacin o la y/o la clave del algoritmo de encriptacin. La cuestin es como esos secretos son establecidos a para poder ser dirigidos desde cualquier sitio, y para los propsitos de esta gua vamos a suponer que han llegado mgicamente a su lugar. Cuando un datagrama IPsec - AH o ESP - llega a una interfaz, cmo sabe la interfaz que conjunto de parmetros usar (clave, algoritmo y polticas)? Un host puede tener varias conversaciones simultneas, cada una con un diferente conjunto de claves y algoritmos, y tenemos que tener un gobernador que lleve todo este proceso.
37
Direccin IP de la pareja (el usuario con el que nos estamos comunicando) Protocolo IPsec (AH o ESP) Security Parameter Index
Hay muchas maneras para asociar este triplete a un socket IP, el cual est denotado de forma nica por la direccin IP, protocolo y el nmero del puerto Una SA es de sentido nico, as que una conexin en los dos sentidos (el caso tpico) requiere al menos dos. Adems, cada protocolo (ESP/AH) tiene su propia SA en cada direccin, por tanto una conexin completa AH+ESP VPN requiere 4 SAs. Todas ellas estn en la Security Associations Database. En la SADB tenemos una cantidad ingente de informacin, pero slo podemos tocar una parte de esta:
AH: algoritmo de autenticacin AH: secreto de autenticacin ESP: algoritmo de encriptacin ESP: clave secreta de encriptacin ESP: autenticacin activada si/no Algunos parmetros de intercambio de llaves Restricciones de enrutamiento Poltica de filtracin de IPs
Algunas implementaciones mantienen la SPD (Security Policy Database) con herramientas de tipo consola, otras con GUIs y otras proveen una interfaz basada en web sobre la red. El grado de detalle mantenido por cualquier implementacin en particular depende de las facilidades ofrecidas, as como si est en modo Host o modo Pasarela (Gateway). 3.11. ADMINISTRACIN DE CLAVES SECRETAS Finalmente, vamos a cubrir brevemente el asunto de la administracin de claves. Esta rea incluye varios protocolos y muchas opciones, IPsec sera casi intil sin las facilidades criptogrficas de autenticacin y encriptacin, y este hecho requiere que las llaves que se usan slo las sepan los participantes en la comunicacin y nadie ms. La forma ms obvia y sencilla de establecer las directivas de seguridad es de forma manual: un grupo genera ese conjunto de directivas de seguridad y las hace llegar a los otros
38
39
[LAC] Nube
[Acceso Remoto]
[LAC]
[LNS]
Cualquier sistema remoto puede iniciar su conexin PPP usando la red PSTN hacia el Concentrador de Acceso L2TP, (LAC). EL LAC a partir de all, tuneliza la conexin PPP a travs de Internet o de una nube Frame Relay o ATM hasta el L2TP Network Server , (LNS), donde se obtiene el acceso a la red local. De esta manera, el Acceso Remoto recibe direcciones del mapa de la red Local basado en la negociacin hecha por PPP NCP . Un host que corre en forma nativa L2TP es llamado Cliente LAC. El mismo poseer un Software con el Cliente L2TP, pudiendo participar de un tnel hacia la LAN Local sin el uso de un LAC. En este caso el Cliente LAC debe poseer una conexin a Internet. Se crea entonces una "conexin virtual PPP", y el software de Cliente LAC L2TP crea un tnel hacia el LNS.
41
Los mensajes de Control se utilizan para el establecimiento, mantenimiento, y despeje de tneles y llamadas. Los mensajes de datos son utilizados para encapsular las tramas PPP siendo transportadas en el tnel. Los Mensajes de Control utilizan un "Canal de Control Confiable" dentro de L2TP a fin de garantizar el transporte. Por su parte los Mensajes de Datos no son retransmitidos cuando hay prdida de Paquetes.
PPP Frames L2TP Data Messages L2TP Data Channel (unreliable) L2TP Control Messages L2TP Control Channel (reliable)
Fig. 4.6.1. Estructura del Protocolo L2TP La figura 4.6.1 muestra la relacin entre Tramas PPP y los mensajes de Control, sobre los canales de datos y de Control de L2TP respectivamente. Las Tramas PPP son pasados sobre un "canal de datos L2TP no confiable" encapsuladas primero por un encabezado L2TP, y luego sobre un servicio de transporte de paquetes tal como UDP, Frame Relay, ATM, Etc. Por su parte, Los mensajes de Control son enviados sobre un "canal de control L2TP confiable" el cual transmite en banda los paquetes sobre el mismo servicio de transporte de paquetes. Se requiere el uso de nmeros de secuencia en todos los mensajes de control y se usan para proveer transporte confiable sobre el canal de control. A su vez no siendo mandatorio, los mensajes de datos pueden usar nmeros de secuencia para reordenar paquetes y detectar paquetes perdidos. Estos valores son ubicados en sendos campos y enviados en orden de red (octetos de orden alto primero). 4.7. ENCABEZADO L2TP: En L2TP, tanto los paquetes del Canal de control cono los del canal de datos comparten un formato comn de encabezado. Como en casi todo protocolo, marca con bits la presencia/ausencia de campos en avance. Desde el header se maneja la secuencia de tramas, ID de Tnel e ID de sesin, Longitud, etc.
42
T| L| x | x | S| x |O | P | x| x | x | x | x| Tunnel ID Ns (opt)
Ver
| | | |
Encabezado de Mensaje L2TP 4.8. MENSAJES DE CONTROL Los mensajes de Control definidos son bsicamente los siguientes: 4.8.1. Gestin de Control de Conexin 0 (reservado) 1 (SCCRQ) Start-Control-Connection-Request 2 (SCCRP) Start-Control-Connection-Reply 3 (SCCCN) Start-Control-Connection-Connected 4 (StopCCN) Stop-Control-Connection-Notification 5 (reserved) 6 (HELLO) Hello 4.8.2. Gestin de Llamada 7 (OCRQ) Outgoing-Call-Request 8 (OCRP) Outgoing-Call-Reply 9 (OCCN) Outgoing-Call-Connected 10 (ICRQ) Incoming-Call-Request 11 (ICRP) Incoming-Call-Reply
43
4.9. PARES ATRIBUTO VALOR, (AVP): El mtodo elegido para hacer extensible e interoperable este protocolo en lo referente a mensajes de control es la codificacin de cuerpos y tipos de mensajes en Pares Atributo Valor. Los mismos son incorporados en el cuerpo del Mensaje de control L2TP.
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
T| L| x | x | S| x |O | P | x| x | x | x | x| Tunnel ID Ns (opt)
Ver
| | | |
Codificacin de Pares Atributo - Valor 4.10. OPERACIN DEL PROTOCOLO L2TP: Entre un LAC y un LNS pueden existir mltiples tneles. A su vez, dentro de un tnel pueden coexistir mltiples sesiones. A partir de estos conceptos, se presenta la operacin del protocolo. Son necesarios dos pasos para "tunelizar" una sesin PPP con L2TP: 1. Establecer la conexin de control (Connection Control) para armar el Tnel 2. Establecer una sesin la cual ser iniciada por un "call request" entrante o saliente.
44
LAC
Call
L2TP Session
Call
L2TP Session
4.11. ESTABLECIMIENTO DE LA CONEXIN DE CONTROL: La primera conexin que se establece entre un LAC y un LNS es la conexin de control, llamada "Control Connect". A travs de la misma se asegura la identidad del puerto, se identifica su versin de L2TP, y los atributos de la conexin. Un intercambio de 3 mensajes establece la conexin de control, lo que tpicamente se realiza de la siguiente manera: LAC or LNS SCCRQ SCCCN ZLB ACK LAC or LNS SCCRP
El mensaje ZLB ACK se enva siempre que no haya ms mensajes encolados en espera para ese puerto. Mediante una opcin de los mensajes SCCRQ y SCCRP, se puede autenticar la identidad de los puertos durante el establecimiento de la conexin. 4.12. ESTABLECIMIENTO DE UNA SESIN: Aqu partimos de tener una conexin establecida. Se pueden crear sesiones mltiples individuales, las cuales se corresponde con flujos de tramas PPP individuales entre el LAC y el LNS. A diferencia de la conexin de control, el establecimiento de una sesin es
45
ICRP
4.14. OUTGOING CALL: Tambin aqu, la sesin se establece mediante un intercambio de tres mensajes. En este caso, desde el LAC se hace la llamada hacia el Cliente PPP, y tras el establecimiento de la misma se cierra el esquema de tres mensajes. LAC or LNS OCRP (Llamada generada) OCNN ZLB ACK LAC or LNS OCRQ
4.15. ENVO DE TRAMAS PPP: Una vez establecido el tnel y la correspondiente sesin, el LAC recibe desde el sistema remoto las tramas PPP. Extrae el CRC, el "link framing" y los bytes de transparencia, para luego encapsular en L2TP el contenido de la trama restante y enviarlo por el tnel. El paquete recibido por el LNS es desempaquetado y procesado como lo hubiese sido una trama PPP entrante por la interfaz local. Cada puerto, mantendr nmeros de secuencia individuales para la conexin de control y para cada sesin individual.
46
ZLB ACK (Clean up) Recin cuando la ltima sesin haya sido cerrada se podr cerrar la conexin de control correspondiente. 4.18. CIERRE DE LA CONEXIN DE CONTROL: El cierre de una conexin de control puede ser ejecutado por cualquiera de los dos extremos, (LAC o LNS). A continuacin se presenta la secuencia tpica:
LAC or LNS
El cierre se inicia con el envi de un mensaje del tipo StopCCN. Quien lo recibe, debe enviar un ZLB ACK , para reconocer adecuadamente el envo de cierre, pero debe mantener el estado de control de conexin al menos por la duracin de una retransmisin completa del StopCCN. El tiempo de retransmisin completa recomendado es de 31 seg. Una implementacin podr cerrar un tnel y todas las sesiones en el mediante el envo del
47
48
CONCLUSIN
Las VPN representan una gran solucin para las empresas en cuanto a seguridad, confidencialidad e integridad de los datos y prcticamente se ha vuelto un tema importante en las organizaciones, debido a que reduce significativamente el costo de la transferencia de datos de un lugar a otro, el nico inconveniente que pudieran tener las VPN es que primero se deben establecer correctamente las polticas de seguridad y de acceso porque si esto no est bien definido pueden existir consecuencias serias.
49
BIBLIOGRAFIA
Bellovin, Steven M. (1996). Problem Areas for the IP Security Protocols. : 1-16. Consultado el 13-11-2007. K.G. Paterson y A. Yau (2006). Cryptography in theory and practice: The case of encryption in IPsec. : 12-29. Consultado el 13-11-2007. J.P. Degabriele y K.G. Paterson (2007). Attacking the IPsec Standards in Encryption-only Configurations. : 335-349. Consultado el 13-11-2007. OpenVPN: Building and Integrating Virtual Private Networks Markus Feilner ISBN 1-904811-85 Sito web de OpenVPN. http://openvpn.net/howto.html Sitio web de Ubuntu. http://www.ubuntu-es.org/node/5290 http://laurel.datsi.fi.upm.es/~rpons/openvpn_como/
En Linux:
50