OpenVPN 2.5.0 ya fue liberado y llega con una gran cantidad de cambios
Después de casi cuatro años desde la publicación de la rama 2.4 y de la cual se estuvieron lanzando versiones menores (correcciones de errores y algunas características adicionales) se preparó el lanzamiento de OpenVPN 2.5.0.
Esta nueva version llega con una gran cantidad de cambios importantes, de los cuales los mas interesantes que podremos encontrar son relacionados con los cambios en el cifrado, así como la transición hacia IPv6 y la adopcion de nuevos protocolos.
Sobre OpenVPN
Para quienes desconocen de OpenVPN, deben saber que esta es una herramienta de conectividad basada en software libre, SSL (Secure Sockets Layer), VPN Virtual Private Network (red virtual privada).
OpenVPN ofrece conectividad punto-a-punto con validación jerárquica de usuarios y host conectados remotamente. Resulta una muy buena opción en tecnologías Wi-Fi (redes inalámbricas IEEE 802.11) y soporta una amplia configuración, entre ellas balanceo de cargas.
OpenVPN es una herramienta multiplataforma que ha simplificado la configuración de VPN’s frente a otras más antiguas y difíciles de configurar como IPsec y haciéndola más accesible para gente inexperta en este tipo de tecnología.
Principales novedades de OpenVPN 2.5.0
De los cambios mas importantes podremos encontrar que esta nueva version de OpenVPN 2.5.0 se admite el cifrado de enlace de datos mediante el cifrado de flujo ChaCha20 y el algoritmo de autenticación de mensajes (MAC) Poly1305 que se posicionan como contrapartes más rápidas y seguras de AES-256-CTR y HMAC, cuya implementación de software permite lograr tiempos de ejecución fijos sin el uso de soporte de hardware especial.
La capacidad de proporcionar a cada cliente una clave tls-crypt única, que permite a las grandes organizaciones y proveedores de VPN utilizar la misma protección de pila TLS y técnicas de prevención DoS que estaban disponibles anteriormente en configuraciones pequeñas utilizando tls-auth o tls-crypt.
Otro cambio importante, es el mecanismo mejorado para negociar el cifrado utilizado para proteger el canal de transmisión de datos. Se renombró ncp-ciphers a data-ciphers para evitar ambigüedades con la opción tls-cipher y para enfatizar que se prefiere data-ciphers para configurar cifrados de canal de datos (el nombre antiguo se ha conservado por compatibilidad).
Los clientes ahora envían una lista de todos los cifrados de datos que admiten al servidor mediante la variable IV_CIPHERS, que permite al servidor seleccionar el primer cifrado compatible con ambos lados.
El soporte de cifrado BF-CBC se ha eliminado de la configuración predeterminada. OpenVPN 2.5 ahora solo acepta AES-256-GCM y AES-128-GCM de forma predeterminada. Este comportamiento se puede cambiar utilizando la opción de cifrado de datos. Al actualizar a una versión más reciente de OpenVPN, la configuración de cifrado BF-CBC en los archivos de configuración antiguos se convertirá para agregar BF-CBC al conjunto de cifrado de datos y el modo de respaldo de cifrado de datos habilitado.
Se agregó soporte para la autenticación asíncrona (diferida) al complemento auth-pam. De manera similar, la opción «–client-connect» y la API para conectar complementos agregaron la capacidad de aplazar la devolución del archivo de configuración.
En Linux, se agregó soporte para interfaces de red de enrutamiento y reenvío virtual (VRF). La opción «–bind-dev» se proporciona para colocar un conector externo en VRF.
Soporte para configurar direcciones IP y rutas usando la interfaz Netlink proporcionada por el kernel de Linux. Netlink se utiliza cuando se construye sin la opción «–enable-iproute2» y permite ejecutar OpenVPN sin los privilegios adicionales necesarios para ejecutar la utilidad «ip».
El protocolo agregó la capacidad de usar autenticación de dos factores o autenticación adicional a través de la Web (SAML), sin interrumpir la sesión después de la primera verificación (después de la primera verificación, la sesión permanece en el estado «no autenticado» y espera a que se complete la segunda etapa de autenticación).
De los demás cambios que se destacan:
- Ahora puede trabajar solo con direcciones IPv6 dentro del túnel VPN (anteriormente era imposible hacerlo sin especificar direcciones IPv4).
- Capacidad para vincular configuraciones de cifrado de datos y cifrado de datos de reserva a clientes desde el script de conexión de cliente.
- Posibilidad de especificar el tamaño de MTU para la interfaz tun / tap en Windows.
Soporte para elegir el motor OpenSSL para acceder a la clave privada (por ejemplo, TPM).
La opción «–auth-gen-token» ahora admite la generación de tokens basada en HMAC. - Posibilidad de usar máscaras de red / 31 en la configuración de IPv4 (OpenVPN ya no intenta configurar una dirección de transmisión).
- Se agregó la opción «–block-ipv6» para bloquear cualquier paquete IPv6.
- Las opciones «–ifconfig-ipv6» y «–ifconfig-ipv6-push» permiten especificar el nombre de host en lugar de la dirección IP (la dirección se determinará mediante DNS).
- Soporte TLS 1.3. TLS 1.3 requiere al menos OpenSSL 1.1.1. Se agregaron las opciones «–tls-ciphersuites» y «–tls-groups» para ajustar los parámetros de TLS.