Os aspetos técnicos
Tem curiosidade sobre protocolos, primitivas e outros detalhes que constituem a Mullvad VPN? Aqui tem!
Protocolos VPN na aplicação
Oferecemos suporte a dois protocolos para o túnel VPN, OpenVPN e WireGuard:
- Limitamos o OpenVPN ao TLS 1.3 (para o canal de controlo) e ao AES-256-GCM (para o canal de dados). Isto está implementado em OpenSSL.
- Para WireGuard, usamos a implementação padrão do kernel Linux, se disponível. Caso contrário, usamos wireguard-go.
Ligação API da aplicação
A app usa TLS 1.2 ou 1.3, implementada em Rustls*, para encriptar a comunicação com a API. Isto fornece duas funcionalidades:
- A ligação usa o pinning de certificado para evitar ataques MitM.
- Para contornar o spoofing de DNS, a app não usa DNS para obter o IP para a API.
*No iOS, é usado o TLS padrão compatível com URLSession Firewall e segurança da aplicação
A app impede fugas e permite a funcionalidade Kill Switch ao integrar com a firewall do sistema (WFP no Windows, NFTables no Linux e PF em macOS). Saiba mais na nossa página no GitHub
Arquitetura da aplicação
Para limitar a quantidade de código executado como utilizador privilegiado, a app está dividida em duas partes:
- front-ends sem privilégios (incluindo uma CLI))
- um serviço de sistema privilegiado que funciona em segundo plano e supervisiona túneis e segurança do dispositivo.
Saiba mais na nossa página no GitHub Servidores
Em todos os nossos servidores, especificámos configurações padrão e ordens de prioridade de encriptação, para fornecer a encriptação mais forte disponível para cada protocolo de túnel.
Servidores OpenVPN
Os nossos servidores OpenVPN têm as seguintes características:
Servidores WireGuard
Wireguard é opinativo e oferece apenas um conjunto de primitivos criptográficos. Consulte o site da WireGuard para mais detalhes.
Servidores de ponte
As nossas pontes facilitam a ligação ao nosso site, à API e aos servidores OpenVPN e WireGuard em locais onde o acesso a eles está bloqueado. As nossas configurações dificultam ou tornam impossível aceder a tudo o que não esteja encriptado por elas, por isso o tipo de encriptação utilizado é pouco importante.
Bloqueio de servidor
Para protegermos os nossos clientes, nós próprios e a qualidade do nosso serviço, reservamos o direito de bloquear portas ou qualquer endereço IP. Bloqueamos o tráfego de saída em todos os momentos para as seguintes portas:
- porta 25 – para prevenir spam
- portas 137, 138, 139, 445 – para proteger os clientes de um problema de segurança Microsoft SMB/CIFS
- portas 1900 e 2869 – para proteger os clientes da configuração maliciosa da UPNP.