La respuesta corta de este artículo, es: no mucho, gracias por leer ¡hasta la próxima! No mentiras, fuera de broma, me quede un poco loco con el nuevo lanzamiento del cliente actual que tenemos los usuarios de GNU/Linux. Resulta qué el 10 de Octubre los desarrolladores de ProtonVPN publicaron que lanzaban oficialmente el cliente para “Linux” lo que dejo a muchos confudidos (me incluyo) leía gente en los grupos pro-privacy preguntar qué si esto ya no existia antes y si, cómo usuario de ProtonVPN de hace casi 1 año puedo afirmar todo ello sólidamente, entonces ¿Qué fue lo que en realidad lanzaron?
La principal diferencia entre el nuevo cliente de ProtonVPN para GNU/Linux y el cliente anterior para GNU/Linux es la interfaz de usuario. El nuevo cliente ha sido rediseñado para brindar una experiencia más intuitiva y fácil de usar. Además, el nuevo cliente ofrece funciones y “características adicionales”, como la capacidad de seleccionar servidores específicos y una mejor velocidad de conexión. También se han realizado mejoras en la estabilidad y rendimiento del nuevo cliente. En general, el nuevo cliente de ProtonVPN para GNU/Linux proporciona una experiencia mejorada en comparación con el cliente anterior.
Si se fijan bien he colocado entre comillas el “características adicionales” porque dichas características ya estaban en el cliente anterior, por ello mismo han saltado unos muy buenos memes en Twitter acerca de dicho lanzamiento, de hecho, en mi opinión NO ha sido el mejor lanzamiento, ¿por qué? Retrocedimos bastante en interfaz gráfica, ahora todo es gris con la única selección por servidor. Además, y lo más importante que me ha dolido es la retirada del protocolo WireGuard, al menos en alguna parte de la documentación leí que en próximos lanzamientos será integrado, de momento se puede agregar de modo manual, aunque al ser retirado/agregado un servidor toca hacer el mismo proceso.
La diferencia principal entre OpenVPN y WireGuard radica en su enfoque de diseño y rendimiento:
- Diseño: OpenVPN es un protocolo VPN más maduro (nació en el 2001) y ampliamente utilizado. Se basa en el uso de software tradicional de red virtual, como túneles en capa 2 y un modelo de enrutamiento en capa 3. WireGuard, por otro lado, es un protocolo VPN más nuevo (2016) y adopta un enfoque más minimalista. Su diseño se centra en la simplicidad y utiliza criptografía moderna y tecnologías de red más eficientes. Además, esa simplicidad del código también permite una mejor auditoría: es mucho más fácil detectar un problema en el código de WireGuard, y no en el “horror” de OpenVPN e IPSec, tal y como dijo Linus Torvalds, el creador de Linux.
- Rendimiento: Debido a su diseño minimalista y a la utilización de algoritmos criptográficos más eficientes, se considera que WireGuard ofrece un mejor rendimiento en comparación con OpenVPN. WireGuard ha demostrado ser más rápido, consume menos recursos del sistema y tiene una menor latencia.
- Configuración y gestión: En términos de configuración y gestión, OpenVPN ofrece muchas más opciones y configuraciones. Es altamente personalizable y compatible con diferentes sistemas operativos y dispositivos. WireGuard, por otro lado, tiene una configuración más simplificada, lo que facilita su configuración y mantenimiento.
Eso sí, he de admitir que este nuevo cliente va mucho más rápido, se nota de inmediato a la hora de establecer conexión, antes tocaba esperar casi 1 minuto mientras conectaba, cuestión que le hace ver como una mejora notable. Además, de que se lee que en sus próximos lanzamientos estables integraran OpenVPN DCO qué dicen, es igual de rápido que WireGuard.
“La compatibilidad con WireGuard está integrada en el kernel de Linux y se ejecuta exclusivamente dentro del espacio del kernel. Esto ayuda a que sea tan rápido como en los dispositivos Linux.
OpenVPN (sin DCO), por otro lado, tiene que copiar sus paquetes de datos desde el espacio del kernel al espacio del usuario para descifrarlos. Luego debe volver a cifrarlos y copiarlos nuevamente al espacio del kernel para enviarlos a su destino final.
No hace falta decir que estos pasos adicionales ralentizan considerablemente todo el proceso. Un problema adicional es que OpenVPN utiliza procesamiento de un solo subproceso en el espacio del usuario, lo que significa que las instrucciones se procesan una a la vez.
OpenVPN DCO es un módulo del kernel cargable que (al igual que WireGuard) permite que toda la operación se realice dentro del espacio del kernel. Esto no solo elimina la necesidad de copiar datos dentro y fuera del espacio del usuario, sino que también reduce la cantidad de llamadas al sistema necesarias. Cada una de estas llamadas al sistema añade retraso, un problema exacerbado por la creciente necesidad en los últimos años de parchear las vulnerabilidades de la CPU.
Un beneficio adicional es que el procesamiento dentro del espacio del kernel permite a OpenVPN utilizar procesamiento multiproceso (muchos procesos se ejecutan a la vez)”.
De tener muy en cuenta qué, se duda de la seguridad de OpenVPN debido a su largo recorrido, esto se debe a documentos filtrados por Edward Snowden en 2013, que mostraban que la NSA podía descifrar la mayoría de los protocolos VPN utilizados en ese momento. Los documentos mostraron que podía descifrar OpenVPN, pero sólo si se empleaba una clave previamente compartida.
Al igual acá les dejo un excelente artículo escrito por Douglas Crawford acerca de la seguridad de OpenVPS vs WireGuard, merece la pena leerlo.
Gracias por leer y esperemos que continúe mejorando dicha integración con GNU/Linux.