martes, 28 de abril de 2009

Cómo funciona una Red Privada Virtual (Virtual Private Network)


from:IPSec Negotiation/IKE Protocols/How Virtual Private Networks Work

El mundo ha cambiado últimamente y ya no sólo nos interesa tratar con asuntos locales o regionales, ahora muchas empresas tienen que lidiar con mercados y logística globales. Algunas empresas deciden hacerlo mediante presencia en todo su país, su continente, o incluso en todo el mundo; pero siempre hay algo que necesitan: comunicación segura, confiable y rápida, sin importar donde estén sus oficinas.

Hasta hace poco, comunicación confiable significaba tener enlaces dedicados para mantener redes WAN, que podían ir desde una línea ISDN (144Kbps) hasta un OC3 (Optical Carrier-3 a 155Mbp o también llamado STM1). Obviamente una red WAN tiene ventajas sobre una red pública, como Internet, en cuanto a confiabilidad, disponibilidad, performance, latencia, seguridad, etc.; pero mantener una red WAN, particularmente usando enlaces dedicados, se puede volver demasiado costoso, y dependiendo del tipo de servicio, puede que la distacia incremente ese costo aún más. Adicionalmente, las redes privadas no son la solución para una empresa que tiene usuarios con alta movilidad (como puede ser el personal de mercadeo), y que requiere conectarse a recursos corporativos para acceder a datos sensiblemente importantes o confidenciales.

Mientras crece la popularidad del internet, las empresas lo han utilizado como un medio para extender sus propias redes. Primero llegaron las intranets, sitios diseñados para el uso de los empleados únicamente. Ahora, muchas compañías tienen sus propias VPNs para dar solución a las necesidades de sus empleados y oficinas remotos.



Una red típica de VPN puede tener una red local (LAN) principal en el edificio corporativo, otras LANs en oficinas remotas y usuarios individuales que se conectan desde campo.
Una VPN es una red privada que usa una red pública (usualmente el internet) para conectar sitios remotos o usuarios. Y en lugar de usar enlaces dedicados, tales como una línea privada, usa conexiones "virtuales" enrutadas a través de internet desde la red privada de la compañía hasta el sitio remoto.

¿Qué hace una VPN?

Hay dos tipos comunes de VPN
  • Remote-Access: también llamada Virtual Private Dial-up Network (VPDN); es una conexión usuario-LAN usada por empresas que tienen empleados móviles que se conectan desde localidades remotas. Usualmente, las empresas que trabajan este esquema, también contratan un ISP que provea el servicio de Dial-up a sus empleados móviles, y podría incluso ser a través de un número gratuito para entrar a internet y comunicarse con la red corporativa a través de un cliente de VPN. Las redes VPN de Remote-Access permiten conexiones seguras y encriptadas entre la red privada de una empresa y los usuarios remotos a través de un proveedor de servicios.
  • Site-to-Site: A través del uso de equipo dedicado y encripción a gran escala, una empresa puede conectar múltiples sitios fijos sobre una red pública como Internet. Cada sitio requiere sólo una conexión local a la misma red pública; de ahí proviene el ahorro comparado con Líneas Privadas dedicadas. Las VPNs Site-to-Site se pueden clasificar como intranets(entre dos oficinas remotas de la misma compañía) o extranets (si se construye la VPN entre oficinas de compañías distintas, ya sea un socio, cliente, proveedor, etc.)
Entre las ventajas de una Red Privada Virtual bien diseñada tenemos:
  • Conectividad extendida geográficamente
  • Costos de operación menores que en una WAN tradicional
  • Reduce los tiempos y costos de tránsito para usuarios remotos
  • Aumenta la productividad
  • Simplifica la topología de red
  • Provee oportunidades de trabajo en red globales
  • Hace posible el soporte a esos trabajadores remotos
  • Provee un retorno de inversión más rápido que una WAN tradicional
¿Qué características tiene una Red Privada Virtual bien diseñada? Debe incorporar al menos:
  • Seguridad (security)
  • Confiabilidad (reliability)
  • Escalabilidad (scalability)
  • Manejo de Red (network management)
  • Manejo de Políticas (policy management)

Analogía: cada LAN es una ISLA (each LAN is an isLANd)

Imagina que vive en una isla dentro de un enorme oceáno. Hay miles de islas alrededor, algunas muy cerca, otras muy lejos. La manera normal de viajar a ellas es tomar un ferry, y por tanto, significaría no tener casi ninguna privacidad; todo lo que haga puede ser visto por otros.

Pensemos en que cada isla es una LAN y el oceáno es la Internet. Cuando te conectas a un servidor web es similar a cuando viajas por ferry. No tienes control sobre los cables o routers que componen la internet, así como no tienes control de la gente en el ferry. Es así como tienes los detalles de seguridad por usar un medio público para conectar dos redes privadas.
Así que decides construir un puente entre tu isla y otra, para tener un medio más seguro y directo de viajar entre ellas. Claro que será más caro construir y mantener el puente, aún cuando sea un destino cercano; pero la necesidad de un medio confiable y seguro es grande, así que lo construyes. Quizás si quieres comunicarte a una isla más lejana será demasiado caro.

La situación es parecida a tener una línea privada. Los puentes (esas líneas privadas) están separadas del oceáno (Internet), aún pueden conectar las islas (LANs). Muchas compañiás han escogido esta ruta por la gran necesidad de seguridad y confiabilidad. Aún así, la gran distancia podría hacer prohibitivos los costos.

Así que, ¿cómo encaja una VPN en esta analogía?, le podríamos dar a cada habitante de nuestra isla un pequeño submarino con las siguientes propiedades:
  • Rápido
  • Fácil de llevar
  • Se puede esconder completamente de otros submarinos y barcos
  • Se puede depender de él
  • Es barato agregar submarinos a la flota que ya tienes
Aunque está viajando en el oceáno junto con otro tráfico, los habitantes de nuestras islas pueden viajar cuando quieran, con seguridad y privacía. Así funciona una VPN en esencia; cada miembro remoto de tu red puede comunicarse de manera segura a través de Internet hacia una LAN privada. Además, puede crecer la VPN para acomodar más usuarios o localidades de manera más sencilla que con enlaces dedicados. De hecho, la escalabilidad es una de las mayores ventajas de las VPNs sobre las líneas dedicadas, ya que la distancia geográfica no influye en los costos de la VPN.

Tecnologías VPN

Una VPN bien diseñada usa varios métodos para mantener el orden de la conexión y los datos seguros.
  • Confidencialidad de los datos: es quizás el servicio más importante que nos da cualquier implementación de VPN. Como tus datos privados viajan sobre un medio público, la confidencialidad es vital y puede ser obtenida por encriptación. En este proceso se codifican los datos de una manera que sólo la computadora de destino puede descifrar la información.
La mayoría de las VPN usan uno de estos protocolos de encriptación:
  1. IPsec- Internet Protocol security que nos da una seguridad mejorada con características tales como algoritmos de encriptación más fuertes y autenticación más comprensiva. IPsec tiene dos modos de encripción, túnel y transporte. El modo de túnel encripta el encabezado y la carga de cada paquete, mientras que el método de transporte sólo encripta la carga o contenido de los paquetes. Sólo sistemas que son compatibles con IPsec pueden usar este protocolo. También, todos los dispositivos deben usar una clave común o certificado y deben tener implementadas políticas de seguridad similares.
    Para usuarios de acceso remoto de VPN hay paquetes de software que proveen encriptación y conexión en una PC. IPsec soporta encriptación de 56 bits (single DES) o 168 bits (triple-DES).
  2. PPTP/MPPE- PPTP fue creado en el foro PPTP, un consorcio que incluye a US Robotics, Microsoft, 3COM, Ascend y ECI Telematics. PPTP soporta VPNs multiprotocolo, con encriptación de 40 y 128 bits usando un protocolo llamado Microsoft Point-to-Point Encryption (MPPE). Es importante notar que PPTP por si mismos no provee encriptación.
  3. L2TP/IPsec- conocido como L2TP sobre IPsec, provee la seguridad del protocolo de IPsec sobre la solución de túnel de Layer 2 Tunneling Protocol. L2TP es el producto de la alianza entre miembros del foro PPTP, Cisco y la Internet Engineering Task Force (IETF). Usado principalmente para VPNs de acceso remoto con sistemas operativos Windows 2000, ya que Windows 2000 trae incorporado un cliente nativo de IPsec y L2TP. Los ISP (proveedores de servicio de Internet) también pueden ofrecer conexiones L2TP para usuarios de dial-up (conexión por módem analógico) y encriptar el tráfico con IPsec entre sus puntos de acceso y los servidores de red de las oficinas remotas.
  • Integridad de los datos- es imporante que tus datos estén encriptados sobre una red pública, y es igual de importante que no sean cambiados durante su tránsito. Por ejemplo, IPsec tiene un mecanismo para asegurar que la parte encriptada del paquete o el encabezado completo y los datos del paquete, no han sido alterados. Si se detecta alguna alteración, el paquete se descarta. La integridad de los datos también involucra autenticar el par remoto (remote peer).
  • Autenticación del origen de los datos- es extremadamente importante verificar la identidad de la fuente de los datos que se están enviando. Esto es para protegernos de una variedad de ataques que dependen de suplantar la identidad del transmisor (spoofing).
    Anti Replay- Es la habilidad de detectar y rechazar paquetes que son reproducidos o copiados, y sirve para evitar el spoofing.
  • Data Tunneling/Traffic Flow Confidentiality- Tunneling es el proceso de encapsular un paquete completo dentro de otro paquete y enviarlo sobre una red. El tuneleo de datos es útil en casos donde es deseable esconder la identidad del dispositivo que origina el tráfico. Por ejemplo, un dispositivo único que encapsula tráfico que pertenece a un número de hosts detrás de él, y agrega su propio encabezado sobre los paquetes existentes. Encriptando el paquete original y su encabezado ( y ruteando el paquete basado en el encabezado capa 3 que se agregó encima), el dispositivo de tuneleo esconde efectivamente la fuente original del paquete. Sólo un par (peer) confiable es capaz de determinar la verdadera fuente, después desecha el encabezado adicional y desencripta el encabezado original. Como puede verse en el RFC 2401:
"...disclosure of the external characteristics of communication also can be a concern in some circumstances. Traffic flow confidentiality is the service that addresses this latter concern by concealing source and destination addresses, message length, or frequency of communication. In the IPsec context, using ESP in tunnel mode, especially at a security gateway, can provide some level of traffic flow confidentiality."

"...La revelación de las características externas de comunicación también pueden ser una preocupación en ciertas circunstancias. La confidencialidad del flujo de tráfico es el servicio que resuelve esta preocupación ocultando las direcciones fuente y destino; longitud del mensaje, o la frecuencia de comunicación. En el contexto de IPsec, usar ESP en modo de túnel, especialmente en un gateway de seguridad, puede dar algún nivel de confidencialidad al flujo de tráfico."
Todos los protocolos de encriptación listados aquí también usan tuneleo como un medio para transferir los datos encriptados a través de la red pública. Es importante notar que el tuneleo, por si mismo, no provee seguridad a los datos. El paquete original es encapsulado únicamente dentro de otro protocolo y podría aún ser visible con un dispositivo de captura de paquetes si no es encriptado. Sin embargo se menciona aquí porque es una parte integral de cómo funciona una VPN.
El tunneling requiere 3 protocolos diferentes:
  1. Passenger protocol- Datos originales a transportar (IPX, NetBeui, IP).
  2. Encapsulating protocol- El protocolo que envolverá al paquete original.
  3. Carrier protocol- El protocolo usado por la red sobre el que la información viajará.
El paquete original (passenger protocol) es encapsulado dentro del protocolo de encapsulamiento, el cual es puesto dentro del encabezado del protocolo de carrier (usualmente IP) para mandarlo sobre la red pública. Debemos notar que el protocolo de encapsulamiento frecuentemente también lleva la encriptación de los datos. Protocolos como IPX y NetBeui, los cuales normalmente no serían transportados por la Internet, pueden ser transmitidos de manera segura.

Para VPNs site-to-site, el protocolo de encapsulamiento es usualmente IPsec o Generic Routing Encapsulation (GRE). GRE incluye información de que tipo de paquete estás encapsulando e información acerca de la conexión entre el servidor y el cliente.
Para VPNs de acceso remoto, el tunneling normalmente tiene lugar usando PPP (point to point protocol). Parte de la pila de TCP/IP, PPP es el transporte para otros protocolos de IP cuando se comunicam dos hosts sobre la red. PPP tunneling usará PPTP, L2TP o Layer 2 Forwarding (propietario de Cisco).
  • AAA- Authentication, authorization, and accounting; se usa para un acceso más seguro en una VPN de acceso remoto. Sin la autenticación de usuario cualquiera que tenga acceso a una computadora con un cliente de VPN preinstalado puede establecer una conexión segura a la red remota. Sin embargo, con la autenticación de usuario se le pedirán un nombre usuario y una contraseña válidos para completar la conexión. Los nomrbes de usuario y contraseñas peuden ser almacenados en el dispositivo terminador de VPNs, o en un servidor externo de AAA, el cual puede proveer autenticación a muchas otras bases de datos, tales como Windows NT, Novell, LDAP, y demás.
Cuando una petición para establecer un túnel viene de un cliente de dial-up, el dispositivo de VPN pregunta por un nombre de usuario y una contraseña. Éste puede ser autenticado localmente o enviado a un AAA server, el cual revisa:
  • Authentication ¿Quién eres?
  • Authorization ¿Qué te está permitido hacer?
  • Accounting ¿Qué es lo que estás haciendo?
La información de accounting es especialmente útil para seguir la actividad de un cliente para auditar la seguridad, cobrar los servicios usados o elaborar reportes.
  • Nonrepudiation- es una característica bastante deseable en ciertas transferencias de datos, especialmente las relacionadas con finanzas. Ayuda a prevenir situaciones donde un extremo niega haber tomado parte en una transacción. Así como un banco nos requiere la forma antes de pagar un cheque, nonrepudiation trabaja agregando una firma digital al mensaje enviado, así se adelanta a la posibilidad de que el transmisor niegue su participación en la transacción.
Hay varios protocolos que se pueden usar para contruir una solución deVPN y cada uno de ellos provee parte de los servicios que se listan en el documento. La elección de algún protocolo depende del juego de características deseado. Por ejemplo, una organización puede estar cómoda con la información transmitida en texto simple, pero extremadamente preocupada con la integridad de los datos, mientras que otra empresa podría encontrar que su confidencialidad es extremadamente esencial. Obviamente la elección de protocolos sería diferente. Para más información de los protocolos disponibles y sus fortalezas relativas puedes leer el documento de cisco: ¿Cuál solución de VPN es la correcta para ti? (inglés).

Productos de VPN (Cisco)

Basados en el tipo de VPN (remote-access o site-to-site) se necesitan ciertos componentes para construir tu red de VPN. Estos pueden incluir:
  • Software para cada host remoto que se requiera conectar
  • Hardware dedicado, como un concentrador de VPN o un Cisco Adaptive Security Appliance (ASA), un router con IOS features, un VPN router de Nortel (antes contivity), etc.
  • Servidor de VPN dedicado para los servicios de dial-in
  • Network Access Server (NAS) usado por los proveedores de servicios para el acceso de usuarios remotos de VPN.
  • Centro manejo de políticas y de red privada.
Muchas compañías han desarrollado soluciones llave en mano debido a que no hay un estándar ampliamente aceptado para implementar VPNs, por ejemplo, Cisco ofrece:
  • VPN Concentrator (fuera de ventas)
  • VPN enabled router (un 1841 security bundle por ejemplo)
  • Cisco ASA
  • Cisco VPN clients

No hay comentarios. :

Publicar un comentario