Si algo se persigue en el mundo de las redes es por encima de todo es la seguridad, tanto para empresas como para usuarios es una de las grandes preocupaciones de Internet. Y la respuesta actualmente están en las redes VPN, aunque no100% efectivas el hecho de cifrar las conexiones le confiere mayor privacidad y seguridad a nuestro acceso a Internet. Hoy conoceremos de la forma más completa posible OpenVPN, aplicación y protocolo culpable de la mayoría de accesos VPN en el mundo.
Índice de contenidos
Y es que el uso de redes VPN se ha disparado en los últimos años, con un incremento cercano al 170% hasta 2020, contando con más de mil millones de usuarios conectados a alguna VPN. Existen una enorme cantidad de compañías que ofrecen servicios VPN a nivel mundial principalmente de pago, aunque también de forma gratuita, y todas ellas operan entre otros, con el protocolo OpenVPN.
Unos de los más importantes en la actualidad, aunque cabe decir que no es el más seguro, siempre hay margen de mejora. Pero su gran ventaja es que además de ser propiamente un protocolo de comunicación VPN, también cuenta con sus propias aplicaciones de cliente y servidor de código abierto y accesible para todos.
Una VPN o Red Privada Virtual es una tecnología de comunicación aplicada a las redes para intercambio de datos entre dispositivos electrónicos que permite establecer una conexión segura de una red de área local (LAN) sobre los dominios de una red WAN pública como es Internet.
El gran potencial de una red VPN es que es capaz de extender una red de área local por encima de los límites de un edificio o habitación. Una VPN es en sí misma una LAN en donde hay conectados nodos geográficamente separados a cualquier distancia. Esto permite que los nodos envíen y reciban datos sobre redes públicas como si fuera una red privada.
No solo se trata de una extensión de la red, sino de establecer un sistema de comunicación cifrado en la infraestructura, con cifrado a nivel de red, y funcionalidades y políticas de gestión similares a los de una LAN.
Para ello se realiza una conexión virtual punto a punto haciendo uso de conexiones dedicadas mediante protocolos como OpenVPN que hoy explicamos y otros como L2TP, PPTP o IKEv2. A pesar de que la conexión entre nodos se realiza mediante la WAN, el usuario la ve como una LAN, ya que la dirección IP nos la suministrará el servidor al que nos conectaremos. Este pasará a ser un segundo enrutador de nuestra red por el que pasará todo el contenido de ida y vuelta.
La conexión física se realiza de distintas formas, una de ellas es mediante túneles cifrados o tunneling. Se crea un túnel virtual en donde los datos se transfieren en encapsulados dentro de PDU (unidad de datos de protocolo). Todo ello a través de conexión cableada y acceso remoto, en donde se utiliza la infraestructura existente para transmitir los datos. Funcionamiento:
Tras ver en qué consiste una conexión y red VPN, solo queda ver qué es lo que realmente podemos hacer con ellas y qué no. A que en definitiva son servicios normalmente de pago en el caso de que no creemos nosotros una o utilicemos la propia de nuestra empresa de trabajo si fuera el caso.
Claro que también obtendremos limitaciones:
Ahora que ya sabemos bastante acerca de las redes VPN, será más fácil ponernos en situación con el protocolo OpenVPN, conociéndolo a fondo y viendo cómo opera. No vamos a realizar ninguna configuración sobre un servidor VPN en este artículo, ya que se alargaría demasiado, aunque sí veremos cómo se realiza la conexión desde el lado del cliente con un servidor que tenemos nosotros mismos creado en un router Asus.
Open VPN es tanto un protocolo de comunicación como una aplicación informática de código abierto y licencia de software libre para realizar conexiones VPN. La programación de la aplicación está realizada principalmente en C, y se basa en enlaces de tipo SSL (Secure Sockets Layer) y TLS (Transport Layer Security). OpenVPN no soporta por tanto protocolos L2TP o PPTP, ya que es un protocolo personalizado basado los dos anteriormente citados.
La arquitectura de conexión y comunicación es la típica de una VPN, basada en punto-a-punto. Para efectuar esta conexión se requiere validación jerárquica entre usuarios y servidor a través de certificados SSL/TLS + RSA de forma remota. Soporta todo tipo de enlaces de red, como WiFi IEEE 802.11, Ethernet 802.3 y red de datos móviles.
OpenVPN fue creado en 2001 por James Yonan, como una forma de conexión lo más sencilla posible para redes VPN frente a otras como IPsec. En ella se combina su gran cantidad de posibilidades de configuración, encriptación en la conexión mediante certificados y un relativamente fácil uso. Si bien es cierto que existen otros protocolos como L2TP o IPsec que también se basan en certificados y claves para efectuar la conexión.
Se pone de manifiesto que la gran ventaja de una VPN es extender una LAN a través de Internet, por lo que OpenVPN es uno de los protocolos más utilizados para eliminar esos enlaces dedicados para interconectar distintas redes de corporaciones y empresas.
Con esta solución se puede operar en lugares geográficamente separados utilizando enlaces troncales o de alta velocidad de la red WAN por ejemplo de fibra óptica solamente implementando un servidor OpenVPN en la corporación y una serie de clientes para su acceso al medio. El volumen de conexiones que acepta el protocolo no son problema para implementar redes a gran escala, pudiendo personalizar el nivel de acceso de clientes según credenciales con los certificados RSA.
Para entender mejor el funcionamiento del protocolo conviene echar mano de las capas del modelo OSI, siempre presentes en redes. Open VPN trabajará en las siguientes:
Aquí operan los distintos estándares IEEE que controlan la conexión a nivel de enlace y otros como PPP o FDDI. Esta capa construye las tramas de bits con la información y además otros elementos para controlar que la transmisión se haga de forma correcta.
Aquí es donde se realiza el primer encapsulamiento de datos para su transporte. Aquí trabajan protocolos como OpenVPN que se basa en SSL/TLS para cifrar el contenido, y otros como, PPTP propio de Microsoft y desfasado en beneficio de L2TP, L2F propio de Cisco o L2Sec.
Esta capa se encarga de la identificación del enrutamiento entre dos o más redes conectadas, siendo el protocolo más conocido el IP. Concretamente la versión más utilizada para redes VPN es el IPsec, el cual permite encapsular los datos en tramas de la capa 3, aunque no los de capas inferiores. Como hemos comentado OpenVPN ofrece una solución más sencilla que IPsec para el transporte de datos.
Es en esta capa en donde se crean los túneles VPN para transportar los datos, siendo capaces de transportar cualquier tipo datos IP. Para ello se realiza un encapsulamiento que llamaremos PDU, en donde se encripta la información de enrutamiento, como es la dirección IP de origen y destino.
La conexión también puede utilizar el modo transporte, en el que solamente se encripta la carga de datos del paquete, no encriptando por tanto la información de origen y destino. Este es más inseguro que el método de tunneling.
Este nivel es el encargado de permitir a los usuarios ejecutar acciones y comandos en sus propias aplicaciones como por ejemplo un botón para enviar un email. En ella también actua OpenVPN por el hecho de tener una aplicación accesible por el usuario para realizar la conexión con el servidor.
De hecho, el tunneling también se puede realizar desde esta capa a través de los protocolos SSL y TLS. O incluso a través de un navegador mediante una extensión previamente instalada a través del protocolo HTTPS. Aquí es donde OpenVPN recurre a los mecanismos de cifrado de este tipo pudiendo saltarse prácticamente cualquier firewall.
Open VPN utiliza claves de cifrado para proteger los datos duramente la comunicación, utilizando dos métodos llamados: de claves estáticas pre-compartidas y por certificados SSL/TLS + RSA. El primero de ellos instala una clave en todos los clientes que pretendan acceder al servidor VPN, es un método bastante sencillo. El segundo método es la opción más segura, basándose en dos claves públicas y dos privadas basadas en OpenSSL, bastante utilizado en la mayoría de conexiones OpenVPN en la actualidad
Vamos a explicar estos dos métodos de conexión más detalladamente para ver cómo funcionan.
Este método es el más seguro de los dos y el que se utiliza con mayor frecuencia como es lógico. En el sistema, cada servidor y cliente tienen dos claves, una pública y otra privada. La clave pública sirve para cifrar los datos, por lo que se enviará a todos los clientes que quieran conectarse, mientras que la clave privada es la que los descifrará.
De esta forma no solo necesitaremos una clave, sino dos para conseguir hacer la comunicación. Estas claves se conocen como certificados SSL/TLS de 256 bit por estar basado en el software OpenSSL que siempre viene instalado en los sistemas operativos. Estos certificados podremos generarlos nosotros mismos al crear una VPN mediante algoritmos matemáticos. Solamente tendrán acceso a la VPN aquellos nodos con ambos certificados firmados.
La seguridad se aumenta con una criptografía de tipo RSA, algoritmo matemático que llega ese nombre por sus creadores (Rivest, Shamir y Adleman). Esta clave se utiliza tanto para crear el certificado como para firmarlo. Además, se utiliza cifrado de tipo AES Camelia, CAST-128 o 3DES.
También llamado sistema de cifrado simétrico por tener una clave de cifrado en los dos extremos de la conexión. El método es simple, aquellos nodos que tengan la clave podrán descifrar el tráfico de la red, siendo un método considerado inseguro porque si algún hacker obtiene dicha clave podrá ver todo el contenido de la red.
Obviamente no será tan simple obtener la clave, ya que hay mecanismos para cambiar estas claves cada cierto periodo de tiempo, tiendo un lifetime o tiempo de vida útil. Es posible no obstante romper la propia clave con un sistema potente, por lo que la longitud de la misma será fundamental para asegurar la seguridad.
En la comunicación OpenVPN se suele utilizar el protocolo UDP para la capa 4 o capa de transporte de datos del modelo OSI. De hecho, los puertos que abramos en el enrutador para admitir conexiones de clientes externos serán de tipo UDP. No obstante, si la conexión falla en un primer momento se intentará conectar a través de TCP.
Para los que no los conozcan, son dos protocolos usados en la capa de transporte de datos, la encargada de hacer que los datos llegar de un extremo a otro.
Para poder conectar el servidor OpenVPN con el exterior y así recibir conexiones de clientes fuera de una LAN real necesitaremos abrir un total de tres puertos normalmente. OpenVPN utiliza el puerto 1194 UDP, así como los protocolos UDP 500 y UDP 4500 para IPSec.
A grandes rasgos, vamos a explicar el procedimiento para conectarnos a un servidor OpenVPN y así entrar en la red. En este caso no explicaremos como hacer un servidor, ya que esto da para un artículo completo.
Generación de certificados en el lado del servidor
Lo primero que debería hacer nuestro administrador es crear los correspondientes certificados para los clientes tal y como hemos comentado antes. Si nosotros montáramos un servidor en casa o en el router habría que hacerlos también.
Se nos suministrará un fichero de configuración con los datos del servidor. En principio nosotros como clientes no necesitaremos tocar nada del fichero, ya que la configuración de IP, puertos y protocolos ya deberían de venir pre configurados.
Instalación del cliente
En nuestro caso general necesitaremos un cliente para conectarnos al servidor, y aunque no es la única forma de hacerlo, sí es la más recomendable de largo. Desde la página oficial de OpenVPN.net podremos descargar el cliente. Elegimos como no un instalador para el sistema que tengamos y su arquitectura.
Debemos colocar el fichero de configuración en el directorio en donde hayamos instalado el cliente OpenVPN, que normalmente será en Archivos de programa/OpenVPN/config/ o Archivos de programa (x86).
Tras esto solamente tendremos que establecer la conexión colocando usuario y contraseña. Si la conexión es correcta, el servidor cargará los certificados en el cliente para comenzar la comunicación cifrada.
Normalmente en los propios ficheros de configuración se cargan estos certificados para mayor comodidad, en todo caso nosotros no tendremos que hacer nada al respecto como clientes.
Plataformas compatibles
Lo bueno de OpenVPN es que es compatible con prácticamente cualquier plataforma. No solo podremos utilizarlo con Windows, el cliente está disponible para Mac, Linux por supuesto, iOS y Android a través de las tiendas correspondientes de forma gratuita.
Por ser un protocolo sumamente utilizado y popular, la mayoría de compañías VPN ofrecen soporte o directamente trabajan con él en conjunción con otros protocolos. Incluso muchos routers actuales de fabricantes como Asus, sobre todo, NETGEAR, TP-Link, etc. ofrecen soporte tanto de cliente como de servidor en el aparato. Por lo que tener una VPN está al alcance de todos.
Antes de hacer balance final de OpenVPN hemos visto muy interesante la nueva aplicación disponible para Android con la que poder conectarnos a la red VPN en cualquier parte desde nuestro Smartphone. Solamente necesitaremos una cuenta de usuario para conectar nuestro terminal a la red VPN.
El servicio en principio es gratuito, aunque tras crearnos la cuenta y confirmarla, nos dará la posibilidad de rellenar los datos de pago para adquirir el servicio premium. Es una excelente forma de navegar a través de servidores de todos los países de forma gratuita y sin limitación de datos ni ancho de banda, ya que parece que la suscripción gratuita no tiene este tipo de limitaciones.
El terminal la detectará como una VPN normal y corriente, desde la aplicación podremos ver que los protocolos utilizados son el TCP, UDP, HTTP Proxy y OFBS Proxy, por lo que interpretamos que no es una VPN como tal sino algo más similar a un Proxy SSL.
Al menos sí que nos permitirá conectarnos a cualquier servidor de la enorme lista disponible sin limitación, lo cual vendrá muy bien para contenido geobloqueado como se hace con las otras VPN de consumo general.
Finalizamos este artículo sobre OpenVPN como no con las ventajas y desventajas que nos puede ofrecer el protocolo y cómo está frente a los otros protocolos utilizados en VPN.
Ventajas
Desventajas
Esperamos traer pronto el tutorial de cómo montar un servido OpenVPN en distintas plataformas, mientras tanto, esperamos que con este artículo hayamos acercado OpenVPN a más público para que puedan conocer sus características básicas.
Ahora os dejamos algunos tutoriales de redes interesantes, así como el tutorial para montar un servidor OpenVPN en un router Asus.
Esperamos que no haya sido demasiado aburrido, pero conocer algo de teoría antes de llegar a la práctica también es interesante. ¿Conocías las redes VPN y este protocolo?
CHIEFTEC acaba de presentar dos nuevas cajas para PC, Visio y Visio Air con un…
Asus ZenWiFi BT8 es un sistema Mesh Wi-Fi 7 el cual se sitúa por debajo…
Qualcomm anuncia nuevos SoC Snapdragon X, pero no se trata de una nueva generación, sino…