VpnHood!

Como o VpnHood funciona

O aplicativo VpnHood direciona o tráfego do dispositivo por um túnel criptografado até o seu servidor, que o encaminha para a internet. Veja abaixo todo o trajeto desse tráfego.

Como o tráfego navega Os dispositivos dos usuários enviam o tráfego por um túnel criptografado até o seu servidor, que o direciona aos sites. Os sites veem o seu servidor, não os seus usuários. Túnel criptografado estruturado como HTTPS Para a internet Seus usuários VpnHood! CLIENT Seu servidor VpnHood! SERVER Sites Os sites veem o seu servidor, não os seus usuários
Como o tráfego navega Os dispositivos dos usuários enviam o tráfego por um túnel criptografado até o seu servidor, que o direciona aos sites. Os sites veem o seu servidor, não os seus usuários. Túnel criptografado estruturado como HTTPS Para a internet Seus usuários VpnHood! CLIENT Seu servidor VpnHood! SERVER Sites Os sites veem o seu servidor, não os seus usuários

No dispositivo

O aplicativo captura o tráfego do dispositivo por meio do adaptador de rede virtual padrão para aplicativos VPN. Ele lida com três tipos de tráfego: TCP, UDP e ping. Qualquer outro tipo de pacote é descartado.

O túnel dividido também funciona diretamente no dispositivo. O tráfego filtrado por aplicativo, país, domínio ou endereço vai direto para a internet e nunca chega ao seu servidor. Veja as opções em Túnel dividido.

O aplicativo também configura o DNS do dispositivo: usa os servidores DNS definidos pelo usuário ou os do seu servidor (DNS público do Google por padrão). As consultas permanecem protegidas dentro do túnel, mesmo que o túnel dividido exclua o site correspondente.

O túnel

Por padrão, o aplicativo se conecta à porta TCP do servidor, 443 a menos que você a altere, via TLS — a mesma criptografia do HTTPS — e se comunica por meio de mensagens WebSocket, como as aplicações web. Tudo dentro do túnel é criptografado com TLS, do primeiro ao último byte.

Antes de enviar qualquer dado, o aplicativo valida o certificado do servidor. Ele aceita certificados emitidos por uma autoridade certificadora para o domínio da chave de acesso ou um certificado exato que coincida com a impressão digital da chave. É por isso que o servidor pode operar com certificados autoassinados e as chaves continuam funcionando após a renovação de um certificado confiável.

Nas configurações de protocolo do aplicativo, é possível escolher UDP ou QUIC em vez de TCP. O UDP transmite os pacotes do dispositivo para a porta UDP do servidor em datagramas criptografados com AES-GCM. O QUIC transmite os mesmos dados do TCP, mas sobre QUIC com TLS integrado. O servidor informa ao aplicativo quais protocolos estão disponíveis, e o aplicativo usa TCP caso a opção escolhida não seja suportada, como atrás de um proxy reverso. No entanto, se a rede bloquear a porta UDP, o tráfego será interrompido até que o usuário volte para o TCP.

Qualquer solicitação ao seu servidor que não venha de um aplicativo VpnHood receberá apenas um erro HTTP genérico, como uma página restrita que exige autenticação.

TCP: em pacotes ou uma requisição por conexão

Por padrão, o aplicativo transmite o tráfego TCP em pacotes pelo túnel, e o servidor os repassa para a internet por meio do seu adaptador de rede, operando como um roteador. Este é o método mais veloz e que consome menos bateria.

No Cloak Mode, o aplicativo finaliza cada conexão no próprio dispositivo e faz uma requisição própria para que o servidor a abra. O servidor então conecta-se ao site de destino e retransmite os dados. Para quem analisa a rede, o tráfego deixa de parecer um único túnel contínuo e se assemelha a requisições normais de um navegador. Esse modo consome um pouco mais de velocidade e bateria, e o aplicativo reutiliza cada conexão concluída para a requisição seguinte.

O aplicativo também opera dessa forma sem o Cloak Mode: quando o servidor não possui um adaptador de rede próprio, como no Docker, ou quando o usuário utiliza o túnel dividido por domínio.

UDP e ping

O tráfego UDP é transmitido em pacotes pelo túnel, independentemente do protocolo configurado. O mesmo vale para o ping — e apenas para ele: o aplicativo processa requisições de eco e descarta os demais pacotes ICMP. O servidor os reencaminha por meio de seu adaptador de rede ou, caso não possua um, por sockets próprios, executando o ping em nome do dispositivo.

No servidor

Instalado no Linux, o VpnHood! SERVER utiliza um adaptador de rede próprio e encaminha pacotes para a internet via NAT, funcionando como um roteador. Em contêineres Docker sem esse adaptador, o servidor funciona como um proxy: os aplicativos enviam conexões TCP individualmente por requisição, e o servidor gerencia cada conexão, socket UDP e ping. A troca para esse modo é feita automaticamente pelo aplicativo.

Em qualquer um dos modos, ele nunca encaminha tráfego para os seus próprios endereços nem para as redes locais onde está conectado.

É preciso manter a porta TCP aberta, além da porta UDP definida na primeira inicialização para clientes em UDP. O QUIC vem desativado por padrão. Veja como localizar sua porta UDP em Definir os endereços IP do servidor.

Um servidor gerenciado conecta-se ao VpnHood! MANAGER via HTTPS em access.vpnhood.com para validar chaves de acesso a cada nova conexão e registrar o consumo. O MANAGER nunca inicia conexões com o servidor, e os aplicativos nunca falam diretamente com o MANAGER. O MANAGER também pode redistribuir conexões para outros servidores do cluster. Já servidores independentes (standalone) validam as chaves em arquivos locais.

O que contém uma chave de acesso

A chave de acesso contém tudo que o aplicativo necessita para localizar e validar seu servidor: domínio, endereços IP, porta, identificação ou impressão digital do certificado e o segredo da chave. Trata-se de um formato codificado, não criptografado: quem tiver a chave poderá ler os endereços do servidor e se conectar. Compartilhe chaves apenas com pessoas de confiança e confira Como evitar o bloqueio do IP do seu servidor para entender os riscos de exposição de endereço.

Próximos passos