OpenVPN 2.6.0 ya fue liberado y llega con una gran cantidad de cambios

enero 25, 2023 0 Comments

OpenVPN

OpenVPN es una herramienta de conectividad basada en software libre: SSL, VPN Virtual Private Network.

Después de dos años y medio desde la publicación de la rama 2.5, se dio a conocer el lanzamiento de la nueva version de OpenVPN 2.6.0, un paquete para crear redes privadas virtuales que permite organizar una conexión encriptada entre dos máquinas cliente o proporcionar un servidor VPN centralizado para múltiples clientes para trabajar simultáneamente.

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.

Principales novedades de OpenVPN 2.6.0

En la nueva versión se destaca que el módulo kernel ovpn-dco está incluido en el paquete, lo que puede acelerar significativamente el rendimiento de VPN.

La aceleración se logra moviendo todas las operaciones de encriptación, el procesamiento de paquetes y la administración del canal de comunicación al lado del kernel de Linux, lo que permite deshacerse de la sobrecarga asociada con el cambio de contexto, hace posible optimizar el trabajo accediendo directamente al kernel interno, ademas de ello la API y elimina la transferencia lenta de datos entre el kernel y el espacio del usuario (el módulo realiza el cifrado, el descifrado y el enrutamiento sin enviar tráfico a un controlador en el espacio del usuario).

En las pruebas realizadas, en comparación con la configuración basada en la interfaz tun, el uso del módulo en el lado del cliente y del servidor utilizando el cifrado AES-256-GCM permitió lograr un aumento en el rendimiento de 8 veces (de 370 Mbit/s a 2950 Mbit/s). Al usar el módulo solo en el lado del cliente, el rendimiento aumentó tres veces para el tráfico saliente y no cambió para el tráfico entrante. Al usar el módulo solo en el lado del servidor, el rendimiento aumentó 4 veces para el tráfico entrante y un 35 % para el saliente.

Otro de los cambios que se destaca de la nueva versión es que se proporciona la capacidad de usar el modo TLS con certificados autofirmados (al usar la opción «–peer-fingerprint», puede omitir los parámetros «–ca» y «–capath» y prescindir de iniciar un servidor PKI basado en en Easy-RSA o software similar).

Ademas de ello, tambien se destaca que el servidor UDP implementa un modo de negociación de conexión basado en cookies que utiliza una cookie basada en HMAC como identificador de sesión, lo que permite que el servidor realice una verificación sin estado.

Por otra parte, agregó soporte para compilar con la biblioteca OpenSSL 3.0, ademas de que se agregó la opción «–tls-cert-profile insecure» para seleccionar el nivel mínimo de seguridad de OpenSSL.

Tambien podremos encontrar que se agregaron los nuevos comandos de control remote-entry-count y remote-entry-get para contar la cantidad de conexiones externas y enumerarlas.

En el proceso de negociación de claves, el mecanismo EKM (Exported Keying Material, RFC 5705) es ahora un método de mayor prioridad para obtener material de generación de claves, en lugar del mecanismo OpenVPN PRF específico. EKM requiere la biblioteca OpenSSL o mbed TLS 2.18+.

Se proporciona compatibilidad con OpenSSL en modo FIPS, lo que permite usar OpenVPN en sistemas que cumplen con los requisitos de seguridad de FIPS 140-2.

De los demás cambios que se destacan de la nueva version:

  • mlock implementa la comprobación de una asignación de memoria suficiente. Si hay menos de 100 MB de RAM disponible, se llama a setrlimit() para aumentar el límite.
  • Se agregó la opción «–peer-fingerprint» para validar o vincular el certificado por huella digital según el hash SHA256, sin usar tls-verify.
  • Para scripts, se brinda la posibilidad de autenticación diferida, implementada mediante la opción «–auth-user-pass-verify». Se agregó soporte para informar al cliente sobre la autenticación pendiente cuando se usa la autenticación retrasada en scripts y complementos.
  • Se agregó el modo de compatibilidad (–compat-mode) para permitir la conexión a servidores más antiguos que ejecutan OpenVPN 2.3.xo anterior.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.