miércoles, 2 de julio de 2014

¿Que es una VPN?

Consideraciones generales:
VPN (Virtual Private Network) es una extensión de una red local y privada que utiliza como medio de enlace una red publica como por ejemplo, Internet. También es posible utilizar otras infraestructuras WAN tales como Frame Relay, ATM, etc.
Este método permite enlazar dos o mas redes simulando una única red privada permitiendo así la comunicación entre computadoras como si fuera punto a punto.
También un usuario remoto se puede conectar individualmente a una LAN utilizando una conexión VPN, y de esta manera utilizar aplicaciones, enviar datos, etc. de manera segura.
Las Redes Privadas Virtuales utilizan tecnología de túnel (tunneling) para la transmisión de datos mediante un proceso de encapsulación y en su defecto de encriptación, esto es importante a la hora de diferenciar Redes Privadas Virtuales y Redes Privadas, ya que esta ultima utiliza líneas telefónicas dedicadas para formar la red. Mas adelante explicare mas en profundidad el funcionamiento del túnel.
Una de las principales ventajas de una VPN es la seguridad, los paquetes viajan a través de infraestructuras publicas(Internet) en forma encriptada y a través del túnel de manera que sea prácticamente ilegible para quien intercepte estos paquetes.
Esta tecnología es muy útil para establecer redes que se extienden sobre áreas geográficas extensas, por ejemplo diferentes ciudades y a veces hasta piases y continentes. Por ejemplo empresas que tienen oficinas remotas en puntos distantes, la idea de implementar una VPN haría reducir notablemente los costos de comunicación, dado que las llamadas telefónicas (en caso de usar dial-up) serian locales(al proveedor de Internet) o bien utilizar conexiones DSL, en tanto que de otra manera habría que utilizar líneas dedicadas las cuales son muy costosas o hacer tendidos de cables que serian mas costosos aun.
Diagrama lógico de una VPN

1.2- VENTAJAS DE UNA VPN:

·                                 Seguridad: provee encriptacion y encapsulacion de datos de manera que hace que estos viajen codificados y a través de un túnel.
·                                 Costos: ahorran grandes sumas de dinero en líneas dedicadas o enlaces físicos.
·                                 Mejor administración: cada usuario que se conecta puede tener un numero de IP fijo asignado por el administrador, lo que facilita algunas tareas como por ejemplo mandar impresiones remotamente, aunque también es posible asignar las direcciones IP dinámicamente si así se requiere.
·                                 Facilidad para los usuarios con poca experiencia para conectarse a grandes redes corporativas transfiriendo sus datos de forma segura.

1.3 TIPOS DE VPN:

Las fomas en que pueden implementar las VPNs pueden ser basadas en HARDWARE o a través de SOFTWARE, pero lo mas importante es el protocolo que se utilce para la implementacion.
Las VPNs basadas en HARDWARE utilizan básicamente equipos dedicados como por ejemplo los routers, son seguros y fáciles de usar, ofreciendo gran rendimiento ya que todos los procesos están dedicados al funcionamiento de la red a diferencia de un sistema operativo el cual utiliza muchos recursos del procesador para brindar otros servicios, en síntesis, los equipos dedicados son de fácil implementacion y buen rendimiento, solo que las desventajas que tienen son su alto costo y que poseen sistemas operativos propios y a veces también protocolos que son PROPIETARIOS.
Existen diferentes tecnologías para armar VPNs:
·                                 DLSW: Data Link Switching(SNA over IP)
·                                 IPX for Novell Netware over IP
·                                 GRE: Generic Routing Encapsulation
·                                 ATMP: Ascend Tunnel Management Protocol
·                                 IPSEC: Internet Protocol Security Tunnel Mode
·                                 PPTP: Point to Point Tunneling Protocol
·                                 L2TP: Layer To Tunneling Protocol
entre los mas usados y con mejor rendimiento estarían Ipsec y PPTP, aunque a este ultimo se le conocen fallas de seguridad.
A continuación se detallan su funcionamiento:

IPSEC (Internet Protocol Secure):

Es un protocolo de seguridad creado para establecer comunicaciones que proporcionen confidencialidad e integridad de los paquetes que se transmiten a través de Internet.
IPsec puede utilizar dos métodos para brindar seguridad, ESP (Encapsulating Security Payload) o AH (Authentication Header).
La diferencia entre ESP y AH es que el primero cifra los paquetes con algoritmos de cifrado definidos y los autentica, en tanto que AH solo los autentica.
AH firma digitalmente los paquetes asegurandose la identidad del emisor y del receptor.
Ipsec tiene dos tipos de funcionamiento, uno es el modo transporte en el cual la encriptacion se produce de extremo a extremo, por lo que todas las maquinas de la red deben soportar Ipsec, y el otro es el modo túnel, en el cual la encriptacion se produce solo entre los routers de cada red.
Esta ultima forma seria la mas ordenada de organizar una red VPN basada en Ipsec.
Existen diferentes productos para implementar VPN con Ipsec en GNU/Linux, pero sin dudas el mas utilizado es el Freswan (http://www.freeswan.org).

PPTP (Point to Point Tunneling Protocol):

Este es uno de los protocolos mas populares y fue originalmente diseñado para permitir el transporte (de modo encapsulado) de protocolos diferentes al TCP/IP a través de Internet. Fue desarrollado por el foro PPTP, el cual esta formado por las siguientes empresas:
Ascend Communications, Microsoft Corporations, 3 Com, E.C.I. Telematics y U.S. Robotics(ahora 3 Com).
Básicamente, PPTP lo que hace es encapsular los paquetes del protocolo punto a punto
PPP(Point to Point Protocol) que a su vez ya vienen encriptados en un paso previo para poder enviarlos a traves de la red.
El proceso de encriptación es gestionado por PPP y luego es recibido por PPTP, este ultimo utiliza una conexión TCP llamada conexión de control para crear el túnel y una versión modificada de la Encapsulación de Enrutamiento Generico (GRE, Generic Routing encapsulation) para enviar los datos en formato de datagramas IP, que serian paquetes PPP encapsulados, desde el cliente hasta el servidor y viceversa.
El proceso de autenticación de PPTP utiliza los mismos métodos que usa PPP al momento de establecer una conexión, como por ejemplo PAP (Password Authenticaction Protocol) y CHAP (Challenge-Handshake Authentication Protocol).
El método de encriptacion que usa PPTP es el Microsoft Point to Point Encryption, MPPE,
y solo es posible su utilización cuando se emplea CHAP (o MS-CHAP en los NT) como medio de autenticación.
MPPE trabaja con claves de encriptación de 40 o 128 bits, la clave de 40 bits es la que cumple con todos los estándares, en cambio la de 128 bits esta diseñada para su uso en Norte América. Cliente y servidor deben emplear la misma codificación, si un servidor requiere de mas seguridad de la que soporta el cliente, entonces el servidor rechaza la conexión.
NOTA:
Es posible establecer conexiones mediante túneles sin encriptación, es decir, realizar solamente la Encapsulación, pero esto no esta considerado que sea una VPN ya que los datos viajan de forma insegura a través de la red.

1.4- DIAGRAMAS:

Hay varias posibilidades de conexiones VPN, esto será definido según los requerimientos de la organización, por eso es aconsejable hacer un buen relevamiento a fin de obtener datos como por ejemplo si lo que se desea enlazar son dos o mas redes, o si solo se conectaran usuarios remotos.
Las posibilidades son:
DE CLIENTE A SERVIDOR(Client to Server):
Un usuario remoto que solo necesita servicios o aplicaciones que corren en el mismo servidor VPN.



DE CLIENTE A RED INTERNA (Client to LAN):
Un usuario remoto que utilizara servicios o aplicaciones que se encuentran en uno o mas equipos dentro de la red interna.

DE RED INTERNA A RED INTERNA (LAN to LAN):
Esta forma supone la posibilidad de unir dos intranets a través de dos enrutadores, el servidor VPN en una de las intranets y el cliente VPN en la otra.
Aquí entran en juego el mantenimiento de tablas de ruteo y enmascaramiento.


1.5- REQUERIMIENTOS PARA EL ARMADO DE UNA VPN

Para el correcto armado de una VPN, es necesario cumplir con una serie de elementos y conceptos que a continuacion se detallan:
·                                 Tener una conexión a Internet: ya sea por conexión IP dedicada, ADSL o dial-up.
·                                 Servidor VPN: básicamente es una pc conectada a Internet esperando por conexiones de usuarios VPN y si estos cumplen con el proceso de autenticación, el servidor aceptara la conexión y dará acceso a los recursos de la red interna.
·                                 Cliente VPN: este puede ser un usuario remoto o un enrutador de otra LAN, tal como se especifica en la sección 1.4 (Diagramas).
·                                 Asegurarse que la VPN sea capaz de:
o                                                        Encapsular los datos
o                                                        Autentificar usuarios.
o                                                        Encriptar los datos.
o                                                        Asignar direcciones IP de manera estatica y/o dinamica.