Los aspectos técnicos
¿Quiere conocer los protocolos, primitivas y otros detalles técnicos sobre las tecnologías que usamos en Mullvad VPN? ¡Aquí los tiene!
Protocolos de VPN en la aplicación
Admitimos dos protocolos para el túnel VPN, OpenVPN y WireGuard:
- Limitamos OpenVPN a TLS 1.3 (para el canal de control) y AES-256-GCM (para el canal de datos). Esto se implementa en OpenSSL.
- Para WireGuard, usamos la implementación estándar del kernel de Linux (si está disponible). De lo contrario, usamos wireguard-go.
Conexión a la API de la aplicación
Para cifrar la comunicación con la API, la aplicación usa TLS 1.2 o 1.3 implementado en Rustls*. Esto ofrece dos ventajas:
- La conexión usa la asignación de certificados para impedir ataques del tipo «Man in the middle».
- Con el fin de evitar la suplantación de DNS, la aplicación usa DNS para obtener la dirección IP para la API.
*En iOS, se utiliza el protocolo TLS predeterminado compatible con URLSession Firewall y seguridad de la aplicación
La aplicación impide filtraciones y permite usar la función de desconexión de seguridad, ya que se integra con el firewall del sistema (WFP en Windows, nftables en Linux, y PF en macOS). Más información en la página de GitHub
Arquitectura de la aplicación
Para limitar la cantidad de código que se ejecuta como usuario con privilegios, la aplicación se divide en dos partes:
- front-ends sin privilegios (incluida una CLI))
- un servicio de sistema con privilegios que se ejecuta en segundo plano y supervisa la seguridad del dispositivo y los túneles.
Más información en la página de GitHub Servidores
En todos nuestros servidores, usamos configuraciones predeterminadas específicas y órdenes de prioridad de cifrado para ofrecer el cifrado más seguro disponible para cada protocolo de tunelización.
Servidores de OpenVPN
Nuestros servidores de OpenVPN tienen las siguientes características:
Servidores de WireGuard
WireGuard es conservador y ofrece solo un conjunto de primitivas criptográficas. Para obtener más información, consulte el sitio web de WireGuard.
Servidores puente
Nuestros puentes permiten conectarse a nuestro sitio web, la API y los servidores de OpenVPN y WireGuard en ubicaciones donde el acceso a estos esté bloqueado. Nuestras configuraciones hacen que sea difícil o imposible acceder a través de estos sin cifrado, por lo que el tipo de cifrado usado no es relevante.
Bloqueo de servidores
Para proteger el servicio y a nuestros clientes, y para garantizar la calidad del servicio, nos reservamos el derecho de bloquear cualquier puerto o dirección IP. Bloqueamos todo el tráfico de salida a los puertos siguientes:
- puerto 25: para impedir el envío de correo no deseado
- puerto 137, 138, 139 y 445: para proteger a nuestros clientes frente a un problema de seguridad de Microsoft SMB/CIFS
- puertos 1900 y 2869: para proteger a los clientes contra una configuración malintencionada de UPnP.