O WireGuard surgiu como resposta à principal crítica ao OpenVPN e ao IPsec: eles são grandes demais. Centenas de milhares de linhas de código, anos de auditoria, configuração complicada. O WireGuard coube em cerca de quatro mil linhas, e é isso que determina quase tudo o mais.
Resposta curta
O WireGuard é um protocolo VPN compacto sobre UDP, com um conjunto fixo de criptografia. Ele estabelece a conexão rapidamente, exige pouco do processador e é fácil de verificar. Mascarar o tráfego não é algo que ele sabe fazer, e esse nunca foi o objetivo.
Criptografia fixa
Os protocolos antigos negociam os algoritmos na hora da conexão: as partes listam o que suportam e escolhem um conjunto em comum. Isso é flexível, mas foi justamente nessa etapa que historicamente surgiram vulnerabilidades, por exemplo quando era possível forçar uma variante mais fraca.
O WireGuard seguiu outro caminho: o conjunto de algoritmos está embutido no protocolo, não há nada a negociar. Se um algoritmo ficar obsoleto, será lançada uma nova versão do protocolo, em vez de manter o antigo por compatibilidade. Há menos flexibilidade, mas também menos superfície de ataque.
Roteamento criptográfico
É a ideia central. Cada participante tem um par de chaves, e a cada chave pública está associada uma lista de endereços permitidos. Quando um pacote chega, o servidor vê com qual chave ele foi assinado e verifica se o endereço do remetente é permitido para essa chave. Se não for, o pacote é descartado.
A verificação de autenticidade e o roteamento acabam sendo uma única operação, e não duas. Daí vêm a velocidade e a simplicidade: não existe um subsistema separado de regras de acesso.
Por que a conexão é estabelecida rapidamente
O handshake leva uma troca de mensagens em cada direção. O OpenVPN gasta várias trocas no handshake TLS. Em uma boa conexão a diferença passa despercebida, mas na internet móvel com latência ela é bem perceptível.
Quer se livrar dos bloqueios?
8 horas grátis, sem cadastrar cartão. Acesso completo a todos os servidores.
Discrição
O WireGuard não responde a pacotes de remetentes desconhecidos. A varredura de portas não dá resultado: o servidor simplesmente fica em silêncio, e de fora não dá para saber se há algo ali. Isso protege contra tentativas em massa, mas não ajuda contra a análise de uma conexão já estabelecida.
Onde está o ponto fraco
- O tráfego é reconhecível. Os pacotes do WireGuard têm uma estrutura característica. Onde as conexões são filtradas por tipo, isso se torna decisivo.
- Somente UDP. Em redes onde o UDP é limitado ou bloqueado, o protocolo simplesmente não sobe.
- Endereços na memória do servidor. Por padrão, o servidor guarda a correspondência "chave — último endereço" e não a apaga de imediato. Para os operadores do serviço isso se resolve com configuração, mas o comportamento padrão é esse.
Quando o WireGuard é a escolha certa
Rede doméstica ou de escritório sem filtragem, com o objetivo de ter velocidade e estabilidade. Conexão entre os seus próprios servidores. Acesso a uma rede de trabalho em que você controla os dois lados. Em todos esses casos, a simplicidade e o desempenho trabalham a seu favor.
Por que ele não está no VolnaLink
Nas redes para as quais o serviço foi pensado, o fato de o tráfego ser reconhecível pesa mais do que alguns pontos percentuais de velocidade. Por isso usamos VLESS Reality, Trojan e Hysteria 2, protocolos em que o mascaramento faz parte do objetivo. O aplicativo escolhe entre eles automaticamente.